grml2iso(8)
===========

Name
----
grml2iso - create a multiboot Grml ISO using grml2usb

Synopsis
--------
grml2iso -o <target.iso> <ISO[s]>

*******************************************************************************
Important! The Grml team does not take responsibility for loss of any data!
*******************************************************************************

Introduction
------------

grml2iso allows you to create a multiboot Grml ISO.
You can specify two or more Grml ISOs and will get one single multiboot ISO as a result.
grml2iso requires and uses grml2usb for this task.

Important
---------

The order of the provided ISOs matters for two reasons:

1) order in boot menu entries: the first ISO specified is listed as first (default) option in the boot menu, further ISOs will be listed below as next options

2) EFI image to be used: the EFI image for booting via (U)EFI will be taken from the last provided ISO.
Therefore to be able to boot on 64bit EFI systems, you need to provide a 64bit ISO (like grml64-small or grml64-full) as _last_ ISO in the grml2iso command line.

Options
-------

grml2iso supports the environment variables GRML2USB and WRKDIR.
GRML2USB specifies the path to the grml2usb script you'd like to use.
WRKDIR specifies the work directory for creating the filesystem.
The work directory needs at least as much free disk space as the sum of all specified ISOs.

  *-o <target.iso>*::

This option is mandatory and specifies where the resulting multiboot Grml ISO should be placed.
Note that (to avoid any possible data loss) grml2iso will exit if the specified target.iso exists already.

  *-c <directory>*::

The content of the specified directory will be copied to the resulting multiboot Grml ISO.

  *-b <boot params>*::

Use specified default bootoptions as default.

  *-f*::

Force the program to run and overwrite an existing ISO image.

  *-r <boot param>*::

Remove specified boot parameter from existing command line.
Can be specified multiple times.

  *-p <grml2usb param>*::

Execute grml2usb with the specified parameters.
For a list of valid parameters have a look at the grml2usb(8) manual page.

  *-s <URI>*::

Generate a small ISO file which downloads the squashfs file from the specified URI.
Due to current limitations in busyboxs wget and DNS resolution, an URL can not contain a hostname but an IP only.
This is useful if you want to boot systems which support booting ISO image from your local system.
Besides the ISO image this command also copies the squashfs file to the output directory.

Usage examples
--------------

  # grml2iso -o /tmp/grml-multiboot.iso grml32-small_2020.06.iso grml64-small_2020.06.iso

Create multiboot ISO /tmp/grml-multiboot.iso with grml32-small_2020.06.iso and grml64-small_2020.06.iso.

 # grml2iso -b 'lang=de ssh=passwd' -c /tmp/grml-content -o /srv/grml-multiboot.iso /srv/grml/grml32-small_2020.06.iso

Create a new ISO with additional boot parameters and copy the content from /tmp/grml-content to the generated ISO image.

  # grml2iso -r quiet -r vga=791 -o /srv/grml-multiboot.iso /srv/grml64-small_2020.06.iso

Create a new ISO and remove existing boot parameters quiet and vga=791.

  # GRML2USB=/srv/git/grml2usb/grml2usb grml2iso -o /srv/grml-multiboot.iso /srv/grml/grml32-small_2020.06.iso /srv/grml/grml64-medium_2020.06.iso

Create multiboot ISO /srv/grml-multiboot.iso with grml32-small_2020.06.iso and grml64-medium_2020.06.iso using /srv/git/grml2usb/grml2usb as grml2usb script.

  # WRKDIR=/mnt/test/grml-tmp grml2iso -o /mnt/test/grml-multiboot.iso grml32-small_2020.06.iso grml64-small_2020.06.iso

Use /mnt/test/grml-tmp as working directory for creating the multiboot ISO /mnt/test/grml-multiboot.iso with grml32-small_2020.06.iso and grml64-small_2020.06.iso.

  # grml2iso -p --skip-addons -o /srv/grml-multiboot.iso /srv/grml64-small_2020.06.iso /srv/grml64-small_2020.06.iso

Don't copy the addons from the specified ISO images

Bugs
----
Please report feedback, bug reports and wishes at https://github.com/grml/grml2usb/

[[X7]]
Author
------
Michael Prokop <mika@grml.org>
