Lorax is a set of tools used to create bootable images.
Go to file
Michel Alexandre Salim 0b9841d5f7 Fix EFI booting for ISOs generated by mkksiso
If the original ISO contains both `efiboot.img` and `macboot.img`,
the current `xorrisofs` invocation does not configure `efiboot.img`
to be bootable, only `macboot.img`.

This fix uses `>=` to compare `efimode` against `EFIBOOT`, since
`MACBOOT` implies `EFIBOOT` as well.

This is similar to the logic for `mkisofs`.

Fixes #1046.

Generated image confirmed to work, when comparing the reports:

  `xorriso -indev $PATH_TO_ISO -report_el_torito cmd`

```
❯ diff -u ~/xorriso-report-{orig,new}.log
--- /home/michel/xorriso-report-orig.log        2020-07-15 20:01:01.405289018 -0700
+++ /home/michel/xorriso-report-new.log 2020-07-15 20:01:19.183555423 -0700
@@ -1,6 +1,6 @@
--volid 'Fedora-S-dvd-x86_64-32'
--volume_date uuid '2020042219432600'
--boot_image isolinux system_area=--interval:imported_iso:0s-15s:zero_mbrpt,zero_gpt:'/home/michel/Downloads/Fedora-Server-netinst-x86_64-32-1.6.iso'
+-volid 'Fedora-32-btrfs'
+-volume_date uuid '2020071602410900'
+-boot_image isolinux system_area=--interval:imported_iso:0s-15s:zero_mbrpt,zero_gpt:'/home/michel/src/github/michel-slm/luks-kickstarts/iso/Fedora-32-WS-20200715-3.iso'
 -boot_image any partition_cyl_align=on
 -boot_image any partition_offset=0
 -boot_image any partition_hd_cyl=64
@@ -14,12 +14,6 @@
 -boot_image any load_size=2048
 -boot_image any boot_info_table=on
 -boot_image any next
--boot_image any efi_path='/images/efiboot.img'
--boot_image any platform_id=0xef
--boot_image any emul_type=no_emulation
--boot_image any load_size=11462656
--boot_image isolinux partition_entry=gpt_basdat
--boot_image any next
 -boot_image any efi_path='/images/macboot.img'
 -boot_image any platform_id=0xef
 -boot_image any emul_type=no_emulation
```

```
❯ diff -u ~/xorriso-report-{orig,new5}.log
--- /home/michel/xorriso-report-orig.log        2020-07-15 20:01:01.405289018 -0700
+++ /home/michel/xorriso-report-new5.log        2020-07-15 20:30:27.571644770 -0700
@@ -1,6 +1,6 @@
--volid 'Fedora-S-dvd-x86_64-32'
--volume_date uuid '2020042219432600'
--boot_image isolinux system_area=--interval:imported_iso:0s-15s:zero_mbrpt,zero_gpt:'/home/michel/Downloads/Fedora-Server-netinst-x86_64-32-1.6.iso'
+-volid 'Fedora-32-btrfs'
+-volume_date uuid '2020071603283100'
+-boot_image isolinux system_area=--interval:imported_iso:0s-15s:zero_mbrpt,zero_gpt:'./iso/Fedora-32-WS-20200715-5.iso'
 -boot_image any partition_cyl_align=on
 -boot_image any partition_offset=0
 -boot_image any partition_hd_cyl=64
@@ -17,7 +17,7 @@
 -boot_image any efi_path='/images/efiboot.img'
 -boot_image any platform_id=0xef
 -boot_image any emul_type=no_emulation
--boot_image any load_size=11462656
+-boot_image any load_size=11460608
 -boot_image isolinux partition_entry=gpt_basdat
 -boot_image any next
 -boot_image any efi_path='/images/macboot.img'
```

Signed-off-by: Michel Alexandre Salim <michel@michel-slm.name>
2020-07-16 08:48:58 -07:00
docs lorax-composer: Add deprecation notice to documentation 2020-06-11 09:37:12 -07:00
etc composer-cli: Update bash completion for start-ostree 2020-06-11 09:36:32 -07:00
rel-eng Automatic commit of package [lorax] release [33.6-1]. 2020-06-18 11:54:13 -07:00
share include generic.ins for s390 boot iso 2020-06-09 09:58:58 -07:00
src Fix EFI booting for ISOs generated by mkksiso 2020-07-16 08:48:58 -07:00
systemd Add documentation references to lorax-composer service files 2019-04-01 09:31:36 -07:00
test test: Put VM image overlay into /var/tmp 2020-06-02 09:19:20 -07:00
tests tests: Disable cloud-init status check 2020-07-10 08:36:19 -07:00
utils Update things to make pylint 1.5.1 happy 2015-12-16 12:59:48 -08:00
.coveragerc Enable testing in Travis and collecting of coverage history 2018-04-26 22:33:34 +03:00
.dockerignore Update .dockerignore 2018-05-14 13:00:14 -07:00
.gitignore Use Cockpit's test images and infrastructure 2019-05-20 20:24:01 +02:00
.tasks Use .tasks file to trigger removal of stale cloud resources 2020-02-12 14:58:11 +01:00
.travis.yml tests: add docker variable to .travis.yml 2019-11-18 08:41:55 -08:00
ANNOUNCE Added draft on initial announce email as I keep adding to it. 2008-10-06 09:51:01 -10:00
AUTHORS add wwoods to AUTHORS 2011-10-26 12:36:06 -04:00
COPYING Initial project description files imported. 2008-09-11 14:16:39 -10:00
Dockerfile.test tests: Move the list of packages out of Dockerfile.test into a file 2020-01-30 09:49:27 -08:00
HACKING.md Mention python3-magic in HACKING.md 2019-07-10 15:47:36 -07:00
lorax.spec Automatic commit of package [lorax] release [33.6-1]. 2020-06-18 11:54:13 -07:00
Makefile test: Use pytest instead of nose 2020-01-15 10:40:17 -08:00
POLICY Update TODO and POLICY to reflect the current state of things 2012-01-06 14:41:21 -05:00
README.md Update the README with relevant URLs 2018-05-14 14:44:13 -07:00
RELEASE.md Document the release process steps 2019-08-05 14:53:42 -07:00
requirements.txt Mock more modules for RTD 2015-04-09 11:01:20 -07:00
setup.py mkksiso: Add a tool to add a kickstart to an existing boot.iso 2019-11-05 11:09:42 -08:00
test-packages tests: Move the list of packages out of Dockerfile.test into a file 2020-01-30 09:49:27 -08:00
TODO Update TODO and POLICY to reflect the current state of things 2012-01-06 14:41:21 -05:00

Lorax is a set of tools used to create bootable images.

  • lorax - creates the Anaconda boot.iso used to install Fedora
  • livemedia-creator - uses Anaconda to create bootable images
  • lorax-composer - API server implementing the Weldr BDCS protocol using livemedia-creator

See the Weldr blog for more info about BDCS and the Lorax documentation for more information about Lorax and associated tools.