Integrate meta-seco-edgehog-things/kirkstone_next_2_0
[QEMU] add support for qemux86 and qemux86-64
- separate qemuarm and qemux86 WKS templates (different wic partitioning)
- use cpio.gz as initramfs format instead of cpio.gz.u-boot for qemux86*
- set grub as bootloader (PREFERRED_PROVIDER_virtual/bootloader has to be set in edgehog-base.inc otherwise it's empty and the utility grub-editenv doesn't get installed)
- mount sda1 as /boot (needed by grub-editenv, therefore by rauc, to update the grub environment)
- install grub.conf (rauc configuration)
To run Edgehog Things, you can't use the built-in QEMU legacy BIOS, SeaBIOS. You can download the OVMF bin (QEMU's UEFI bios) from here: https://www.kraxel.org/repos/jenkins/edk2/ Use ia32 for qemux86 and x64 for qemux86-64.
Use this command to run qemu:
BIOS=<path/to/OVMF.fd> runqemu [slirp] [nographic] [...]
--
[QEMU] fix uboot environment
- enable preboot command to load uboot environment from virtio, since U-boot doesn't support virtio as a native environment interface (see here: https://stackoverflow.com/questions/78490686/custom-u-boot-writes-to-environment-file-but-cannot-read-from-it)
- fix environment size in fw_env config template
--
[QEMU] use wic image by default in Things
In Things, configure runqemu to use the WIC image as filesystem (as opposed to the default ext4 image in Embedded)
--
[QEMU] fix uboot script (zImage for arm, Image for aarch64)
Load and boot a zImage in qemuarm and an Image in qemuarm64. This requires making two different boot scripts for qemuarm/qemuarm64.
--
[QEMU] add support for qemuarm and qemuarm64
Add support to build Edgehog Things for QEMU virt ARMv7/8 with poky BSP.
- build U-boot (which is not built by default for QEMU)
- build initramfs
- add WKS template file for QEMU
- exclude grub and u-boot-seco* from build (uses upstream u-boot)
- load u-boot environment from virtio block device
- build boot.scr in a dedicated recipe (u-boot-default-script-rpi
- renamed to u-boot-default-script-edgehog) - the other boards
- build the script in the u-boot-seco* recipe
- add fw_env configuration (like for raspberrypi, the U-boot
- environment is in the uboot.env file in the first FAT partition)
- add rauc configuration
Command to run the image in qemu: BIOS=<path/to/u-boot.bin> runqemu <path/to/qemuboot.conf> slirp nographic
--
[RPI][UART] re-enable kernel boot messages and set correct console tty in the boot script
Remove "quiet" from the bootargs and set console=ttyS0 in the U-boot script for raspberryPi
--
[RPI][SPLASH] add logo-pos, logo-count to bootargs
--
[RPI][UART] remove redundant variable assignment (ENABLE_UART)
The UART on the raspberryPi was enabled by default in meta-seco-rpi for both Things and Embedded: https://git.seco.com/edgehog/layers/seco/meta-seco-rpi/-/commit/0884a0e3473051c0cd5192260115e2aece7fc89c
--
[RPI] add support for raspberry pi
- add wic
- enable booting with u-boot
- add boot script
- add rauc config
- add fw_env config
- automatically mount edgehog boot partition on rpi (required to access u-boot.env)