Support non-genisoimage binaries

Updates tinyipa build script so it can use one of the multiple
different ISO filesystem generation tools in the ecosystem.

Also updates the dib docs which states IPA requires genisoimage,
which is... not... true.

Change-Id: I505aed2ec98674a0495174219609694042d59070
This commit is contained in:
Julia Kreger 2021-09-15 16:21:14 -07:00
parent 8f8cff29b5
commit 47ca82775c
3 changed files with 18 additions and 3 deletions

View File

@ -240,7 +240,7 @@ Beyond installing the ironic-python-agent, this element does the following:
* Disables the ``iptables`` service on SysV and systemd based systems.
* Disables the ``ufw`` service on Upstart based systems.
* Installs packages required for the operation of the ironic-python-agent::
``qemu-utils`` ``parted`` ``hdparm`` ``util-linux`` ``genisoimage``
``qemu-utils`` ``parted`` ``hdparm`` ``util-linux``
* When installing from source, ``python-dev`` and ``gcc`` are also installed
in order to support source based installation of ironic-python-agent and its
dependencies.

View File

@ -27,7 +27,7 @@ Then you need to install some utilities. For the main build script:
For building an ISO you'll also need:
* genisoimage
* mkisofs, genisoimage, or xorrisofs
Building
--------

View File

@ -17,4 +17,19 @@ cp build_files/syslinux-${SYSLINUX_VERSION}/bios/core/isolinux.bin newiso/boot/i
cp build_files/isolinux.cfg newiso/boot/isolinux/.
cp tinyipa${BRANCH_EXT}.gz newiso/boot/corepure64.gz
cp tinyipa${BRANCH_EXT}.vmlinuz newiso/boot/vmlinuz64
genisoimage -l -r -J -R -V TC-custom -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -o tinyipa.iso newiso
set +e
ISO_BUILDER=""
for builder in mkisofs genisoimage xorrisofs; do
if $($builder --help); then
ISO_BUILDER=$builder
fi
done
if [ -z "$ISO_BUILDER" ]; then
echo "Please install a ISO filesystem builder utility such as mkisofs, genisoimage, or xorrisofs."
exit 1
fi
set -e
$ISO_BUILDER -l -r -J -R -V TC-custom -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -o tinyipa.iso newiso