Создать загрузочный ISO-образ из раздела /boot - РЕШЕНО

Автор zuart, 22 февраля 2018, 12:19:27

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

zuart

Приветствую...
Коротенько исходные данные:
- Debian 9 установлен по схеме:
/boot - на флешке
/ - в криптованном контейнере, который в свою очередь вложен в RAID1
/swap - в виде спец.файла, который находится на /-разделе

Все это успешно работает в виртуалке (тестовая среда)...

Но вот что необходимо - так это из флешки с /boot сделать загрузочный ISO-образ, который можно как накатить на другую флешку (если потребуется) или на CD-носитель, или даже банально подключить просто непосредственно сам ISO и с него запустить.

Пытался использовать:
- dd ... - с ISO не загружается
- genisoimage... - с ISO не грузится

Попытался даже просто взять рабочий ISO netinstall с сайта, залить его содержимое в директорию и из негонепосредственно собрать загрузочный образ, не получается, не грузится с него, хоть ты тресни (да и размеры оригинального ISO и нового различаются почти в полтора раза).

Помогите, люди добрые...

ihammers

Какую виртуализацию используете? Если на основе KVM, по подключите образ не как ISO, а как раздел.

И такой вопрос, а с USB-flash вы копировали через dd только boot раздел или ещё таблицу разделов (GPT или MBR)?
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

zuart

По поводу способа виртуализации уточнение, думаю, не играет роли, т.к. виртуалка используется просто чтобы "набить шишки" перед тем, как готовить реальный сервак... а на реальном сервере ISO через IPMI как доп. диск не передать, к сожалению =(

Но в целом, проблему уже решил самостоятельно путем курения мануалов, примеров, дедукции и немного авантюризма... Скорее всего "не по феншую", но главное, что все работает именно так, как мне нужно =)

qupl

Цитата: zuart от 23 февраля 2018, 21:57:22Но в целом, проблему уже решил самостоятельно путем курения мануалов, примеров, дедукции и немного авантюризма... Скорее всего "не по феншую", но главное, что все работает именно так, как мне нужно =)
Может быть поделитесь, раз уж тему создали?

zuart

Цитата: qupl от 24 февраля 2018, 06:56:33
Может быть поделитесь, раз уж тему создали?

Конечно =)
Если руки дойдут и тут будут улучшающие процесс советы, можно будет в кои-то веки на хабре опубликоваться =)))

Сервер с 3-мя дисками постоянного размещения (HotSWAP) + флешка для /boot (она же ключевая для запуска) + флешка/CD с инсталлером...

RAID1 = (sda + sdb) / sdc. Флешка под /boot = sdd, инсталлер - по сути пофиг как именуется =)

В двух словах:
- сделал "зеркало" /boot - раздела в шифрованном ROOT-е (так же как и SWAP - файлом), т.к. при удалении флешки из компа пропадает в принципе /boot
- воспользовался данными загрузчика с диска установки системы (с которого собственно все и ставил), по сути взял образ,выкинул из него все лишнее

Цитировать1. Установка необходимых пакетов

> apt-get install -y genisoimage syslinux syslinux-utils


2. Подготовка базовой директории

> mkdir /cd && cd /cd
> mkdir /cd/iso


3. Копирование данных загрузчика

> cp -rp /boot /cd/iso/boot


4. Копирование загрузчика инсталлятора

> mkdir /cd/iso/isolinux
> cp /mnt/cdrom/isolinux/boot.cat /cd/iso/isolinux/
> cp /mnt/cdrom/isolinux/isolinux.* /cd/iso/isolinux/
> cp /mnt/cdrom/isolinux/*.c32 /cd/iso/isolinux/

Предварительно примаунтить CD в /mnt/cdrom


5. Запомнить информацию

> ls -l /cd/iso/boot
  полные имена файлов vmlinuz и initrd
> fdisk -l
  путь диска с ROOT-точкой монтирования


6. Настройка файла конфигурации (mcedit /cd/iso/isolinux/isolinux.cfg)

Имена файлов (ну или переименовать) и путь к диску из п.5
------------------------------------
menu title Debian boot menu

default debian
label debian
    menu default
    menu label ^Start Debian (default)
    kernel /boot/vmlinuz-4.9.0-4-amd64
    initrd /boot/initrd.img-4.9.0-4-amd64
    append root=/dev/mapper/md0_crypt persistent quiet

timeout 0
prompt 0
------------------------------------


7. Формирование ISO-образа

> genisoimage -o /cd/boot.iso -J -R -V "Boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /cd/iso
> isohybrid /cd/boot.iso


8. Имеем на выходе файл ISO-образа

И далее...

Цитировать===== Перенос /BOOT-раздела =====

1. Создание локальной копии /boot

> dd if=/dev/sdd1 of=/boot.img


2. Изменить точку монтирования /boot (mcedit /etc/fstab)
------------------------------------
/boot.img    /boot    ...............
------------------------------------


3. Выключение сервера

> poweroff


4. Отключение диска/флешки "/sdd"