Kiwi: xorriso is not copying/linking “efi” file in iso location /boot/x86_64

95 views
Skip to first unread message

Smruti Ranjan

unread,
Dec 13, 2023, 11:15:34 AM12/13/23
to kiwi

It looks 9.23.20 kiwi version uses install media directory which got changed in 9.24 and later. it uses some prefix like string “efi-loader” → which is causing this issue.

Any direction on how to get it resolved would be appreciated.

9.24.43 Kiwi version

/usr/bin/xorriso -application_id 0x3126652a -volid INSTALL -joliet on -padding 0 -outdev /root/test/enterprise_test/appliance/target/appliance/output/oem/test_hardware/enterprise_test.map /root/test/enterprise_test/appliance/target/appliance/output/oem/test_hardware/kiwi_install_media.we18p1qd / -chmod 0755 / – -boot_image grub bin_path=boot/x86_64/loader/eltorito.img -boot_image grub grub2_mbrappliance/target/appliance/output/oem/test_hardware/kiwi_install_media.we18p1qd/boot/x86_64//loader/boot_hybrid.img -boot_image grub grub2_boot_info=on -boot_image any partition_offset=16 -boot_image any cat_path-boot_image any cat_hidden=on -boot_image any boot_info_table=on -boot_image any platform_id=0x00 -boot_image any emul_type=no_emulation -boot_image any load_size=2048 -append_partition 2 0xef /root/test/enterpripliance/output/oem/test_hardware/efi-loader.op_0wwgb -boot_image any next -boot_image any efi_path=–interval:appended_partition_2:all:: -boot_image any platform_id=0xef -boot_image any emul_type=no_emulation

9.23.20 version

/usr/bin/xorriso -application_id 0xc5924d7c -volid INSTALL -joliet on -padding 0 -outdev /home/jenkins/jenkins_slave_builds_prod/workspace/test-latest-Stable/appliance/enterprise_test/appliance/target/appliance/output/oem/test_hardware/enterprise_test.x86_64-0.0.1.install.iso -map /home/jenkins/jenkins_slave_builds_prod/workspace/test-latest-Stable/appliance/enterprise_test/appliance/target/appliance/output/oem/test_hardware/kiwi_install_media.f1d2j7gc / -chmod 0755 / – -boot_image grub bin_path=boot/x86_64/loader/eltorito.img -boot_image grub grub2_mbr=/home/jenkins/jenkins_slave_builds_prod/workspace/test-latest-Stable/appliance/enterprise_test/appliance/target/appliance/output/oem/test_hardware/kiwi_install_media.f1d2j7gc/boot/x86_64//loader/boot_hybrid.img -boot_image grub grub2_boot_info=on -boot_image any partition_offset=16 -boot_image any cat_path=boot/x86_64/boot.catalog -boot_image any cat_hidden=on -boot_image any boot_info_table=on -boot_image any platform_id=0x00 -boot_image any emul_type=no_emulation -boot_image any load_size=2048 -append_partition 2 0xef /home/jenkins/jenkins_slave_builds_prod/workspace/test-latest-Stable/appliance/enterprise_test/appliance/target/appliance/output/oem/test_hardware/kiwi_install_media.f1d2j7gc/boot/x86_64/efi -boot_image any next -boot_image any efi_path=–interval:appended_partition_2:all:: -boot_image any platform_id=0xef -boot_image any emul_type=no_emulation


image

Smruti Ranjan

unread,
Dec 13, 2023, 11:20:14 AM12/13/23
to kiwi
missing_efi.png

any help here would be appreciated.

Smruti Ranjan

unread,
Dec 13, 2023, 12:21:37 PM12/13/23
to kiwi
To give more clarity on the issue:
We started running into problem after upgrading Kiwi version from 9.23.20 to 9.24.43 and we did not make any changes to config.kiwi, we are using firware="oem" in config file. config snapshot attached above for your perusal.


Smruti Ranjan

unread,
Dec 14, 2023, 12:36:42 AM12/14/23
to kiwi
Found last check-in which is broken our build:
image


image

@Marcus Schafer above is broken backward compatibility, please respond.

Smruti Ranjan

unread,
Dec 14, 2023, 12:52:37 AM12/14/23
to kiwi
Revision: 282529de8f612dee32d54ee868c2365dcd829220
Author: Marcus Schäfer <marcus....@gmail.com>
Date: 11/23/2021 8:41:43 PM
Message:
Do not force dracut into a compression setting

So far we called dracut with --xz which forces the initrd
to be xz compressed. There are other compression formats
used by the distributions and they might differe from xz.
The selection for a compression tool is done by a dist
configuration in dracut.conf.d which is provided by the
distributions as they see fit. For us this means not
forcing dracut into a specific compression setting allows
to make use of the distro provided setting and also
allows to change/override this setting by an overlay
file. This Fixes bsc#1192975

Marcus Schäfer

unread,
Dec 14, 2023, 3:36:13 AM12/14/23
to kiwi-...@googlegroups.com
Hi,

Thanks for reaching out. I'm sorry I got confused about
your issue description.

The initial comment describes a problem with xorriso, the last
comment an issue with dracut initrd compression. I don't
understand the connection between the two and I also don't
see any error message that would help me to understand the
problem. Could you provide:

1. The log file of your kiwi image build. kiwi-ng --logfile ...

2. How do you run kiwi ? on a host, which Linux, which version ?
in a container ? in a VM ? in the open build-service ?

3. Can you also share your image description ? This would allow us
to reproduce at least parts of what you do

Sorry only questions and no answers so far :)

Thanks

Regards,
Marcus
--
Public Key available via: https://keybase.io/marcus_schaefer/key.asc
keybase search marcus_schaefer
-------------------------------------------------------
Marcus Schäfer Brunnenweg 18
D-88260 Argenbühl
Germany
-------------------------------------------------------
signature.asc

Smruti Ranjan

unread,
Dec 14, 2023, 8:15:19 AM12/14/23
to kiwi
Hi Marcus, 
Thanks for responding, sorry for the confusion, please find the answers for the ask (Please note: some texts are replaced with dummy texts due to sensitivity)

1) image-root log is attached. (added both of the kiwi version logs so that you will have a side-by-side comparision)
2) We run in docker container as part of jenkins job
3) Sample config.kiwi attached for your perusal.

Broken since: I see "--xz" optional also not added while it create image, on the other side "efi" file is missing in the .iso file as artifact.

image

image


Thanks

Kiwi-9.23.20-Image-root.log
Kiwi-9.24.43-Image-root-Broken-Build.log
config.kiwi

Smruti Ranjan

unread,
Dec 14, 2023, 8:16:51 AM12/14/23
to kiwi
from kiwi repo
changes.png

Smruti Ranjan

unread,
Dec 15, 2023, 6:21:06 AM12/15/23
to kiwi
Hi  Marcus,
Very Good morning, any update on this issue after your log analysis or any plan of action ?
As we currently stuck in this situation completely, any quick config change to enable us to generate a valid .iso ?

Thanking in advance for your support. Appreciate the same!!

Regards

Marcus Schäfer

unread,
Dec 17, 2023, 6:32:44 AM12/17/23
to kiwi-...@googlegroups.com
Hi,

> Very Good morning, any update on this issue after your log analysis or
> any plan of action ?

Thanks for providing the logs and the description. I looked at
the log you provided as file name: Kiwi-9.24.43-Image-root-Broken-Build.log
and looked for kiwi errors in there. However, I cannot find one.
In the log I see:

---snip---

[2023-12-12T09:08:18.815Z] Executing Kiwi command for profile: xyz_hardware, type: oem
...
[2023-12-12T09:14:16.204Z] [ INFO ]: 09:14:16 | Result files:
[2023-12-12T09:14:16.204Z] [ INFO ]: 09:14:16 | --> disk_image: /home/jenkins/jenkins_slave_builds_prod/workspace/xyz-latest-Custom/appliance/enterprise_xyz/appliance/target/appliance/output/oem/xyz_hardware/enterprise_xyz.x86_64-0.0.1.raw
[2023-12-12T09:14:16.204Z] [ INFO ]: 09:14:16 | --> image_changes: /home/jenkins/jenkins_slave_builds_prod/workspace/xyz-latest-Custom/appliance/enterprise_xyz/appliance/target/appliance/output/oem/xyz_hardware/enterprise_xyz.x86_64-0.0.1.changes
[2023-12-12T09:14:16.204Z] [ INFO ]: 09:14:16 | --> image_packages: /home/jenkins/jenkins_slave_builds_prod/workspace/xyz-latest-Custom/appliance/enterprise_xyz/appliance/target/appliance/output/oem/xyz_hardware/enterprise_xyz.x86_64-0.0.1.packages
[2023-12-12T09:14:16.204Z] [ INFO ]: 09:14:16 | --> image_verified: /home/jenkins/jenkins_slave_builds_prod/workspace/xyz-latest-Custom/appliance/enterprise_xyz/appliance/target/appliance/output/oem/xyz_hardware/enterprise_xyz.x86_64-0.0.1.verified
[2023-12-12T09:14:16.204Z] [ INFO ]: 09:14:16 | --> installation_image: /home/jenkins/jenkins_slave_builds_prod/workspace/xyz-latest-Custom/appliance/enterprise_xyz/appliance/target/appliance/output/oem/xyz_hardware/enterprise_xyz.x86_64-0.0.1.install.iso

---snap---

So kiwi produced among others the requested install iso as

enterprise_xyz.x86_64-0.0.1.install.iso

The question sounds dumb, what exactly is wrong ?

> As we currently stuck in this situation completely, any quick config
> change to enable us to generate a valid .iso ?

I'm happy to help, but to say anything useful I need to understand the
issue better. Another part that confuses me is your attached image description.
If you look at the log file it says:

Executing Kiwi command for profile: xyz_hardware ...

This profile does not exist in the description you gave me. In your attached
description I see:

<profiles>
<profile name="ovf" description="Builds an OVF image" />
<profile name="test_hardware" description="Builds an image for deployment on test hardware" />
</profiles>

So something doesn't fit together.

> Broken since: I see "--xz" optional also not added while it create
> image,

I can't follow you on this one, what exactly are you refering to ? the dracut call ?
If so, dracut selects its compression automatically according to the host configuration.
The used compression algorithm can be configured via a dracut conf file e.g
/etc/dracut.conf.d/50-enable-zstd-compression.conf with content:

compress="xz"

But again I don't see any relation to the issue you described

> on the other side "efi" file is missing in the .iso file as
> artifact.

I also can't follow you on this one, because according to the logs there is

---snip---

[2023-12-12T09:12:19.966Z] [ DEBUG ]: 09:12:19 | Searching grub file: x86_64-efi
[2023-12-12T09:12:19.966Z] [ DEBUG ]: 09:12:19 | --> /home/jenkins/jenkins_slave_builds_prod/workspace/xyz-latest-Custom/appliance/enterprise_xyz/appliance/target/appliance/output/oem/xyz_hardware/build/image-root/usr/share/grub2/x86_64-efi
[2023-12-12T09:12:19.966Z] [ DEBUG ]: 09:12:19 | --> Found in: /home/jenkins/jenkins_slave_builds_prod/workspace/xyz-latest-Custom/appliance/enterprise_xyz/appliance/target/appliance/output/oem/xyz_hardware/build/image-root/usr/share/grub2/x86_64-efi

---snap---

And the xorriso and all other calls regarding the EFI setup looks correct to me

So I'm still confused, can you please explain what exactly is wrong ?
All I see are log files that builds an image successfully, even the one you
named "broken" :) So what exactly is broken ?

Thanks

Best regards,
signature.asc

Smruti Ranjan

unread,
Dec 19, 2023, 1:12:55 PM12/19/23
to kiwi
Hi Marcus, 
Thanks for the response, I am no expert in Kiwi internals (dracut, xorriso etc.). Even there is no Kiwi failures I could see, I strongly suspect it is some minor path issue while we do copy but unable to figure out.

Point here is, everything was fine in 9.23.20 Kiwi version until we upgraded to 9.24.43 (since SUSE 15 SP4 mandates 9.24.43 kiwi version as baseline) and we started seeing this issue.
As I already 1 observation and 1 issue:

Observation:
--------------------
Dracut is not compressing the image and missing .xz extension (as default)

from logs: 9.24.43
*** Creating initramfs image file '/initrd_kiwi_install' done ***

from logs: 9.23.20
dracut: *** Creating initramfs image file '/initrd_kiwi_install.xz' done ***

Which you mentioned is configurable, could you please specific where to add compress="xz" to make to work as before ? I see below config files and do not see "50-enable-zstd-compression.conf" file

localhost:/etc/dracut.conf.d # ls -l
total 12
-rw-r--r-- 1 root root 908 Dec 19 08:28 10-persistent_policy.conf
-rw-r--r-- 1 root root 487 Apr  9  2023 99-debug.conf
-rw-r--r-- 1 root root 769 Jan 27  2023 ostree.conf
localhost:/etc/dracut.conf.d #

Actual Issue: efi file is not present in actual .iso created
---------------------------------------------------------------------------------
To explain this we run: [config.kiwi] attached already
sudo /usr/bin/kiwi --profile=test_hardware --type=oem --debug --shared-cache-dir <share-kiwi-cache> system build --description=<desc> --target-dir=<target_dir> --add-repo=<repos> --add-package=<packages>

this spawns to dracut call and other things.


9.24.43 logs: It is missing "/boot/x86_64/efi" path value in below
-----------------
[ DEBUG   ]: 09:13:49 | EXEC: [qemu-img create /home/jenkins/jenkins_slave_builds_prod/workspace/test-latest-Custom/appliance/enterprise_test/appliance/target/appliance/output/oem/test_hardware/efi-loader.ner333jk 20M]
[ DEBUG   ]: 09:13:49 | EXEC: [mkdosfs -n BOOT /home/jenkins/jenkins_slave_builds_prod/workspace/test-latest-Custom/appliance/enterprise_test/appliance/target/appliance/output/oem/test_hardware/efi-loader.ner333jk]
[ DEBUG   ]: 09:13:49 | EXEC: [mcopy -Do -s -i /home/jenkins/jenkins_slave_builds_prod/workspace/test-latest-Custom/appliance/enterprise_test/appliance/target/appliance/output/oem/test_hardware/efi-loader.ner333jk /home/jenkins/jenkins_slave_builds_prod/workspace/test-latest-Custom/appliance/enterprise_test/appliance/target/appliance/output/oem/test_hardware/kiwi_install_media.om4u9l9r/EFI ::]


9.23.20 logs: 
-----------------
[ DEBUG   ]: 20:21:13 | EXEC: [qemu-img create /home/jenkins/jenkins_slave_builds_prod/workspace/test-latest-Stable/appliance/enterprise_test/appliance/target/appliance/output/oem/test_hardware/kiwi_install_media.f1d2j7gc/boot/x86_64/efi 15M]
[ DEBUG   ]: 20:21:13 | EXEC: [mkdosfs -n BOOT /home/jenkins/jenkins_slave_builds_prod/workspace/test-latest-Stable/appliance/enterprise_test/appliance/target/appliance/output/oem/test_hardware/kiwi_install_media.f1d2j7gc/boot/x86_64/efi]
[ DEBUG   ]: 20:21:13 | EXEC: [mcopy -Do -s -i /home/jenkins/jenkins_slave_builds_prod/workspace/test-latest-Stable/appliance/enterprise_test/appliance/target/appliance/output/oem/test_hardware/kiwi_install_media.f1d2j7gc/boot/x86_64/efi /home/jenkins/jenkins_slave_builds_prod/workspace/test-latest-Stable/appliance/enterprise_test/appliance/target/appliance/output/oem/test_hardware/kiwi_install_media.f1d2j7gc/EFI ::]

also in xorriso command

Is this causing issue ?

thanks
Reply all
Reply to author
Forward
0 new messages