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