Bug 24708 - не загружается сгенерённый initrd
Summary: не загружается сгенерённый initrd
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: make-initrd (show other bugs)
Version: unstable
Hardware: all Linux
: P3 major
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-12-07 21:30 MSK by Anton Farygin
Modified: 2010-12-27 02:08 MSK (History)
5 users (show)

See Also:


Attachments
make-initrd-bugreport (120.16 KB, application/x-bzip)
2010-12-07 21:59 MSK, Anton Farygin
no flags Details
initrd-2.6.35-std-def-alt8.img (825.36 KB, application/octet-stream)
2010-12-07 22:30 MSK, Anton Farygin
no flags Details
initrd-2.6.35-un-def-alt9.img (1.83 MB, application/octet-stream)
2010-12-07 22:32 MSK, Anton Farygin
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Farygin 2010-12-07 21:30:51 MSK
С initrd, полученным с помощью make-initrd не загружается система. initrd, сгенерённый mkinitrd для того -же ядра грузится без проблем.

К сожалению, там, где это воспроизводится, невозможно отлаживаться. Но я могу предоставить любую информацию из загруженной системы.
Comment 1 Alexey Gladkov 2010-12-07 21:46:57 MSK
Для начала приложи результат: make-initrd bug-report
Comment 2 Anton Farygin 2010-12-07 21:59:21 MSK
Created attachment 4693 [details]
make-initrd-bugreport
Comment 3 Alexey Gladkov 2010-12-07 22:09:48 MSK
У тебя корень на hda1 (по версии blkid), но в /sys и /proc/partitions я его не вижу.
Comment 4 Anton Farygin 2010-12-07 22:19:06 MSK
Странная у blkid версия о корне.

Корень у меня на sda1, он же, по версии blkid:
/dev/sda1: UUID="b24807b1-a56e-4427-b82a-d6245392c81c" TYPE="ext3" 

Откуда make-initrd bugreport берёт blkid ???
Comment 5 Alexey Gladkov 2010-12-07 22:25:25 MSK
(В ответ на комментарий №4)
> Откуда make-initrd bugreport берёт blkid ???

Он берёт blikd.tab. Сейчас исправил багу чтобы в репорт попадал 'blkid -c /dev/null'.

Можешь приложить рабочий и нерабочий initrd ?
Comment 6 Anton Farygin 2010-12-07 22:26:50 MSK
# 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 только от разных ядер, от одного не смогу ;)
Comment 7 Alexey Gladkov 2010-12-07 22:29:57 MSK
Также можешь попробовать добавить в конфиг:

FEATURES += ide-to-scsi

перегенерировать initrd и попробовать результат ?
Comment 8 Anton Farygin 2010-12-07 22:30:59 MSK
Created attachment 4694 [details]
initrd-2.6.35-std-def-alt8.img

Рабочий
Comment 9 Anton Farygin 2010-12-07 22:32:05 MSK
Created attachment 4695 [details]
initrd-2.6.35-un-def-alt9.img

нерабочий
Comment 10 Anton Farygin 2010-12-07 22:33:34 MSK
(В ответ на комментарий №7)
> Также можешь попробовать добавить в конфиг:
> 
> FEATURES += ide-to-scsi
> 
> перегенерировать initrd и попробовать результат ?

Всё могу, кроме "попробовать результат" ;(

Зачем там ide-to-scsi ?
Comment 11 Alexey Gladkov 2010-12-07 22:36:19 MSK
(В ответ на комментарий №10)
> Всё могу, кроме "попробовать результат" ;(

Тогда как предполагаешь проверять исправлен ли make-initrd ?
 
> Зачем там ide-to-scsi ?

Эта фича, как я считаю исправит initrd.
Comment 12 Anton Farygin 2010-12-07 22:45:39 MSK
сложный вопрос. Пока не знаю. Надо выбраться в эту серверную и поэкспериментировать, когда буду уверен что есть работающее исправление. Пока такой уверенности нет.

А эта фича точно не исправит.

вот 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
Comment 13 Alexey Gladkov 2010-12-07 23:05:23 MSK
(В ответ на комментарий №12)
> сложный вопрос. Пока не знаю. Надо выбраться в эту серверную и
> поэкспериментировать, когда буду уверен что есть работающее исправление. Пока
> такой уверенности нет.

Тогда я не знаю как помочь. У меня нет стенда с такой нерабочей конфигурацией. Поэтому гарантий дать не могу.

> вот lsmod с текущего ядра, которое тоже не грузилось с make-initrd и
> загрузилось с mkinitrd. Тут видно, что ide модули у меня давно висят в
> blacklist.

Я вижу, что в нерабочем образе не хватает sd_mod, который загружен в системе и присутствует в рабочем образе. Такое происходит из-за ide модулей.
Comment 14 Anton Farygin 2010-12-07 23:29:43 MSK
да, похоже что в этом дело. Осталось только понять, почему логика 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
Comment 15 Alexey Gladkov 2010-12-07 23:53:47 MSK
(В ответ на комментарий №14)
> да, похоже что в этом дело. Осталось только понять, почему логика mkinitrd
> сработала, а make-initrd нет ?

Потому что mkinitrd пользуется эвристикой (если это можно так назвать) для того чтобы определить список модулей. make-initrd пользуется sysfs и modalias.

> Кстати, после изменения конфига зачем-то ещё влетел cdrom и sr_mod

Какого изменения ?
Comment 16 Anton Farygin 2010-12-07 23:58:20 MSK
FEATURES += ide-to-scsi

эвристика, видимо, иногда полезна.
Comment 17 Alexey Gladkov 2010-12-08 00:05:52 MSK
(В ответ на комментарий №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
Comment 18 Anton Farygin 2010-12-08 00:13:29 MSK
я про эвристику в mkinitrd.

sd_mod надо всегда добавлять.
Comment 19 Alexey Gladkov 2010-12-08 00:17:29 MSK
Не всегда. В "обычной" системе этот модуль вытягивается сам.
Comment 20 Alexey Gladkov 2010-12-27 02:08:04 MSK
Я думаю, что багу уже можно закрыть.