С initrd, полученным с помощью make-initrd не загружается система. initrd, сгенерённый mkinitrd для того -же ядра грузится без проблем. К сожалению, там, где это воспроизводится, невозможно отлаживаться. Но я могу предоставить любую информацию из загруженной системы.
Для начала приложи результат: make-initrd bug-report
Created attachment 4693 [details] make-initrd-bugreport
У тебя корень на hda1 (по версии blkid), но в /sys и /proc/partitions я его не вижу.
Странная у blkid версия о корне. Корень у меня на sda1, он же, по версии blkid: /dev/sda1: UUID="b24807b1-a56e-4427-b82a-d6245392c81c" TYPE="ext3" Откуда make-initrd bugreport берёт blkid ???
(В ответ на комментарий №4) > Откуда make-initrd bugreport берёт blkid ??? Он берёт blikd.tab. Сейчас исправил багу чтобы в репорт попадал 'blkid -c /dev/null'. Можешь приложить рабочий и нерабочий initrd ?
# blkid -c /dev/null /dev/sda1: UUID="b24807b1-a56e-4427-b82a-d6245392c81c" TYPE="ext3" /dev/sda2: UUID="290c9116-0bde-40f8-a475-6b08942ac1b7" TYPE="swap" /dev/sdb1: UUID="s1nYzX-Ndav-fvY9-2qes-hHf9-74Qc-QPtqYT" TYPE="LVM2_member" /dev/sdd1: UUID="WD1aYa-aSz2-TEIA-19Ie-cqSr-J3Nf-gfpvL0" TYPE="LVM2_member" /dev/sde1: UUID="gTY8fg-2FSf-oGcr-sbMd-a00j-3mN2-MCDg6J" TYPE="LVM2_member" /dev/sdc1: UUID="wAejqO-wht0-Yi9g-2Xh8-HnXp-pWvE-Eu7gY3" TYPE="LVM2_member" /dev/mapper/ftpn-ftpn: UUID="f6467521-566b-4b3d-8551-0da433559148" TYPE="xfs" initrd только от разных ядер, от одного не смогу ;)
Также можешь попробовать добавить в конфиг: FEATURES += ide-to-scsi перегенерировать initrd и попробовать результат ?
Created attachment 4694 [details] initrd-2.6.35-std-def-alt8.img Рабочий
Created attachment 4695 [details] initrd-2.6.35-un-def-alt9.img нерабочий
(В ответ на комментарий №7) > Также можешь попробовать добавить в конфиг: > > FEATURES += ide-to-scsi > > перегенерировать initrd и попробовать результат ? Всё могу, кроме "попробовать результат" ;( Зачем там ide-to-scsi ?
(В ответ на комментарий №10) > Всё могу, кроме "попробовать результат" ;( Тогда как предполагаешь проверять исправлен ли make-initrd ? > Зачем там ide-to-scsi ? Эта фича, как я считаю исправит initrd.
сложный вопрос. Пока не знаю. Надо выбраться в эту серверную и поэкспериментировать, когда буду уверен что есть работающее исправление. Пока такой уверенности нет. А эта фича точно не исправит. вот lsmod с текущего ядра, которое тоже не грузилось с make-initrd и загрузилось с mkinitrd. Тут видно, что ide модули у меня давно висят в blacklist. # lsmod Module Size Used by nfsd 234952 13 lockd 62121 1 nfsd nfs_acl 2185 1 nfsd auth_rpcgss 33115 1 nfsd af_packet 15919 2 hwmon_vid 2270 0 eeprom 4071 0 sunrpc 197585 13 nfsd,lockd,nfs_acl,auth_rpcgss ip_gre 12622 0 ebt_among 2215 4 ebt_arp 1557 6 ebt_ip 1294 6 bridge 61255 0 stp 1563 1 bridge llc 4392 2 bridge,stp ebtable_filter 1431 1 ebtables 15278 1 ebtable_filter iptable_nat 5027 1 nf_nat 18618 1 iptable_nat iptable_mangle 2583 1 xfs 885384 1 exportfs 3441 2 nfsd,xfs dm_mod 63859 6 ppdev 7335 0 parport_pc 19348 0 parport 31051 2 ppdev,parport_pc i2c_i801 9222 0 asus_atk0110 12954 0 hwmon 1872 1 asus_atk0110 i2c_core 25862 2 eeprom,i2c_i801 sg 24682 0 8139too 26428 0 sky2 40129 0 mii 4289 1 8139too tun 13481 2 ext3 116892 1 jbd 44054 1 ext3 mbcache 5918 1 ext3 ata_generic 2555 0 ata_piix 19016 6 pata_acpi 2455 0 sd_mod 33376 11 crc_t10dif 1223 1 sd_mod
(В ответ на комментарий №12) > сложный вопрос. Пока не знаю. Надо выбраться в эту серверную и > поэкспериментировать, когда буду уверен что есть работающее исправление. Пока > такой уверенности нет. Тогда я не знаю как помочь. У меня нет стенда с такой нерабочей конфигурацией. Поэтому гарантий дать не могу. > вот lsmod с текущего ядра, которое тоже не грузилось с make-initrd и > загрузилось с mkinitrd. Тут видно, что ide модули у меня давно висят в > blacklist. Я вижу, что в нерабочем образе не хватает sd_mod, который загружен в системе и присутствует в рабочем образе. Такое происходит из-за ide модулей.
да, похоже что в этом дело. Осталось только понять, почему логика mkinitrd сработала, а make-initrd нет ? завтра дойду до серверной и перегружу сервер с обновлённым initrd. Кстати, после изменения конфига зачем-то ещё влетел cdrom и sr_mod # diff -u a2 a1 --- a2 2010-12-07 23:24:53.000000000 +0300 +++ a1 2010-12-07 23:24:45.000000000 +0300 @@ -22,7 +22,9 @@ lib/modules/2.6.35-un-def-alt9/kernel/fs lib/modules/2.6.35-un-def-alt9/kernel/fs/ext3 lib/modules/2.6.35-un-def-alt9/kernel/fs/jbd +lib/modules/2.6.35-un-def-alt9/kernel/lib lib/modules/2.6.35-un-def-alt9/kernel/drivers +lib/modules/2.6.35-un-def-alt9/kernel/drivers/cdrom lib/modules/2.6.35-un-def-alt9/kernel/drivers/ata lib/modules/2.6.35-un-def-alt9/kernel/drivers/scsi etc @@ -120,10 +122,14 @@ lib/modules/2.6.35-un-def-alt9/kernel/fs/ext3/ext3.ko lib/modules/2.6.35-un-def-alt9/kernel/fs/jbd/jbd.ko lib/modules/2.6.35-un-def-alt9/kernel/fs/mbcache.ko +lib/modules/2.6.35-un-def-alt9/kernel/lib/crc-t10dif.ko +lib/modules/2.6.35-un-def-alt9/kernel/drivers/cdrom/cdrom.ko lib/modules/2.6.35-un-def-alt9/kernel/drivers/ata/pata_acpi.ko lib/modules/2.6.35-un-def-alt9/kernel/drivers/ata/ata_piix.ko lib/modules/2.6.35-un-def-alt9/kernel/drivers/ata/ata_generic.ko lib/modules/2.6.35-un-def-alt9/kernel/drivers/ata/libata.ko +lib/modules/2.6.35-un-def-alt9/kernel/drivers/scsi/sr_mod.ko +lib/modules/2.6.35-un-def-alt9/kernel/drivers/scsi/sd_mod.ko lib/modules/2.6.35-un-def-alt9/kernel/drivers/scsi/scsi_mod.ko
(В ответ на комментарий №14) > да, похоже что в этом дело. Осталось только понять, почему логика mkinitrd > сработала, а make-initrd нет ? Потому что mkinitrd пользуется эвристикой (если это можно так назвать) для того чтобы определить список модулей. make-initrd пользуется sysfs и modalias. > Кстати, после изменения конфига зачем-то ещё влетел cdrom и sr_mod Какого изменения ?
FEATURES += ide-to-scsi эвристика, видимо, иногда полезна.
(В ответ на комментарий №16) > FEATURES += ide-to-scsi > > эвристика, видимо, иногда полезна. Это не эвристика: $ cat ide-to-scsi/rules.mk BLACKLIST_MODULES += ide-generic ide-core ide-gd_mod MODULES_ADD += sd_mod sr_mod scsi_mod этот модуль блокирует ide модули добавляет scsi модули. Собственно, отсюда и модуль cdrom: $ modprobe --show-depends sr_mod |sed 's,^.*/kernel/,,' drivers/cdrom/cdrom.ko drivers/scsi/scsi_mod.ko drivers/scsi/sr_mod.ko
я про эвристику в mkinitrd. sd_mod надо всегда добавлять.
Не всегда. В "обычной" системе этот модуль вытягивается сам.
Я думаю, что багу уже можно закрыть.