Created attachment 5444 [details] информация о raid и дисках При установки нового ядра, make-initrd больше не может создать initrd, сообщая об ошибке: No module "linux_raid_member" Система: 1. Softraid, RAID1 2. /etc/mdadm.conf - пустой 3. Последний сизиф. Используется make-initrd-0.7.4-alt1 Плагины: make-initrd-mdadm make-initrd-devmapper make-initrd-multipath make-initrd-lvm В вложении информация о raid, дисках.
Забыл вывод make-initrd прикрепить: # make-initrd -k 3.3.0-un-def-alt1 Config file: /etc/initrd.mk Generating module dependencies on host ... Guessed modules: ext4 ata_generic libata pata_acpi sata_nv scsi_mod sd_mod crc-t10dif linux_raid_member sd_mod Guessed features: add-modules cleanup compress mdadm syslog Creating initrd image ... Adding modules ... add-module: No module "linux_raid_member" found for kernel 3.3.0-un-def-alt1 make: *** [add-modules] Ошибка 1 make: *** [all] Ошибка 1 Удалил пакет make-initrd-mdadm, всё осталось так же, только модуль mdadm был заменён raid. Сделать bug-report не могу, т.к. с этой опцией make-initrd повисает, ничего не делая.
Если у вас не работает bug-report, то с вашей системой что-то очень не так.
Куда тогда смотреть? Могу strace показать.
strace тут пока рано делать. bug-report это очень простой скрипт: http://git.altlinux.org/people/legion/packages/make-initrd.git?p=make-initrd.git;a=blob_plain;f=tools/bug-report;h=6b819bc82f2d7ccdcf823c22c8246cbabee9f3dc;hb=d667914d32073e72ebe26dbca79e16d6abf3aa0d в основном действия происходят над /proc и /sys. Попробуйте добавить в него "set -x" и посмотреть на чём он останавливается у вас.
Добавил. Останавливается на строке: + cp -aP /sys /tmp/.private/root/make-initrd.IXgNhOPjG/3.3.1-un-def-alt1.work/report и так висит пока не прервешь.
make-initrd активно использует /sys для определения конфигурации. Проконсультируйтесь с создателем 3.3.1-un-def-alt1 на тему последних изменений в его ядре.
Даже той информации, что вы привели достаточно. Какой у вас /etc/fstab и /etc/initrd.mk ?
На 3.2.7-un-def-alt1 такое же поведение. Судя по strace, /sys копируется, но затыкается на одном устройстве: [pid 12936] lstat("/sys/kernel/debug/hid/0003:046D:C318.0004/events", {st_mode=S_IFREG|0400, st_size=0, ...}) = 0 [pid 12936] open("/sys/kernel/debug/hid/0003:046D:C318.0004/events", O_RDONLY|O_NOFOLLOW) = 3 [pid 12936] fstat(3, {st_mode=S_IFREG|0400, st_size=0, ...}) = 0 [pid 12936] open("/tmp/.private/root/make-initrd.j7TFPrb1Z/3.2.7-un-def-alt1.work/report/sys/kernel/debug/hid/0003:046D:C318.0004/events", O_WRONLY|O_CREAT|O_EXCL, 0400) = 4 [pid 12936] fstat(4, {st_mode=S_IFREG|0400, st_size=0, ...}) = 0 [pid 12936] read(3, судя по числам, это клавиатура.
Created attachment 5446 [details] содержимое fstab и initrd.mk
(В ответ на комментарий №7) > Даже той информации, что вы привели достаточно. > Какой у вас /etc/fstab и /etc/initrd.mk ? Содержимое в добавленном файле.
Понятно. Спасибо.
Не могли бы вы показать вывод команды: blkid -t UUID=8889c2da-95cd-4a4b-bceb-a4c0fabfaf1e -o device
(В ответ на комментарий №12) > Не могли бы вы показать вывод команды: > > blkid -t UUID=8889c2da-95cd-4a4b-bceb-a4c0fabfaf1e -o device # blkid -t UUID=8889c2da-95cd-4a4b-bceb-a4c0fabfaf1e -o device /dev/sdc1 /dev/md127 Что странно, mdadm --detail показывает два устройства и оба active/working.
У вас sdb1 имеет отличный от sdc1 UUID и тип.
(В ответ на комментарий №14) > У вас sdb1 имеет отличный от sdc1 UUID и тип. получается sdc1 не помечен как типом fd? Fdisk говорит, что помечен. Или на sdc1 просто создана файловая система? А как тогда mdadm работает?
Вот эта бага кажется похожа на наш случай: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=645242 попробуйте: blkid -c /dev/null ...
(В ответ на комментарий №16) > Вот эта бага кажется похожа на наш случай: > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=645242 > > попробуйте: blkid -c /dev/null ... Да, помогло: # blkid -c /dev/null | grep linux_raid /dev/sdb1: UUID="b8bef6f6-fa4c-ac2e-ba2e-20235d05a73b" TYPE="linux_raid_member" /dev/sdc1: UUID="b8bef6f6-fa4c-ac2e-ba2e-20235d05a73b" TYPE="linux_raid_member" Если удалить /etc/blkid.tab* проблема с созданием initrd разрешится?
Дополню. Если с имеющимися blkid.tab файлом вызвать blkid с -p - картина становится правильной: # blkid -p /dev/sdb1 /dev/sdc1 /dev/sdb1: VERSION="0.90.0" UUID="b8bef6f6-fa4c-ac2e-ba2e-20235d05a73b" TYPE="linux_raid_member" USAGE="raid" PART_ENTRY_SCHEME="dos" PART_ENTRY_TYPE="0xfd" PART_ENTRY_FLAGS="0x80" PART_ENTRY_NUMBER="1" PART_ENTRY_OFFSET="63" PART_ENTRY_SIZE="527028327" PART_ENTRY_DISK="8:16" /dev/sdc1: VERSION="0.90.0" UUID="b8bef6f6-fa4c-ac2e-ba2e-20235d05a73b" TYPE="linux_raid_member" USAGE="raid" PART_ENTRY_SCHEME="dos" PART_ENTRY_TYPE="0xfd" PART_ENTRY_FLAGS="0x80" PART_ENTRY_NUMBER="1" PART_ENTRY_OFFSET="63" PART_ENTRY_SIZE="527028327" PART_ENTRY_DISK="8:32"
Переместил /etc/blkid.tab*, образ initrd создался без проблем. Правда в образ почему-то добавляются модули для всех уровней RAID, хотя достаточно одного. Возможно это фича, а не бага.
(В ответ на комментарий №17) > Если удалить /etc/blkid.tab* проблема с созданием initrd разрешится? Да. В следующей версии я добавлю игнорирование кэша, чтобы таких проблем больше не было. (В ответ на комментарий №19) > Правда в образ почему-то добавляются модули для всех уровней RAID, хотя > достаточно одного. Возможно это фича, а не бага. Это временная мера пока не придумал способа правильно детектить нужный модуль.
make-initrd-0.7.5-alt1 -> sisyphus: * Thu Apr 19 2012 Alexey Gladkov <legion@altlinux> 0.7.5-alt1 - Ignore cachefile when running blkid (ALT#27229).
(In reply to comment #20) > > добавляются модули для всех уровней RAID, хотя достаточно одного. > Это временная мера пока не придумал способа правильно детектить нужный модуль. /sys/block/md$THIS/md/level устроит? :)
(В ответ на комментарий №22) > /sys/block/md$THIS/md/level устроит? :) Так было раньше и меня это не устраивает :)
Пошли в bug #27248 :)