Добрый день!
Есть задача сделать мультизагрузачную флешку без специализированных программ, а силами grub и loop устройствами iso образов.
Суть метода:
1) Выделяю некую необходимого размера область на флэшке и форматирую её в ext2
2) Устанавливаю grub на флэш
3) Копирую образы iso в выделенную облать которую создал на первом шаге
4) Создаю grub.cfg. Часть grub.cfg взял из образа диска Astra Linux, немного подкорректировав их. Добавил пункты iso-scan и live-media.
После данных манипуляций у меня "завелись" все образы которые хотел: ArchLinux, Debian, Mint, SystemRescueCD. Кроме Astra Linux.
При этом сказать что Astra не работает будет не совсем правда. Она запускается и начинает процесс предварительной настройки перед установкой. Но на этапе поиска и монтирования образа диска с установочными программами она не может найти CD диск. Оно и понятно так как я загрузился напрямую с iso образа через loop устройство. Попытка вручную примонтировать iso образ в папку cdrom не увенчались успехом. Как я понял инсталятор пытается перед поиском медиа устройства размонтирывает эту директорию и предыдущие действия теряют смысл.
Вопрос. Можно ли обойти данную проблему и продолжить установку? Крайне желательно через конфигурацию grub, а не переходом в коммандную строку во время утановки.
Сразу хочу ответить на вопрос зачем мне это. Интересует именно данный способ создания мультизагрузочной флэшки. Другие способы были опробованы, неудобны и были отвергнуты.
Есть задача сделать мультизагрузачную флешку без специализированных программ, а силами grub и loop устройствами iso образов.
Суть метода:
1) Выделяю некую необходимого размера область на флэшке и форматирую её в ext2
Bash:
$ sudo mkfs.ext2 -L BOOT /dev/sdc1
Bash:
$ sudo mount /dev/sdc1 /mnt
$ sudo grub-install --target=i386-pc --recheck --removable --boot-directory=/mnt/ /dev/sdc
Bash:
$ sudo mkdir -p /mnt/iso
$ sudo cp ~/multiboot/*.iso /mnt/iso
Код:
. . .
menuentry "Common Edition 2.12.22" --class astra {
set isofile='/iso/orel-2.12.22-04.12.2019_09.06.iso'
loopback loop $isofile
linux (loop)/install.amd/gtk/vmlinuz iso-scan/filename=${isofile} live-media=${isofile} quiet noeject modprobe.blacklist=evbug debian-installer/locale=ru debian-installer language=ru keyboard-configuration/xkb-keymap=ru console-keymaps-at/keymap=ru
initrd (loop)/install.amd/gtk/initrd.gz
}
. . .
При этом сказать что Astra не работает будет не совсем правда. Она запускается и начинает процесс предварительной настройки перед установкой. Но на этапе поиска и монтирования образа диска с установочными программами она не может найти CD диск. Оно и понятно так как я загрузился напрямую с iso образа через loop устройство. Попытка вручную примонтировать iso образ в папку cdrom не увенчались успехом. Как я понял инсталятор пытается перед поиском медиа устройства размонтирывает эту директорию и предыдущие действия теряют смысл.
Вопрос. Можно ли обойти данную проблему и продолжить установку? Крайне желательно через конфигурацию grub, а не переходом в коммандную строку во время утановки.
Сразу хочу ответить на вопрос зачем мне это. Интересует именно данный способ создания мультизагрузочной флэшки. Другие способы были опробованы, неудобны и были отвергнуты.
Последнее редактирование: