On Wed, Nov 12, 2003 at 10:20:51AM +0300, BOBAH wrote: > Подскажите, уважаемые, почему установка этих ядер на комп с чипсетом > i875p, может приводить к "kernel-panic, unable to mount rootfs" ? > Сейчас совершенно спокойно работает kernel-image-std-smp-2.4.22-alt6 > Эксперименты с более старыми (alt5, alt6, smp, up) ядрами завершаются со > 100% успехом, всё работает как часы, > новые ядра на других компах тоже спокойно себе работают. > rootfs - ext3, хард hda - serial-ata Seagate, serial-ata контроллер > intel, работает в legacy mode. > С виду всё нормально, ядра до alt6 работают нормально, самособранные > ядра из rawhide тоже. В 2.4.22-std-*-alt7 были включены драйверы libata для поддержки Serial ATA. Один из патчей в libata добавляет распознавание Serial ATA в legacy mode и блокирует работу драйверов IDE с этим контроллером, чтобы модуль ata_piix смог получить к нему доступ. Кстати, разработчик этих драйверов (Jeff Garzik) не рекомендует использовать legacy mode, если есть возможность работать в native mode. Т.е. теперь для доступа к дискам нужно загружать модуль ata_piix; там используется эмуляция SCSI, поэтому диск переедет на /dev/sda. Необходимо обновить mkinitrd до 2.8.9-alt3 (в предыдущих версиях не было поддержки EXPORT_SYMBOL_GPL, поэтому модули libata из initrd не грузились с жалобами на unresolved symbols). Далее, загрузившись со старым ядром, добавьте в /etc/modules.conf: probeall scsi_hostadapter ata_piix (или добавьте ata_piix к списку для scsi_hostadapter, если там уже что-то есть). После этого поправьте /etc/fstab по поводу замены hda на sda (если используются файловые системы ext2/3 или xfs, можно использовать монтирование по LABEL или UUID вместо явного указания устройств). Затем пересоздайте initrd: mkinitrd -f -v /boot/initrd-2.4.22-std-up-alt8.img 2.4.22-std-up-alt8 (если по каким-то причинам модуль ata_piix не появится в списке - добавьте его через --preload ata_piix). В конфигурации загрузчика исправьте параметр root=... для нового ядра (тут тоже нужно заменить hda на sda).