
* Marc Haber [Mon Sep 04, 2017 at 12:15:24PM +0200]:
here is my "real" problem.
(1) Using Debian sid, try building grml64-full using the command line:
sudo grml-live -A -V -u -e ~/grml-remaster/grml64-full_2017.05.iso -s stable -c DEBORPHAN,GRMLBASE,GRML_FULL,RELEASE,AMD64,IGNORE,SNAPSHOT -r "test20170830" -g grml64 -o ~/grml-remaster/tmp
This results in tmp/grml_isos/grml64_0.0.1.iso being generated.
Ok
(2) dd this iso to a LV. Configure a new VM with a CDROM drive and connect this drive to the LV containing the ISO. Boot.
Boot works.
Ok
(3) Try to re-build the grml .iso from within grml using: grml-live -V -e /dev/cdrom -o output/
this emits warnings during the build process about missing EFI files, ending in "xorriso : FAILURE : Cannot find path '/boot/efi.img' in loaded ISO image" (full log in exhibit A).
Here you're using grml-live v0.30.1
(4) configure the same VM to boot from a released grml64-full.2017.05 iso
(5) try rebuilding the grml.iso file with the same command line: grml-live -V -e /dev/cdrom -o output/
(6) see the build succeed (exhibit B).
Here you're using grml-live v0.29.7
What am I doing wrong when building grml64_0.0.1.iso so that it cannot self-reproduce, while the released grml64-full.2017.05.iso can? Any hints?
You are using different grml-live versions. Between grml-live v0.29.7 and v0.30.1 the EFI support for 32bit systems was added as well as switching from isohybrid to xorriso/isohybrid combination. The /boot/efi.img handling is quite tricky overall since it's being generated within a chroot script. This is something I've completely reworked in recent grml-live git for supporting Secure Boot, so the issue you saw with v0.30.1 *might*[1] be fixed already with latest grml-live from git.
So if you want just try the latest grml-live version from git, either with the package from https://jenkins.grml.org/job/grml-live-binaries/ or straight out of git:
export SCRIPTS_DIRECTORY=$(pwd)/scripts export GRML_FAI_CONFIG=$(pwd)/etc/grml/fai export LIVE_CONF=$(pwd)/etc/grml/grml-live.conf ./grml-live ...
[1] "might" because I've not tested your use case and I'm not 100% sure the files required by xorriso/isohybrid are really there as needed
regards, -mika-