[make-initrd] make-initrd

Александр Шеметов shemetov-174 at yandex.ru
Tue Jan 21 16:52:37 MSK 2020


>>  А из снятого образа уже развёрнутой ОС мне не удаётся запустить систему.
>>  Я проваливаюсь в 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
Спасибо, что исправили.

-- 
С уважением,
Александр Шеметов



More information about the Make-initrd mailing list