Модификация установочного ISO образа: различия между версиями
Нет описания правки |
|||
(не показано 12 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
== Модификация установочного ISO образа == | == Модификация установочного ISO образа == | ||
На примере Альт Рабочая станция 10 | На примере Альт Рабочая станция 9.0 и Альт Рабочая станция 10 https://getalt.org/ru/alt-workstation/ | ||
=== Установка пакетов === | === Установка пакетов === | ||
Строка 9: | Строка 8: | ||
=== Скачивание образа === | === Скачивание образа === | ||
Скачать Альт Рабочая станция 9.0 | |||
$ wget https://mirror.yandex.ru/altlinux/p9/images/workstation/x86_64/alt-workstation-9.0-x86_64.iso | |||
Скачать Альт Рабочая станция 10.1 | |||
$ wget https://mirror.yandex.ru/altlinux/p10/images/workstation/x86_64/alt-workstation-10.1-x86_64.iso | $ wget https://mirror.yandex.ru/altlinux/p10/images/workstation/x86_64/alt-workstation-10.1-x86_64.iso | ||
Строка 16: | Строка 21: | ||
Данная информацию необходима для анализа исходного образа и указания соответствующих значений при обратной запаковке образа | Данная информацию необходима для анализа исходного образа и указания соответствующих значений при обратной запаковке образа | ||
$ isoinfo -d -i | $ isoinfo -d -i путь_к_файлу.iso | ||
$ xorriso -indev путь_к_файлу.iso -toc -pvd_info | |||
Примеры выводов для Альт Рабочая станция 9.0: | |||
{|class="wikitable mw-collapsible mw-collapsed" style="float:center; margin-left:2em" | {|class="wikitable mw-collapsible mw-collapsed" style="float:center; margin-left:2em" | ||
!Вывод команды: | !Вывод команды isoinfo: | ||
|- | |- | ||
| | | | ||
Строка 27: | Строка 33: | ||
CD-ROM is in ISO 9660 format | CD-ROM is in ISO 9660 format | ||
System id: LINUX | System id: LINUX | ||
Volume id: ALT Workstation | Volume id: ALT Workstation 9.0 x86_64 | ||
Volume set id: ALT | Volume set id: ALT | ||
Publisher id: BASEALT LTD | Publisher id: BASEALT LTD | ||
Data preparer id: XORRISO-1.5.4 2021.01.30.150001, LIBISOBURN-1.5.4, LIBISOFS-1.5.4, LIBBURN-1.5.4 | Data preparer id: XORRISO-1.5.4 2021.01.30.150001, LIBISOBURN-1.5.4, LIBISOFS-1.5.4, LIBBURN-1.5.4 | ||
Application id: ALT WORKSTATION | Application id: ALT WORKSTATION 9.0 X86_64 2023-01-26 | ||
Copyright File id: LICENSE_ALL_HTML | Copyright File id: LICENSE_ALL_HTML | ||
Abstract File id: | Abstract File id: | ||
Строка 56: | Строка 62: | ||
</pre> | </pre> | ||
|} | |} | ||
{|class="wikitable mw-collapsible mw-collapsed" style="float:center; margin-left:2em" | {|class="wikitable mw-collapsible mw-collapsed" style="float:center; margin-left:2em" | ||
!Вывод команды: | !Вывод команды xorriso: | ||
|- | |- | ||
| | | | ||
Строка 69: | Строка 73: | ||
xorriso : UPDATE : 4149 nodes read in 1 seconds | xorriso : UPDATE : 4149 nodes read in 1 seconds | ||
xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded | xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded | ||
Drive current: -indev 'alt-workstation- | Drive current: -indev 'alt-workstation-9.0-x86_64.iso' | ||
Media current: stdio file, overwriteable | Media current: stdio file, overwriteable | ||
Media status : is written , is appendable | Media status : is written , is appendable | ||
Boot record : El Torito , MBR protective-msdos-label grub2-mbr cyl-align-off GPT | Boot record : El Torito , MBR protective-msdos-label grub2-mbr cyl-align-off GPT | ||
Media summary: 1 session, 3565951 data blocks, 6965m data, 229g free | Media summary: 1 session, 3565951 data blocks, 6965m data, 229g free | ||
Volume id : 'ALT Workstation | Volume id : 'ALT Workstation 9.0 x86_64' | ||
Drive current: -indev 'alt-workstation- | Drive current: -indev 'alt-workstation-9.0-x86_64.iso' | ||
Drive access : exclusive:unrestricted | Drive access : exclusive:unrestricted | ||
Drive type : vendor 'YOYODYNE' product 'WARP DRIVE' revision 'FX01' | Drive type : vendor 'YOYODYNE' product 'WARP DRIVE' revision 'FX01' | ||
Строка 88: | Строка 92: | ||
ISO loaded : Rock_Ridge | ISO loaded : Rock_Ridge | ||
TOC layout : Idx , sbsector , Size , Volume Id | TOC layout : Idx , sbsector , Size , Volume Id | ||
ISO session : 1 , 0 , 3565951s , ALT Workstation | ISO session : 1 , 0 , 3565951s , ALT Workstation 9.0 x86_64 | ||
Media summary: 1 session, 3565951 data blocks, 6965m data, 229g free | Media summary: 1 session, 3565951 data blocks, 6965m data, 229g free | ||
Media nwa : 3565952s | Media nwa : 3565952s | ||
Drive current: -indev 'alt-workstation- | Drive current: -indev 'alt-workstation-9.0-x86_64.iso' | ||
PVD address : 16s | PVD address : 16s | ||
Volume Id : ALT Workstation | Volume Id : ALT Workstation 9.0 x86_64 | ||
Volume Set Id: ALT | Volume Set Id: ALT | ||
Publisher Id : BASEALT LTD | Publisher Id : BASEALT LTD | ||
Preparer Id : XORRISO-1.5.4 2021.01.30.150001, LIBISOBURN-1.5.4, LIBISOFS-1.5.4, LIBBURN-1.5.4 | Preparer Id : XORRISO-1.5.4 2021.01.30.150001, LIBISOBURN-1.5.4, LIBISOFS-1.5.4, LIBBURN-1.5.4 | ||
App Id : ALT WORKSTATION | App Id : ALT WORKSTATION 9.0 X86_64 2023-01-26 | ||
System Id : LINUX | System Id : LINUX | ||
CopyrightFile: LICENSE_ALL_HTML | CopyrightFile: LICENSE_ALL_HTML | ||
Строка 110: | Строка 114: | ||
=== Распаковка образа === | === Распаковка образа === | ||
Распаковка образа осуществляется в указанную нами директорию (в примере altcustom), где мы сможем править содержимое нашего будущего образа. | |||
$ mkdir altcustom | $ mkdir altcustom | ||
$ xorriso -osirrox on -indev | $ xorriso -osirrox on -indev путь_к_файлу.iso -extract / altcustom | ||
Разрешаем правку владельцу: | |||
$ chmod 700 -R ~/altcustom | |||
=== Содержимое образа === | === Содержимое образа === | ||
Строка 166: | Строка 175: | ||
Чтобы новый ISO сохранил возможность запускаться с флешек, необходимо из исходного ISO получить гибридный MBR: | Чтобы новый ISO сохранил возможность запускаться с флешек, необходимо из исходного ISO получить гибридный MBR: | ||
# dd if= | # dd if=путь_к_файлу.iso of=altcustom/syslinux/isohdpfx.bin bs=512 count=1 | ||
После этого можно создавать гибридный ISO образ: | После этого можно создавать гибридный ISO образ: | ||
{{Note|Замените значения параметров <tt>volid</tt> и <tt>appid</tt> на свои, полученные на этапе анализа исходного образа}} | {{Note|Замените значения параметров <tt>volid</tt> и <tt>appid</tt> на свои, полученные на этапе анализа исходного образа}} | ||
'''Создание образа на основе Альт Рабочая станция 9.0''' | |||
# cd altcustom/ | # cd altcustom/ | ||
# xorriso -as mkisofs -joliet -partition_cyl_align "off" -partition_offset 16 -iso-level 3 -full-iso9660-filenames -sysid "LINUX" -volid "ALT Workstation 9.0 x86_64" -volset "ALT" -publisher "BASEALT LTD" -appid "ALT WORKSTATION 9.0 X86_64 2019-10-22" -copyright "LICENSE_ALL_HTML" -eltorito-boot syslinux/isolinux.bin -eltorito-catalog syslinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -isohybrid-mbr syslinux/isohdpfx.bin -eltorito-alt-boot -efi-boot EFI/.efiboot.img -no-emul-boot -isohybrid-gpt-basdat -output ../alt-custom.iso . | # xorriso -as mkisofs -joliet -partition_cyl_align "off" -partition_offset 16 -iso-level 3 -full-iso9660-filenames -sysid "LINUX" -volid "ALT Workstation 9.0 x86_64" -volset "ALT" -publisher "BASEALT LTD" -appid "ALT WORKSTATION 9.0 X86_64 2019-10-22" -copyright "LICENSE_ALL_HTML" -eltorito-boot syslinux/isolinux.bin -eltorito-catalog syslinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -isohybrid-mbr syslinux/isohdpfx.bin -eltorito-alt-boot -efi-boot EFI/.efiboot.img -no-emul-boot -isohybrid-gpt-basdat -output ../alt-custom.iso . | ||
'''Создание образа на основе Альт Рабочая станция 10''' | |||
# cd altcustom/ | |||
# xorriso -as mkisofs -joliet -iso-level 3 -full-iso9660-filenames -sysid "LINUX" -volid "ALT Workstation 10" -volset "ALT" -publisher "BASEALT LTD" -appid "ALT WORKSTATION" -copyright "LICENSE_ALL_HTML" -eltorito-boot boot/grub/bios.img --eltorito-catalog boot/grub/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table --grub2-boot-info --protective-msdos-label --grub2-mbr syslinux/isohdpfx.bin -eltorito-alt-boot -e EFI/.efiboot.img -efi-boot-part EFI/.efiboot.img -no-emul-boot -output ../my-alt-custom.iso . | |||
{{Note| | |||
# Команда проверялась на "Альт Рабочая станция 10.1" и "Альт рабочая станция К 10.3" | |||
# Для '''--grub2-mbr''' вместо "syslinux/isohdpfx.bin" можно указать путь до исходного ISO образа.}} | |||
== Ссылки == | == Ссылки == | ||
# https://wiki.archlinux.org/index.php/Remastering_the_Install_ISO_(Русский) | # https://wiki.archlinux.org/index.php/Remastering_the_Install_ISO_(Русский) | ||
# https://linuxconfig.org/legacy-bios-uefi-and-secureboot-ready-ubuntu-live-image-customization | # https://linuxconfig.org/legacy-bios-uefi-and-secureboot-ready-ubuntu-live-image-customization |
Текущая версия от 09:26, 29 сентября 2024
Модификация установочного ISO образа
На примере Альт Рабочая станция 9.0 и Альт Рабочая станция 10 https://getalt.org/ru/alt-workstation/
Установка пакетов
# apt-get install xorriso squashfs-tools cdrkit-utils genisoimage
Скачивание образа
Скачать Альт Рабочая станция 9.0
$ wget https://mirror.yandex.ru/altlinux/p9/images/workstation/x86_64/alt-workstation-9.0-x86_64.iso
Скачать Альт Рабочая станция 10.1
$ wget https://mirror.yandex.ru/altlinux/p10/images/workstation/x86_64/alt-workstation-10.1-x86_64.iso
Получение информации об образе
Данная информацию необходима для анализа исходного образа и указания соответствующих значений при обратной запаковке образа
$ isoinfo -d -i путь_к_файлу.iso $ xorriso -indev путь_к_файлу.iso -toc -pvd_info
Примеры выводов для Альт Рабочая станция 9.0:
Вывод команды isoinfo: |
---|
CD-ROM is in ISO 9660 format System id: LINUX Volume id: ALT Workstation 9.0 x86_64 Volume set id: ALT Publisher id: BASEALT LTD Data preparer id: XORRISO-1.5.4 2021.01.30.150001, LIBISOBURN-1.5.4, LIBISOFS-1.5.4, LIBBURN-1.5.4 Application id: ALT WORKSTATION 9.0 X86_64 2023-01-26 Copyright File id: LICENSE_ALL_HTML Abstract File id: Bibliographic File id: Volume set size is: 1 Volume set sequence number is: 1 Logical block size is: 2048 Volume size is: 3565951 El Torito VD version 1 found, boot catalog is in sector 1172 Joliet with UCS level 3 found Rock Ridge signatures version 1 found Eltorito validation header: Hid 1 Arch 0 (x86) ID '' Key 55 AA Eltorito defaultboot header: Bootid 88 (bootable) Boot media 0 (No Emulation Boot) Load segment 0 Sys type 0 Nsect 4 Bootoff 495 1173 |
Вывод команды xorriso: |
---|
xorriso 1.5.4 : RockRidge filesystem manipulator, libburnia project. xorriso : NOTE : Loading ISO image tree from LBA 0 xorriso : UPDATE : 4149 nodes read in 1 seconds xorriso : NOTE : Detected El-Torito boot information which currently is set to be discarded Drive current: -indev 'alt-workstation-9.0-x86_64.iso' Media current: stdio file, overwriteable Media status : is written , is appendable Boot record : El Torito , MBR protective-msdos-label grub2-mbr cyl-align-off GPT Media summary: 1 session, 3565951 data blocks, 6965m data, 229g free Volume id : 'ALT Workstation 9.0 x86_64' Drive current: -indev 'alt-workstation-9.0-x86_64.iso' Drive access : exclusive:unrestricted Drive type : vendor 'YOYODYNE' product 'WARP DRIVE' revision 'FX01' Media current: stdio file, overwriteable Media status : is written , is appendable Media blocks : 3565951 readable , 120293428 writable , 123859380 overall Boot record : El Torito , MBR protective-msdos-label grub2-mbr cyl-align-off GPT Boot catalog : '/boot/grub/boot.cat' Boot image : '/boot/grub/bios.img' , boot_info_table=on , grub2_boot_info=on Boot image : '/EFI/.efiboot.img' , platform_id=0xEF ISO offers : Rock_Ridge Joliet ISO loaded : Rock_Ridge TOC layout : Idx , sbsector , Size , Volume Id ISO session : 1 , 0 , 3565951s , ALT Workstation 9.0 x86_64 Media summary: 1 session, 3565951 data blocks, 6965m data, 229g free Media nwa : 3565952s Drive current: -indev 'alt-workstation-9.0-x86_64.iso' PVD address : 16s Volume Id : ALT Workstation 9.0 x86_64 Volume Set Id: ALT Publisher Id : BASEALT LTD Preparer Id : XORRISO-1.5.4 2021.01.30.150001, LIBISOBURN-1.5.4, LIBISOFS-1.5.4, LIBBURN-1.5.4 App Id : ALT WORKSTATION 9.0 X86_64 2023-01-26 System Id : LINUX CopyrightFile: LICENSE_ALL_HTML Abstract File: Biblio File : Creation Time: 2023012610542500 Modif. Time : 2023012610542500 Expir. Time : 0000000000000000 Eff. Time : 0000000000000000 |
Распаковка образа
Распаковка образа осуществляется в указанную нами директорию (в примере altcustom), где мы сможем править содержимое нашего будущего образа.
$ mkdir altcustom $ xorriso -osirrox on -indev путь_к_файлу.iso -extract / altcustom
Разрешаем правку владельцу:
$ chmod 700 -R ~/altcustom
Содержимое образа
В каталоге altcustom/ можно увидеть содержимое распакованного образа:
altinst <-- Файл образа
ALTLinux
boot
docs
EFI
index.html
license.all.html
license.ru.html
live <-- Файл образа
Metadata
rescue <-- Файл образа
syslinux
Для перепаковки, в первую очередь, интерес представляют squash-образы:
altinst live rescue
и каталог:
ALTLinux/
altinst — базовый образ для установки системы
live — образ для запуска LiveCD
rescue — образ для запуска RescueCD
ALTLinux/ — содержит набор пакетов для установки системы
Изменение содержимого образа
Для примера, распакуем образ altinst:
$ su - # cd /home/user <-- куда мы скопировали каталоги # unsquashfs altcustom/altinst
При этом в текущем каталоге будет создан дополнительный каталог squashfs-root/ с содержимым этого образа.
Запаковать образ обратно можно так, предварительно удалив существующий образ:
# rm -f altcustom/altinst # mksquashfs squashfs-root/ altcustom/altinst
Добавить свои пакеты в набор устанавливаемых пакетов можно по специальному разделу из статьи Autoinstall.
Создание ISO
Когда все манипуляции с образом будут выполнены, убедитесь, что в каталоге не осталось лишних файлов, и приступайте к сборке образа.
Чтобы новый ISO сохранил возможность запускаться с флешек, необходимо из исходного ISO получить гибридный MBR:
# dd if=путь_к_файлу.iso of=altcustom/syslinux/isohdpfx.bin bs=512 count=1
После этого можно создавать гибридный ISO образ:
Создание образа на основе Альт Рабочая станция 9.0
# cd altcustom/ # xorriso -as mkisofs -joliet -partition_cyl_align "off" -partition_offset 16 -iso-level 3 -full-iso9660-filenames -sysid "LINUX" -volid "ALT Workstation 9.0 x86_64" -volset "ALT" -publisher "BASEALT LTD" -appid "ALT WORKSTATION 9.0 X86_64 2019-10-22" -copyright "LICENSE_ALL_HTML" -eltorito-boot syslinux/isolinux.bin -eltorito-catalog syslinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -isohybrid-mbr syslinux/isohdpfx.bin -eltorito-alt-boot -efi-boot EFI/.efiboot.img -no-emul-boot -isohybrid-gpt-basdat -output ../alt-custom.iso .
Создание образа на основе Альт Рабочая станция 10
# cd altcustom/ # xorriso -as mkisofs -joliet -iso-level 3 -full-iso9660-filenames -sysid "LINUX" -volid "ALT Workstation 10" -volset "ALT" -publisher "BASEALT LTD" -appid "ALT WORKSTATION" -copyright "LICENSE_ALL_HTML" -eltorito-boot boot/grub/bios.img --eltorito-catalog boot/grub/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table --grub2-boot-info --protective-msdos-label --grub2-mbr syslinux/isohdpfx.bin -eltorito-alt-boot -e EFI/.efiboot.img -efi-boot-part EFI/.efiboot.img -no-emul-boot -output ../my-alt-custom.iso .
- Команда проверялась на "Альт Рабочая станция 10.1" и "Альт рабочая станция К 10.3"
- Для --grub2-mbr вместо "syslinux/isohdpfx.bin" можно указать путь до исходного ISO образа.