make-initrd версии 2.17.0 и далее создаёт неработоспособный initrd при условиях: - AUTODETECT=root в initrd.mk - всё потребное для поддержки искомого блочного устройства уже в ядре, а не модулями, так что в initrd попадает например только ext4 сотоварищи; при этом, если включен rdshell, можно выполнить: (initramfs) mount /root (initramfs) ^D, и загрузка завершится успешно. можно также искусственно обогатить содержимое initrd, напр. указав AUTODETECT=all и получив в составе initrd не нужное для основной задачи (примонтировать /) приращение вроде ehci-* и также успешно загрузиться.
Можешь прислать мне bug-report и рабочий и нерабочий initrd ?
(Ответ для Alexey Gladkov на комментарий #1) > Можешь прислать мне bug-report и рабочий и нерабочий initrd ? Меня интересует initrd (AUTODETECT=root) и initrd (AUTODETECT=all).
(In reply to Alexey Gladkov from comment #2) > Меня интересует initrd (AUTODETECT=root) и initrd (AUTODETECT=all). https://lioka.obninsk.ru/mki.tar
Кажется ясно. AUTODETECT = root common будет работать образ ?
(In reply to Alexey Gladkov from comment #4) > Кажется ясно. > > AUTODETECT = root common > > будет работать образ ? да, так работает -- но такое решение временное, верно ? Или, как сейчас следует получать минимальный initrd -- до обсуждаемой версии было достаточно чего-то вроде AUTODETECT= MODULES_ADD=ext4 FEATURES='add-modules compress cleanup' make-initrd --config=/dev/null и результат был работоспособен.
(Ответ для Sergey Bolshakov на комментарий #5) > > AUTODETECT = root common > > > > будет работать образ ? > > да, так работает -- но такое решение временное, верно ? Насчёт AUTODETECT скорее всего временное. Нужно подумать как это лучше исправить. > Или, как сейчас следует получать минимальный initrd -- > до обсуждаемой версии было достаточно чего-то вроде > > AUTODETECT= MODULES_ADD=ext4 FEATURES='add-modules compress cleanup' > make-initrd --config=/dev/null > > и результат был работоспособен. Я предполагаю, что если в такой конфигурации добавить в FEATURES add-udev-rules то всё будет снова работать. Это тоже временное решение. Новая add-udev-rules вытягивается AUTODETECT=common и я хотел сделать её отключаемой, но не учёл такой
(Ответ для Sergey Bolshakov на комментарий #5) > > AUTODETECT = root common > > > > будет работать образ ? > > да, так работает -- но такое решение временное, верно ? Насчёт AUTODETECT скорее всего временное. Нужно подумать как это лучше исправить. > Или, как сейчас следует получать минимальный initrd -- > до обсуждаемой версии было достаточно чего-то вроде > > AUTODETECT= MODULES_ADD=ext4 FEATURES='add-modules compress cleanup' > make-initrd --config=/dev/null > > и результат был работоспособен. Я предполагаю, что если в такой конфигурации добавить в FEATURES add-udev-rules то всё будет снова работать. Это тоже временное решение. Новая add-udev-rules вытягивается AUTODETECT=common и я хотел сделать её отключаемой, но не учёл такой паттерн вызова. Видимо придётся жёстко требовать её для создания initrd. Эта фича важна, потому что она анализирует правила udev и добавляет в образ утилиты, которые из них вызываются.
make-initrd-2.19.0-alt1 -> sisyphus: Thu Jun 17 2021 Alexey Gladkov <legion@altlinux.ru> 2.19.0-alt1 - New version (2.19.0). - Add add-udev-rules to the list of dependencies of other features (ALT#40228). - Check only devices of class PCI_CLASS_DISPLAY_VGA (ALT#40233).
(Ответ для Alexey Gladkov на комментарий #7) > Я предполагаю, что если в такой конфигурации добавить в FEATURES > add-udev-rules то всё будет снова работать. Это тоже временное решение. > В mkimage-profiles я так и сделал. Хорошо, что починили, можно откатить то изменение.