ПРАКТИКА УСТАНОВКИ ASPLinux-9.2 НА SATA ДИСК В Enchanced Mode (НЕ В ЭМУЛЯЦИИ S-ATA -> P-ATA).
Материнская плата: ASUS P4P800 с чипсетом Intel 865PE MCH, Intel ICH5-R
Винт Samsung SP8012C SATA 80Gb
Грузимся с первого диска. Ждем выбора языка .
Жмем несколько раз Ctrl+Alt+F2 для перехода в консоль
В консоле набираем:
# modprobe ata_piix
# detect probe
# mkbiosdisks
Все, SATA вит должен быть виден в системе как SCSI (/dev/sda - если он только один в системе)
Теперь жмем Alt+F7 для возврата в графический инсталятор.
Продолжаем установку как обычно.
Перегружаемся и видим: kernel panic! Жаль... Не монтируется корень...
Запоминаем путь к устройству с корнем, на которое поругалось ядро (например /dev/sda2)
Снова грузимся с первого диска.
На приглашение загрузчика жмем Esc и выбираем самый последний пункт меню "Recovery Console"
после загрузки даем команды:
# modprobe ata_piix
# detect probe
# mkbiosdisks
# modprobe ext3
# modprobe reiserfs
# modprobe xfs
Вспоминаем на каком разделе корень и монтируем его в /mnt
Допустим корень на /dev/sda2
# mount /dev/sda2 /mnt
# chroot /mnt
Если надо монтируем остальные разделы. Мне пригодились /usr /tmp и /boot
# mount /usr
# mount /tmp
# mount /boot
Я выбрал для удобства навигации и редактирования файлов Midnight Commander:
# mc
Переходим в /boot
Находим файл с рамдиском initrd-2.4.22-1.2154.nptl.asp.img (ИМЕННО С МИНУСОМ ПОСЛЕ initrd)
и переименовываем его в такой же, но с расширением .gz
# mv initrd-2.4.22-1.2154.nptl.asp.img initrd-2.4.22-1.2154.nptl.asp.img.gz
Распаковываем рамдиск
# gunzip initrd-2.4.22-1.2154.nptl.asp.img.gz
создаем каталог 1
# mkdir 1
монтируем рамдиск в каталог 1
# mount -o loop initrd-2.4.22-1.2154.nptl.asp.img 1
переходим в каталог 1/lib и наблюдаем там отсутствие модулей SATA
Надо их туда вложить! Переходим в каталог /lib/modules/2.4.22-1.2154.nptl.asp/kernel/drivers/scsi
и копируем оттуда в /boot/1/lib шесть файлов:
libata.o
ata_piix.o
scsi_mod.o
sd_mod.o
sr_mod.o
ide-scsi.o
Теперь редактируем файл /boot/1/linuxrc
отступаем строку после #!/bin/sh и пишем:
echo "Loading scsi_mod.o module"
insmod /lib/scsi_mod.o
echo "Loading sd_mod.o module"
insmod /lib/sd_mod.o
echo "Loading sr_mod.o module"
insmod /lib/sr_mod.o
echo "Loading libata.o module"
insmod /lib/libata.o
echo "Loading ata_piix.o module"
insmod /lib/ata_piix.o
Сохраняем файл, переходим в /boot и размонтируем 1
# umount 1
# rmdir 1
Сжимаем файл рамдиска
# gzip initrd-2.4.22-1.2154.nptl.asp.img
И переименовываем его, чтобы убрать расширение .gz
# mv initrd-2.4.22-1.2154.nptl.asp.img.gz initrd-2.4.22-1.2154.nptl.asp.img
Теперь переходим в каталог /etc и находим файл aspldr.conf
Ищем в нем название файла с рамдиском:
initrd /boot/initrd.2.4.22-1.2154.nptl.asp.imgи меняем на измененный рамдиск
initrd /boot/initrd-2.4.22-1.2154.nptl.asp.img
(суть замены - поменять точку после /boot/initrd на минус)
сохраняем, даем команду
# aspldr
Перегружаемся!
Ура!