Usermode-fs-tools/iso2stick: различия между версиями

Материал из ALT Linux Wiki
(Новая страница: «'''iso2stick''' -- достаточно мощный конвертер, у которого много разных возможностей. Он перепак…»)
 
Строка 40: Строка 40:
</pre>
</pre>


== Ключевые особенности ==
== Ключевые возможности ==
 
* Для запуска не требуется полномочий root, операция выполняется обычным пользователем.
* По умолчанию размер создаваемого образа стремится к минимуму, т.е. на нём не останется свободного места.
* Но можно указать явно, сколько мегабайт необходимо зарезервировать либо задать требуемый размер образа.
* Замена конгломерата загрузчиков с графикой только одним без графики: в ряде случаев это увеличивает надёжность.
* Единое меню при любых вариантах загрузки: генерируется само либо создаётся на основе пользовательского шаблона.
* Можно "оторвать" неподходящий режим загрузки, препятствующий решению некоторой задачи на "железе".
* Можно убрать не нужные файлы второй стадии загрузки, сократив размер диска и число пунктов загрузочного меню.
* Можно добавить указанные файлы на создаваемый образ диска.
* Можно заменить некоторые файлы в создаваемом образе диска.
* Можно передать набор своих скриптов-хуков, выполняемых непосредственно перед созданием образа.
* Можно конвертировать диски, предназначенные для другой аппаратной платформы.
 
== Пока не реализованы ==
 
* Возможность углубляться в образы initrd (первая стадия загрузки) и squashfs (вторая стадия загрузки).
* Возможность замены устаревшего и ненадёжного [[propagator]] новыми скриптами [[make-initrd]].
* Возможность перепаковки initrd другими инструментами в тех случаях, когда [[make-initrd]] не подходит.
* Возможность исправления "на лету" уже известных багов в определённых установочных образах.
 
== Режим 'foreign' ==
 
Интересной особенностью утилиты является возможность конвертирования дисков на одной аппаратной платформе для другой аппаратной платформы. Например, операцию можно выполнить, сидя за компьютером '''x86_64''', конвертируя диск для платформы '''aarch64'''. Данная возможность доступна с оговорками: в хостовой системе должен стоять '''grub''' (для любых целевых носителей, кроме '''e2k'''/'''e2kv4''') и на исходном ISO-9660 диске в репозитории '''ALTLinux/RPMS.main''' должны находиться требуемые RPM-пакеты (в основном, связанные с загрузчиком '''grub'''). Другими словами: для '''e2k'''/'''e2kv4''' никаких особых требований нет, но использовать Эльбрус в качестве хостовой системы для других архитектур не выйдет, для остальных аппаратных платформ исходный ISO-диск должен быть установочным дистрибутивом ALT.


Интересной особенностью утилиты является возможность конвертирования дисков на одной аппаратной платформе для другой аппаратной платформы. Например, операцию можно выполнить, сидя за компьютером '''x86_64''', конвертируя диск для платформы '''aarch64'''. Правда, такая возможность доступна с оговорками: в хостовой системе должен стоять '''grub''' (для любых целевых носителей, кроме '''e2k'''/'''e2kv4''') и на исходном ISO-9660 диске в репозитории '''ALTLinux/RPMS.main''' должны находиться требуемые RPM-пакеты (в основном, связанные с загрузчиком '''grub'''). Другими словами: для '''e2k'''/'''e2kv4''' никаких особых требований нет, но использовать его в качестве хостовой системы для других архитектур не выйдет, для остальных аппаратных платформ исходный ISO-диск должен быть установочным дистрибутивом ALT.


'''Enjoy!''' ;-)
'''Enjoy!''' ;-)

Версия от 00:23, 17 ноября 2020

iso2stick -- достаточно мощный конвертер, у которого много разных возможностей. Он перепаковывает официальные образы дистрибутивов ALT (в формате ISO-9660) в загрузочные образы USB-стиков (HDD-дисков). Для использования данной утилиты не требуется полномочий root, необходим только один пакет: usermode-fs-tools.

Формальное описание

$ iso2stick -h
Usage: iso2stick [<options>...] [--] <iso9660> <image> [<size>]

Options:
  -b, --bios-only        Make BIOS-only boottable system on x86.
  -D, --datadir=<PATH>   Add specified files to the boot disk.
  -d, --dual-boot        Add both 32-bit and 64-bit UEFI firmware
                         boot loaders for 64-bit target system,
                         such as x86_64 or aarch64.
  -e, --excludes=<FILE>  Set list for exclude files from ISO-9660.
  -f, --files=<FILE>     Set list for include files from ISO-9660.
  -g, --guid-gpt         Use GUID/GPT disk label instead BIOS/MBR.
  -m, --mode=<MODE>      One of the followed repack modes: rescue,
                         deploy, install, live, install+rescue,
                         install+live or install+live+rescue.
  -L, --lang=<LIST>      List of the languages, for example:
                         '"ru_RU=Russian" "en_US=English"'.
  -l, --initlang=<CODE>  Initial/default language code
                         ('ru_RU' used by default).
  -n, --no-clean         Keep temporary files on exit.
  -P, --pad-space        Fill free space on EFI-part by zero's.
  -q, --quiet            Suppress additional diagnostic.
  -r, --reserved=<SIZE>  Reserved space on the boot disk, in MiB.
  -S, --swap=<SIZE>      Specify SWAP partition size, in MiB.
  -s, --secure-boot      Use ALT shim's for UEFI Secure Boot.
  -T, --timeout=<SECS>   Specify boot menu timeout, in seconds.
  -t, --target=<ARCH>    Use specified target architecture: i586,
                         x86_64, aarch64, armh, ppc64le or e2k/v4.
  -U, --uuid=<UUID>      Specify UUID of the ROOT filesystem.
  -u, --uefi-only        Make UEFI-only boottable system on x86.
  -v, --version          Show this program version and exit.
  -h, --help             Show this help message and exit.

Please, report bugs to https://bugzilla.altlinux.org/

Ключевые возможности

  • Для запуска не требуется полномочий root, операция выполняется обычным пользователем.
  • По умолчанию размер создаваемого образа стремится к минимуму, т.е. на нём не останется свободного места.
  • Но можно указать явно, сколько мегабайт необходимо зарезервировать либо задать требуемый размер образа.
  • Замена конгломерата загрузчиков с графикой только одним без графики: в ряде случаев это увеличивает надёжность.
  • Единое меню при любых вариантах загрузки: генерируется само либо создаётся на основе пользовательского шаблона.
  • Можно "оторвать" неподходящий режим загрузки, препятствующий решению некоторой задачи на "железе".
  • Можно убрать не нужные файлы второй стадии загрузки, сократив размер диска и число пунктов загрузочного меню.
  • Можно добавить указанные файлы на создаваемый образ диска.
  • Можно заменить некоторые файлы в создаваемом образе диска.
  • Можно передать набор своих скриптов-хуков, выполняемых непосредственно перед созданием образа.
  • Можно конвертировать диски, предназначенные для другой аппаратной платформы.

Пока не реализованы

  • Возможность углубляться в образы initrd (первая стадия загрузки) и squashfs (вторая стадия загрузки).
  • Возможность замены устаревшего и ненадёжного propagator новыми скриптами make-initrd.
  • Возможность перепаковки initrd другими инструментами в тех случаях, когда make-initrd не подходит.
  • Возможность исправления "на лету" уже известных багов в определённых установочных образах.

Режим 'foreign'

Интересной особенностью утилиты является возможность конвертирования дисков на одной аппаратной платформе для другой аппаратной платформы. Например, операцию можно выполнить, сидя за компьютером x86_64, конвертируя диск для платформы aarch64. Данная возможность доступна с оговорками: в хостовой системе должен стоять grub (для любых целевых носителей, кроме e2k/e2kv4) и на исходном ISO-9660 диске в репозитории ALTLinux/RPMS.main должны находиться требуемые RPM-пакеты (в основном, связанные с загрузчиком grub). Другими словами: для e2k/e2kv4 никаких особых требований нет, но использовать Эльбрус в качестве хостовой системы для других архитектур не выйдет, для остальных аппаратных платформ исходный ISO-диск должен быть установочным дистрибутивом ALT.


Enjoy! ;-)