Здравствуйте, коллеги! Встала задача сделать загрузочную флешку с live образом и rw областью для данных.
Задача есть, но я решил ее расширить и углубить.
Нужно, что бы на ней был загрузочный live iso, еще несколько установочных дистрибутивов Linux в формате iso и облать для данных.
Практически, то что дает Ventoy, но своими золотыми руками. Собственно, с подготовкой флешки проблем нет. Флешка разбита на 3 раздела:
MBR
boot/efi (fat32) 256Mb
iso (exfat) 8G
data (exfat) 7G
С последними двумя разделами могут быть изменения, как в размере, так и в fs. Установлены grub (legacy), efi32, efi64. Сам grub грузится хоть в efi, хоть в legacy.
Проблемы с загрузкой образов…
menuentry "Debian 11" {
loopback loop (hd0,2)/debian-11.5.0-amd64-netinst.iso
# Да-да! Тот самый обычный образ для установки Debian
linux (loop)/install.amd/vmlinuz iso-scan/filename=(hd0,2)/debian-11.5.0-amd64-netinst.iso root=UUID=ADC2-5F11
initrd (loop)/install.amd/initrd.gz
}
root=UUID=ADC2-5F11 - UUID раздела, где лежат образы.
Образ начинает загрузку, но отважно не находит установочной media. Т.е. отрабатывают vmlinuz, initgrd, но не понимает где находятся остальные данные.
С моим live образом, на базе того же, debian все крайне похоже, только там в параметрах ядра добавляется boot=live. И та же беда.
Отрабатывает initrd и не понимает во что ему чрутнуться.
Как я понимаю, grub свою работу уже сделал, загрузив ядро и initrd. Больше от него ни чего не зависит. Все параметры, передаваемые ядру, на grub ни как не влияют. Ему, вообще плевать на них.
iso-scan/filename=(hd0,2)/debian-11.5.0-amd64-netinst.iso
Это информация только для ядра? root я сам придумал передавать ядру, но все равно ни черта не выходит.
Я не понимаю, как работает grub.
Он просто вытаскивает ядро и initrd из iso образа и их запускает, или он куда-то монтирует iso и запускает там?
Кстати, меня вполне устроит нахождение на флешке распакованных iso, разложенных по разным директориям. Чего мне не хочется, так это переписывать initrd для образов :) Мой live образ и debian прекрасно загружаются из Ventoy в grub mode.
Подскажите, плз, как грамотно прописать grub.cfg