У меня 2 компьютера, у которых не работает алгоритм автопоиска root (пытается загрузить модули ide, из-за этого компьютер вешается на этапе загрузки), поэтому я в /etc/initrd.mk прописал: AUTODETECT = common MODULES_ADD += crc-t10dif sd_mod libata ata_piix pata_acpi ata_generic xfs FEATURES += add-modules compress cleanup При обновлении с 0.8.0-alt1 до 0.8.1-alt1 происходит принудительное исправление автодетектирования на all, из-за этого ломается сборка initrd с получением такого режима загрузки: ... initrd: Generation fstab... initrd: Initialize lo interface... initrd: Starting sysklog... chdir: /etc/syslog.d: No such file or directory initrd: Loading modules before udevd... initrd: Starting udevd... initrd: Processing kernel events... <в этом месте большая временная пауза> initrd: loop: ERROR: /root: Not mounted initrd: Stage 'loop' failed initrd: This shell remains here for debug purposes. Press Ctrl-D to continue. (initramfs) По Ctrl-D происходит kernel panic из-за попытки закрыть процесс с PID=1. Не надо никаких автозамен работы make-initrd! P.S. Опечатка: вместо 'Generation fstab...' надо писать 'Generating fstab...'
После отката с 'all' на 'common' всё вернулось в норму.
Created attachment 5744 [details] initrd для 3.7.9-std-def-alt1 с AUTODETECT=all Образ загрузочного диска с режимом детектирования AUTODECT=all
Created attachment 5745 [details] initrd для 3.7.9-std-def-alt1 с AUTODETECT=common Загрузочный образ для 3.7.9-alt1 с AUTODETECT=common, остальное тоже самое.
Дело в том, что common теперь уже не тот, что в предыдущей версии. Наиболее близкий вариант при миграции это добавить вместо common новый all. В вашей конфигурации (учитывая добавление FEATURES) AUTODETECT вообще не нужен.
Вообще без AUTODETECT тоже не работает. :)
(В ответ на комментарий №5) > Вообще без AUTODETECT тоже не работает. :) С "AUTODETECT =" в /etc/initrd.mk ?
(В ответ на комментарий №6) > С "AUTODETECT =" в /etc/initrd.mk ? Со строкой AUTODETECT=common проблем меньше всего. Не могу понять, но мой вариант подобрался методом проб и ошибок. Почему-то совсем без AUTODETECT с предыдущими версиями make-initrd на некоторых ядрах загрузка не идёт. Закономерности в отказах не вижу. В результате при обновлении имеющийся AUTODETECT от предыдущей версии заменяется непонятно на что. Вы предлагаете проверить загрузку с образом, созданным совсем без AUTODETECT?
(В ответ на комментарий №7) > Не могу понять, но мой вариант подобрался методом проб и > ошибок. Почему-то совсем без AUTODETECT с предыдущими версиями make-initrd на > некоторых ядрах загрузка не идёт. Закономерности в отказах не вижу. Отключение AUTODETECT как в старой, так и в новой версии возлагает на вас обязанность прописать в конфиг абсолютно все модули. Единственное с чем поможет make-initrd, так это с зависимостями модулей, которые он запакует. Если вы что-нибудь забыли, то система не загрузится. > Вы предлагаете проверить загрузку с образом, созданным совсем без AUTODETECT? Если ide модули необходимы на этой машине, но мешают созданию образа, то попробуйте собрать initrd с вот таким конфигом: AUTODETECT = all FEATURES += ide-to-scsi P.S. Эта ошибка максимум Severity:major.
(В ответ на комментарий №8) > Отключение AUTODETECT как в старой, так и в новой версии возлагает на вас > обязанность прописать в конфиг абсолютно все модули. Единственное с чем поможет > make-initrd, так это с зависимостями модулей, которые он запакует. Начиная с версии 3.4, модули подсистемы ide почему-то вешают загрузку. Винчестер не определяется, поэтому нет корня и т.д. > Если вы что-нибудь забыли, то система не загрузится. Я как раз и прописал то, что мне нужно. > > Вы предлагаете проверить загрузку с образом, созданным совсем без AUTODETECT? > > Если ide модули необходимы на этой машине, но мешают созданию образа, то > попробуйте собрать initrd с вот таким конфигом: > > AUTODETECT = all > FEATURES += ide-to-scsi Модули ide как раз не нужны, их загрузка мешает, но возможно подключение ide-устройств, поэтому приходится модули держать в системе: # lsmod Module Size Used by ipv6 280669 20 8139too 19150 0 nouveau 803085 1 snd_intel8x0 25435 0 snd_ac97_codec 97109 1 snd_intel8x0 mxm_wmi 1522 1 nouveau wmi 8119 2 mxm_wmi,nouveau video 11030 1 nouveau ttm 58081 1 nouveau drm_kms_helper 34681 1 nouveau drm 217390 3 ttm,drm_kms_helper,nouveau uhci_hcd 20364 0 ehci_hcd 40061 0 usbcore 150362 2 uhci_hcd,ehci_hcd snd_pcm 74003 2 snd_ac97_codec,snd_intel8x0 snd_page_alloc 7219 2 snd_intel8x0,snd_pcm snd_timer 17275 1 snd_pcm snd 48541 4 snd_ac97_codec,snd_intel8x0,snd_timer,snd_pcm soundcore 849 1 snd mii 4395 1 8139too hwmon 1408 1 nouveau i2c_algo_bit 4998 1 nouveau skge 35585 0 ac97_bus 1011 1 snd_ac97_codec iTCO_wdt 4877 0 usb_common 802 1 usbcore iTCO_vendor_support 2391 1 iTCO_wdt moxa 15293 14 sr_mod 13205 0 cdrom 32019 1 sr_mod intel_agp 9274 1 intel_gtt 13381 1 intel_agp agpgart 27972 4 drm,ttm,intel_agp,intel_gtt lpc_ich 10194 0 i2c_i801 8656 0 mperf 1232 0 ppdev 5034 0 rtc_cmos 8519 0 microcode 10714 0 parport_pc 28078 0 floppy 50934 0 parport 31107 2 ppdev,parport_pc evdev 8164 2 processor 26833 0 pcspkr 1483 0 button 4416 1 nouveau psmouse 68836 0 autofs4 20710 2 xfs 740612 5 sd_mod 35360 7 crc_t10dif 1264 1 sd_mod ata_generic 2735 0 pata_acpi 2698 0 ata_piix 20592 6 libata 175819 3 pata_acpi,ata_generic,ata_piix scsi_mod 173106 3 libata,sd_mod,sr_mod # > P.S. Эта ошибка максимум Severity:major. Я считаю, что блокер (ну или критичная), так как идёт тихая подмена режима работы make-initrd. Строчка "переход на новую схему" в глаза совершенно не бросается среди других сообщений и никак не понуждает проверить make-initrd. Что в дальнейшем ведёт к подлянке при установке нового ядра в систему. У людей могут быть и другие схемы работы make-initrd. Неужели настолько большие изменения в make-initrd, что необходимо принудительно переводить детектирование на all? Я ещё могу понять перевод стандартной схемы "common"+"root".
(В ответ на комментарий №9) > (В ответ на комментарий №8) > > > Отключение AUTODETECT как в старой, так и в новой версии возлагает на вас > > обязанность прописать в конфиг абсолютно все модули. Единственное с чем поможет > > make-initrd, так это с зависимостями модулей, которые он запакует. > > Начиная с версии 3.4, модули подсистемы ide почему-то вешают загрузку. > Винчестер не определяется, поэтому нет корня и т.д. > > > Если вы что-нибудь забыли, то система не загрузится. > > Я как раз и прописал то, что мне нужно. > > > > Вы предлагаете проверить загрузку с образом, созданным совсем без AUTODETECT? > > > > Если ide модули необходимы на этой машине, но мешают созданию образа, то > > попробуйте собрать initrd с вот таким конфигом: > > > > AUTODETECT = all > > FEATURES += ide-to-scsi > > Модули ide как раз не нужны, их загрузка мешает, но возможно подключение > ide-устройств, поэтому приходится модули держать в системе: > > # lsmod > Module Size Used by > ipv6 280669 20 > 8139too 19150 0 > nouveau 803085 1 > snd_intel8x0 25435 0 > snd_ac97_codec 97109 1 snd_intel8x0 > mxm_wmi 1522 1 nouveau > wmi 8119 2 mxm_wmi,nouveau > video 11030 1 nouveau > ttm 58081 1 nouveau > drm_kms_helper 34681 1 nouveau > drm 217390 3 ttm,drm_kms_helper,nouveau > uhci_hcd 20364 0 > ehci_hcd 40061 0 > usbcore 150362 2 uhci_hcd,ehci_hcd > snd_pcm 74003 2 snd_ac97_codec,snd_intel8x0 > snd_page_alloc 7219 2 snd_intel8x0,snd_pcm > snd_timer 17275 1 snd_pcm > snd 48541 4 snd_ac97_codec,snd_intel8x0,snd_timer,snd_pcm > soundcore 849 1 snd > mii 4395 1 8139too > hwmon 1408 1 nouveau > i2c_algo_bit 4998 1 nouveau > skge 35585 0 > ac97_bus 1011 1 snd_ac97_codec > iTCO_wdt 4877 0 > usb_common 802 1 usbcore > iTCO_vendor_support 2391 1 iTCO_wdt > moxa 15293 14 > sr_mod 13205 0 > cdrom 32019 1 sr_mod > intel_agp 9274 1 > intel_gtt 13381 1 intel_agp > agpgart 27972 4 drm,ttm,intel_agp,intel_gtt > lpc_ich 10194 0 > i2c_i801 8656 0 > mperf 1232 0 > ppdev 5034 0 > rtc_cmos 8519 0 > microcode 10714 0 > parport_pc 28078 0 > floppy 50934 0 > parport 31107 2 ppdev,parport_pc > evdev 8164 2 > processor 26833 0 > pcspkr 1483 0 > button 4416 1 nouveau > psmouse 68836 0 > autofs4 20710 2 > xfs 740612 5 > sd_mod 35360 7 > crc_t10dif 1264 1 sd_mod > ata_generic 2735 0 > pata_acpi 2698 0 > ata_piix 20592 6 > libata 175819 3 pata_acpi,ata_generic,ata_piix > scsi_mod 173106 3 libata,sd_mod,sr_mod > # > > > P.S. Эта ошибка максимум Severity:major. > Я считаю, что блокер (ну или критичная), http://www.altlinux.org/Bug_Severity_Policy > так как идёт тихая подмена режима Изменение происходит не тихо. > работы make-initrd. Строчка "переход на новую схему" в глаза совершенно не > бросается среди других сообщений и никак не понуждает проверить make-initrd. Если не провести миграцию, то у большинства пользователей проблем будет больше. > Что в дальнейшем ведёт к подлянке при установке нового ядра в систему. Проблемы могут быть, но не фатальные. Старая конфигурация остаётся в конфиге закомментированной. > Неужели настолько большие изменения в make-initrd, что необходимо принудительно > переводить детектирование на all? Изменения большие.
(В ответ на комментарий №9) > Начиная с версии 3.4, модули подсистемы ide почему-то вешают загрузку. > Винчестер не определяется, поэтому нет корня и т.д. Это известная проблема. > > Если ide модули необходимы на этой машине, но мешают созданию образа, то > > попробуйте собрать initrd с вот таким конфигом: > > > > AUTODETECT = all > > FEATURES += ide-to-scsi > > Модули ide как раз не нужны, их загрузка мешает, но возможно подключение > ide-устройств, поэтому приходится модули держать в системе: Я вас правильно понял и предложил конфиг.
(В ответ на комментарий №11) > Я вас правильно понял и предложил конфиг. Хорошо, попробую Ваш вариант.(В ответ на комментарий №10) > (В ответ на комментарий №9) > http://www.altlinux.org/Bug_Severity_Policy У меня как раз вся система встала колом. :) > Изменение происходит не тихо. Сообщение я увидел случайно, а в конфиге я еле понял, что и как было закомментировано, так как там было опробовано несколько вариантов и оставлено в комментариях "на потом". Стало совершенно неинформативно. > Если не провести миграцию, то у большинства пользователей проблем будет больше. Понятно. > Проблемы могут быть, но не фатальные. Старая конфигурация остаётся в конфиге > закомментированной. У меня оказалось почти фатальным. :) > > Неужели настолько большие изменения в make-initrd, что необходимо принудительно > > переводить детектирование на all? > > Изменения большие. Понятно. Жаль, что такие большие изменения отмечены только субминорным номером. Нелогично. Кстати, анонса изменений нигде нет.
(В ответ на комментарий №12) > У меня как раз вся система встала колом. :) Почти не считается :) > Сообщение я увидел случайно, а в конфиге я еле понял, что и как было > закомментировано, так как там было опробовано несколько вариантов и оставлено в > комментариях "на потом". Ну извините. Такое мне предугадать сложно :) > Понятно. Жаль, что такие большие изменения отмечены только субминорным номером. Десятичная система. > Кстати, анонса изменений нигде нет. Это не единственная проблема этого проекта, о которых могу рассказать в привате. Не люблю лирики в постах.
Попробовал Ваш вариант, получилось загрузиться. При этом список модулей такой: # make-initrd Config file: /etc/initrd.mk Generating module dependencies on host ... Creating initrd image ... Adding modules ... Generating module dependencies in image ... Adding resue modules ... Adding syslog support ... Packed modules: 8139too ata_generic ata_piix cdrom crc-t10dif evbug evdev libata mii pata_acpi pci_hotplug scsi_mod sd_mod serio_raw shpchp skge sr_mod xfs Packing image to archive ... Compressing image ... Installing image ... Removing work directory ... Image is saved as /boot/initrd-3.7.9-std-def-alt1.img #
Список модулей при новой загрузке. # lsmod Module Size Used by ipv6 280669 16 nouveau 803085 1 snd_intel8x0 25435 0 snd_ac97_codec 97109 1 snd_intel8x0 mxm_wmi 1522 1 nouveau wmi 8119 2 mxm_wmi,nouveau video 11030 1 nouveau ttm 58081 1 nouveau drm_kms_helper 34681 1 nouveau drm 217390 3 ttm,drm_kms_helper,nouveau uhci_hcd 20364 0 iTCO_wdt 4877 0 ehci_hcd 40061 0 usbcore 150362 2 uhci_hcd,ehci_hcd hwmon 1408 1 nouveau i2c_algo_bit 4998 1 nouveau snd_pcm 74003 2 snd_ac97_codec,snd_intel8x0 snd_page_alloc 7219 2 snd_intel8x0,snd_pcm snd_timer 17275 1 snd_pcm snd 48541 4 snd_ac97_codec,snd_intel8x0,snd_timer,snd_pcm soundcore 849 1 snd iTCO_vendor_support 2391 1 iTCO_wdt ac97_bus 1011 1 snd_ac97_codec usb_common 802 1 usbcore moxa 15293 14 intel_agp 9274 1 intel_gtt 13381 1 intel_agp agpgart 27972 4 drm,ttm,intel_agp,intel_gtt mperf 1232 0 lpc_ich 10194 0 i2c_i801 8656 0 ppdev 5034 0 evdev 8164 2 microcode 10714 0 floppy 50934 0 rtc_cmos 8519 0 parport_pc 28078 0 parport 31107 2 ppdev,parport_pc processor 26833 0 pcspkr 1483 0 button 4416 1 nouveau psmouse 68836 0 autofs4 20710 2 xfs 740612 5 sr_mod 13205 0 cdrom 32019 1 sr_mod sd_mod 35360 7 crc_t10dif 1264 1 sd_mod ata_generic 2735 0 pata_acpi 2698 0 8139too 19150 0 mii 4395 1 8139too skge 35585 0 ata_piix 20592 6 libata 175819 3 pata_acpi,ata_generic,ata_piix scsi_mod 173106 3 libata,sd_mod,sr_mod #
(В ответ на комментарий №14) > Попробовал Ваш вариант, получилось загрузиться. > При этом список модулей такой: > Packed modules: 8139too ata_generic ata_piix cdrom crc-t10dif evbug evdev > libata mii pata_acpi pci_hotplug scsi_mod sd_mod serio_raw shpchp skge sr_mod > xfs Насколько я понимаю, если брать модули для корня, то вы примерно их и клали ... но только руками. В make-initrd-0.8.1 общий список того, что будет положено в образ будет ещё меньше.
(В ответ на комментарий №16) > Насколько я понимаю, если брать модули для корня, то вы примерно их и клали ... > но только руками. В make-initrd-0.8.1 общий список того, что будет положено в > образ будет ещё меньше. Во втором случае это как раз и был 0.8.1-alt1. Или Вы имеете другую версию make-initrd?
(В ответ на комментарий №17) > Во втором случае это как раз и был 0.8.1-alt1. Или Вы имеете другую версию > make-initrd? Да. Другую ... потому что я имел в виду 0.8.2 конечно же :)
Feel free to reopen if necessary.