We’re attempting to run the mender-convert build script on a Debian image for the orange pi zero 2. The mender-convert script is failing to detect an EFI stub even though we’ve modified the kernel config and enabled CONFIG_EFI_STUB, as instructed by the script’s warnings. We are using kernel version 4.9. Does anyone have any suggestions or recommendations on getting the mender-concert script to work properly?
Hi @killakhang, the current test for whether the EFI stub is enabled is the following
file -k $kernel_path | fgrep -q ‘EFI application’
Can you run
file -k $kernel_path manually and report the output?
Hi @drewmoseley, thanks for your response. There is not output from the response you mentioned:
root@orangepizero2:/boot# file -k vmlinuz-4.9.170-sun50iw9 | fgrep -q ‘EFI application’
However, we are using a legacy kernel. Could that be a potential problem? When we check the /proc/config for this kernel it is verified that CONFIG_EFI_STUB is indeed enabled. Thank you for your time.
Indeed it could be due to a different kernel format. What does
file -k vmlinuz-4.9.170-sun50iw9 show?
root@orangepizero2:/boot# file -k vmlinuz-4.9.170-sun50iw9
vmlinuz-4.9.170-sun50iw9: u-boot legacy uImage, , Linux/ARM, OS Kernel Image (Not compressed), 24195584 bytes, Mon Feb 8 19:58:43 2021, Load Address: 0x41000000, Entry Point: 0x41000000, Header CRC: 0x500D037B, Data CRC: 0xF0003A17\012- data
What format would you recommend?
We just need to figure out a way to determine if that format contains the EFI stub. Are there any other formats you can use? I think Beaglebone uses just a standard zImage, not the U-Boot legacy image.
My only concern with the legacy image would be does it actually properly support EFI? You can always comment out that check to get past the failure and then test the image to verify that.