u-boot on x86

Michael mep.sw.dev at gmail.com
Thu May 8 11:38:04 CEST 2025


Hello!,

i'm currently working on a project that could use several architectures
(arm / x86).
To have a common base for all systems, i want to use u-boot as unified
bootloader for both platforms.
At the moment i try to get u-boot working on x86. These systems are more
general pcs than classic embedded systems and can have intel atom / i3...
etc. processors (for example advantech mio series) - All of them have a
uefi bios.
To build the whole system i am using yocto. I have made some minor changes
to u-boot (v2025.01 / build as efi app / binary) to fit my use case (find
env partition via gpt part uuid / A/B update mechanism etc.)
The kernel and initramfs are packed as fit image (
https://docs.u-boot.org/en/latest/usage/fit/x86-fit-boot.html). I can boot
the system and the a/b update mechanism is also working.

The fit image contains kernel / setup / initramfs - (
https://docs.u-boot.org/en/latest/usage/fit/kernel.html)
The current boot procedure is: "boot uboot.efi" → "load fit image over the
efi interface" → "bootm"

My current problem is, that i can only use one cpu core. I think there is a
problem with the acpi tables ("smpboot: Boot CPU (id 0) not listed by BIOS"
/ "smpboot: Allowing 1 CPUs, 0 hotplug CPUs" / "smpboot: SMP disabled")
I already got some hints on the irc chat (thanks for that!), but i could
not fix the issue yet. I also tried an "EFI handover" patch for uboot, but
with this, i cannot boot the kernel anymore (exception).

At a later point i want to lock down the device with enabling the "secure
boot" bios function. I have not worked with secure boot yet. I think i can
only get it working with the fit images (fit signature verification)?

Is this thre right implementation approch?
I am grateful for any advice!


Best regards,
Michael


More information about the U-Boot mailing list