1

Пожалуйста, дайте мне знать, если этот вопрос нужно перефразировать; Я читал о самых низких уровнях загрузки для Linux и Systemd.

В настоящее время я имею дело с ограничением в grubx64.efi - он не может выделить начальный оперативный диск объемом 1,2 гигабайта, размером с LiveCD моей компании.

Я думаю, что решение - это сначала загрузить меньший RAM-диск LiveCD, пользовательский initrd ~ 300 мегабайт или около того, и внутри этого пользовательского initrd настроить его на загрузку "реального" LiveCD объемом 1.2 гига, смонтировать IT как корневой файл системы, а затем удалите старую.

Я изучал, как работает Systemd и процесс загрузки Linux, пытаясь выяснить, как именно я мог бы выполнить этот переход в CentOS 7, но точные команды для вызова и места для внесения изменений не очевидны для меня ,

Это можно сделать вручную?

1 ответ1

0

Поработав в списке рассылки Grub, я обнаружил, что вы можете смонтировать образ squashfs с удаленного сервера, используя параметры ядра.

Я установил legacy и EFI PXE для использования ядра и initrd в каталоге PXEBOOT ISO CentOS 7.4 (ядро 3.10.0-693). В совокупности они похожи на 60 мег или что-то.

Затем я поместил файл squashfs.img из корневой файловой системы, которую я на самом деле хотел использовать, в доступный по http каталог на том же сервере.

Затем я использовал 2 параметра ядра (показанные мне в списке рассылки), чтобы ядро CentOS смонтировало образ squashfs в качестве корневой файловой системы; ядро достаточно умен, чтобы знать, что live: означает и создает временную (и очень хрупкую - еще не разобрался с этой частью; 1 гигабайт записи приводит к тому, что файловая система в оперативной памяти доступна только для чтения), с которой можно выполнять основные операции. чтения / записи. Я добавил эти параметры в пункт меню PXE:

rootfstype=auto root=live:http://path/to/squashfs.img

Это было это. Это было волшебство, которого мне не хватало.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .