* Re: [make-initrd] make-initrd @ 2020-01-16 9:49 ` Alexey Gladkov 2020-01-18 10:11 ` Александр Шеметов 0 siblings, 1 reply; 8+ messages in thread From: Alexey Gladkov @ 2020-01-16 9:49 UTC (permalink / raw) To: Александр Шеметов Cc: make-initrd On Wed, Jan 15, 2020 at 10:51:59PM +0500, Александр Шеметов wrote: > Доброго времени суток. > Увидел Ваши контакты к пакету make-initrd, решил Вас потревожить. > Дело в том, что у меня есть необходимость запускать развёрнутую систему > ALT Linux из *.img образа да ещё и этот образ должен лежать на раздела с NTFS. > Подобное в других дистрибутивах решается, либо добавлением в initramfs некоторого скрипта, > как тут http://www.opopop.net/booting_linux_from_a_loop_file_system/, либо с использованием > dracut https://github.com/rgcjonas/dracut-ntfsloop make-initrd устроен иначе чем dracut и его скрипты не будут работать с make-initrd. > Хочу спросить, на данный момент штатными средствами make-initrd подобное возможно ? На данный момент нет. Поддержку такой схемы загрузки нужно добавлять. > Хотелось бы почитать об этом, но к сожалению никакой документации по make-initrd > найти не удаётся. Не могли бы Вы подсказать её расположение ? Документация находится здесь. https://github.com/legionus/make-initrd/tree/master/docs > Заранее благодарю за ответ. > > -- > С уважением, > Александр Шеметов > -- Rgrds, legion ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [make-initrd] make-initrd 2020-01-16 9:49 ` [make-initrd] make-initrd Alexey Gladkov @ 2020-01-18 10:11 ` Александр Шеметов 2020-01-18 11:33 ` Alexey Gladkov 0 siblings, 1 reply; 8+ messages in thread From: Александр Шеметов @ 2020-01-18 10:11 UTC (permalink / raw) To: Alexey Gladkov; +Cc: make-initrd > На данный момент нет. Поддержку такой схемы загрузки нужно добавлять. Прошу уточнить, механизм загрузки ОС из развёрнутого образа не реализован в принципе или проблема только при использовании раздела на NTFS ? -- С уважением, Александр Шеметов ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [make-initrd] make-initrd 2020-01-18 10:11 ` Александр Шеметов @ 2020-01-18 11:33 ` Alexey Gladkov 2020-01-18 15:41 ` Александр Шеметов 0 siblings, 1 reply; 8+ messages in thread From: Alexey Gladkov @ 2020-01-18 11:33 UTC (permalink / raw) To: Александр Шеметов Cc: make-initrd On Sat, Jan 18, 2020 at 03:11:55PM +0500, Александр Шеметов wrote: > > На данный момент нет. Поддержку такой схемы загрузки нужно добавлять. > > Прошу уточнить, механизм загрузки ОС из развёрнутого образа не реализован > в принципе или проблема только при использовании раздела на NTFS ? Скорее первое. -- Rgrds, legion ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [make-initrd] make-initrd 2020-01-18 11:33 ` Alexey Gladkov @ 2020-01-18 15:41 ` Александр Шеметов 2020-01-18 18:44 ` Alexey Gladkov 0 siblings, 1 reply; 8+ messages in thread From: Александр Шеметов @ 2020-01-18 15:41 UTC (permalink / raw) To: Alexey Gladkov; +Cc: make-initrd > Скорее первое. Хм, возможно скажу глупость, но ведь на установочных образах работает такой вариант, я проверял его лично https://forum.altlinux.org/index.php?topic=34690.msg256186#msg256186 А из снятого образа уже развёрнутой ОС мне не удаётся запустить систему. Я проваливаюсь в rdshell и дальше ничего сделать не удаётся, подключить root не могу, так как каталог /dev/disk/ вообще отсутствует. К чему интересуюсь, может быть я элементарно что-то упускаю и на самом деле такой вариант работает. У кого-то наверняка был опыт и попытки провернуть такую же схему загрузки ОС, не уж то я первооткрыватель... -- С уважением, Александр Шеметов ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [make-initrd] make-initrd 2020-01-18 15:41 ` Александр Шеметов @ 2020-01-18 18:44 ` Alexey Gladkov 2020-01-21 13:52 ` Александр Шеметов 0 siblings, 1 reply; 8+ messages in thread From: Alexey Gladkov @ 2020-01-18 18:44 UTC (permalink / raw) To: Александр Шеметов Cc: make-initrd On Sat, Jan 18, 2020 at 08:41:46PM +0500, Александр Шеметов wrote: > > Скорее первое. > > Хм, возможно скажу глупость, но ведь на установочных образах работает > такой вариант, я проверял его лично > https://forum.altlinux.org/index.php?topic=34690.msg256186#msg256186 Потому что там работает propagator. Это не совсем initrd. > А из снятого образа уже развёрнутой ОС мне не удаётся запустить систему. > Я проваливаюсь в rdshell и дальше ничего сделать не удаётся, > подключить root не могу, так как каталог /dev/disk/ вообще отсутствует. > > К чему интересуюсь, может быть я элементарно что-то упускаю и на самом > деле такой вариант работает. Мне не известны примеры таких установок. > У кого-то наверняка был опыт и попытки провернуть такую же схему > загрузки ОС, не уж то я первооткрыватель... Вы как минимум первый кто захотел это сделать в альтлинуксе. -- Rgrds, legion ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [make-initrd] make-initrd 2020-01-18 18:44 ` Alexey Gladkov @ 2020-01-21 13:52 ` Александр Шеметов 2020-01-22 15:32 ` Александр Шеметов 0 siblings, 1 reply; 8+ messages in thread From: Александр Шеметов @ 2020-01-21 13:52 UTC (permalink / raw) To: Alexey Gladkov; +Cc: make-initrd >> А из снятого образа уже развёрнутой ОС мне не удаётся запустить систему. >> Я проваливаюсь в rdshell и дальше ничего сделать не удаётся, >> подключить root не могу, так как каталог /dev/disk/ вообще отсутствует. Проблема решилась добавлением модуля ata_generic и ряда прочих. Полный список можно глянуть, загрузив обычную систему в rdshell. Соответственно добавляем модули в MODULES_PRELOAD += ... и пересобираем initrd. > Вы как минимум первый кто захотел это сделать в альтлинуксе. Значит будем копать дальше... :) Снова вернусь к ссылке http://www.opopop.net/booting_linux_from_a_loop_file_system/ Там предлагается использовать такой скрипт: #!/bin/sh PREREQ="" prereqs() { echo "$PREREQ" } case $1 in # get pre-requisites prereqs) prereqs exit 0 ;; esac modprobe -k ntfs mount -n -t ntfs -o nodiratime,noatime ${ROOT} ${rootmnt}2 modprobe -k loop mount -n -t ext2 -o loop ${rootmnt}2${loop} ${rootmnt} Насколько я могу понять, здесь прерывается штатный premount корня и вместо него монтируется как раз система из образа. На системах Base ALT в таком виде скрипт конечно же не работает. В связи с этим задам вопрос, так как пока дальше самостоятельно продвинуться не выходит, -- как можно прервать штатный premount и передать управление моему скрипту ? Сейчас в корень принудительно монтируется раздел NTFS, на котором лежит сам образ с системой. PS. Да, и вот это немного мешает тестам на p9 https://bugzilla.altlinux.org/show_bug.cgi?id=37254 Спасибо, что исправили. -- С уважением, Александр Шеметов ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [make-initrd] make-initrd 2020-01-21 13:52 ` Александр Шеметов @ 2020-01-22 15:32 ` Александр Шеметов 2020-01-23 6:37 ` Александр Шеметов 0 siblings, 1 reply; 8+ messages in thread From: Александр Шеметов @ 2020-01-22 15:32 UTC (permalink / raw) To: Alexey Gladkov; +Cc: make-initrd Удалось продвинуться в моём вопросе. Потребовалось привести файл /etc/initrd.mk к содержимому: # trying to detect modules and features to access to root volume AUTODETECT = all MODULES_PRELOAD += autofs4 fuse ntfs ata_generic scsi_mod ahci ata_piix pata_acpi sd_mod jbd2 mbcache crc16 ext4 MODULES_ADD += fuse ntfs ata_generic scsi_mod ahci ata_piix pata_acpi sd_mod jbd2 mbcache crc16 ext4 FEATURES += plymouth Затем создать файл /usr/share/make-initrd/data/etc/rc.d/init.d/looproot со следующим содержимым: #!/bin/sh ### BEGIN INIT INFO # Provides: mount loop root # Required-Start: modules # Should-Start: # Required-Stop: # Should-Stop: # Default-Start: 3 4 5 # Default-Stop: # Short-Description: Mount loop file system # Description: Mount loop file system ### END INIT INFO . /.initrd/initenv export looproot=/looproot mkdir -p /looproot mount -n -t ntfs -o nodiratime,noatime ${ROOT} ${looproot} mount -n -t ext4 -o loop ${looproot}/basealt.img ${rootmnt} После этого система начинает стартовать из образа, но не запускается. При запуске сервисов вижу первую ошибку: [FAILED] Failed to start Remount Root and Kernel File Systems. See 'systemctl status systemd-remount-fs.service' for details. Далее присутствует ряд других. Создаётся впечатление, что /root смонтировался в ro. Всё это происходит, вероятно, в момент перемонтирования /root. Могу только видеть сообщения на 12 консоли, на остальных отсутствует приглашение ввода. Может подскажите, куда посмотреть, чтобы решить ? Заранее спасибо. -- С уважением, Александр Шеметов ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [make-initrd] make-initrd 2020-01-22 15:32 ` Александр Шеметов @ 2020-01-23 6:37 ` Александр Шеметов 0 siblings, 0 replies; 8+ messages in thread From: Александр Шеметов @ 2020-01-23 6:37 UTC (permalink / raw) To: Alexey Gladkov; +Cc: make-initrd Удалось всё-таки запустить систему, но только когда образ лежит на разделе с ext4. С разделами на ntfs странная история, похоже полноценной поддержки fuse в initrd попросту нет, а имеющийся ntfs.ko монтирует раздел в режиме readonly. Так, при подключении раздела ntfs с помощью fuse и последующим монтированием с него образа развёрнутой системы в /root, ядро падает в kernel panic при попытке выполнить init. Возможно ли это исправить ? Потому что в других дистрибутивах, отличный от BaseALT, такой проблемы нет. Готов предоставить больше сведений. Заранее спасибо. -- С уважением, Александр Шеметов ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-01-23 6:37 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-01-16 9:49 ` [make-initrd] make-initrd Alexey Gladkov 2020-01-18 10:11 ` Александр Шеметов 2020-01-18 11:33 ` Alexey Gladkov 2020-01-18 15:41 ` Александр Шеметов 2020-01-18 18:44 ` Alexey Gladkov 2020-01-21 13:52 ` Александр Шеметов 2020-01-22 15:32 ` Александр Шеметов 2020-01-23 6:37 ` Александр Шеметов
Make-initrd development discussion This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \ make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com public-inbox-index make-initrd Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.make-initrd AGPL code for this site: git clone https://public-inbox.org/public-inbox.git