Buildroot currently has all of the needed packages to use Mender as the primary
update system. However, there isn't any documentation or examples now that
provide a starting point for users. This lack of documentation makes setting up
a Mender based update system difficult and time-consuming.
Provided in this patch series is a mender_x86_64_efi_defconfig of which sets up
an x86_64 EFI based build that is ready to flash to a USB pen drive or use in a
QEMU environment. The system partition schema comprises of two equally sized
root partitions and a data partition that mounts to /var/lib/mender as a
persistent data store partition.
There is a board/mender/readme.txt provided, which gives users documentation on
how to flash the built image or boot the image using QEMU as well.
The post-build and post-image-efi scripts also have four options:
-a --artifact-name:
- The name of the artifact, this is added to /etc/mender/artifact_info
-o --data-part-size:
- The data partition size.
-d --device-type
- The device-type used by mender to catagorize registered devices.
Signed-off-by: Adam Duskett <Aduskett@gmail.com>
Signed-off-by: Mikael Bourhis-Cloarec <mikael.bourhis@smile.fr>
[Romain: rebase on master (01.2022)
- update genimage-efi.cfg to use GPT partition table and genimage-15 syntax
- bump the kernel to 5.15.13
- Add host-libelf kernel dependency
- Use BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI after commit 82d1e8c628
(boot/grub2: use none platform when building for host)
- Add regexp grub mandatory module for mender-grubenv
- remove startup.nsh from genimage-efi.cfg after commit 3efb5e31fc
(board, boot, package: remove usage of startup.nsh in EFI partition)]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
[Arnout:
- abbreviate sizes and partition uuids, remove implicit ones in genimage.cfg
- change data partition uuid to Linux (instead of x86_64 rootfs)
- fix whitespace and shellcheck errors in scripts
- remove --generate-mender-image option, always create it
- remove empty directory and -O ^64bit when creating data fs
- remove redundant e2fsck
- add -serial stdio option to qemu call
- update kernel to current stable 5.18.14
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This defconfig uses mesa3d's i965 DRI driver, but mesa3d no longer has
any DRI driver now, so this defconfig no longer builds.
Switching to the Gallium driver would require access to an actual board
to test, and that was not available when applying the mesa3d bump.
So, better drop this defconfig, and let an interested party reinstate
it, using the Gallium driver.
Note that we do still have the defconfig for the basic, non-graphical
Minnowbaord Max.
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Bumped the default version of the "arm-trusted-firmware" (a.k.a. TF-A)
from 2.5 to 2.7: updated the config and the tarball checksum.
Work-around CVE-2022-23960.
Updated the "qemu_aarch64_sbsa_defconfig" accordingly: it was using an
"arm-trusted-firmware" v2.4, it nows selects version 2.7.
Updated the license checksum because the license file changed
slightly: it mentions an additional file ("irq.h") released under a
dual GPL or MIT license.
Tested with the "qemu_aarch64_sbsa_defconfig" and QEMU: it boots
without new warning or error message.
Release notes:
<https://trustedfirmware-a.readthedocs.io/en/latest/change-log.html>
Signed-off-by: Olivier L'Heureux <olivier.lheureux@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Add a buildroot configuration file to build a minimal Linux environment
for the Canaan KD233 board.
The configuration file is canaan_kd233_defconfig. It builds a bootable
kernel image with an embedded initramfs root file system. The image
built can be flashed to the board as is and does not require a boot
loader. This configuration uses the tiny busybox configuration defined
in board/canaan/k210-soc/busybox-tiny.config.
U-Boot currently does not support this board, making it impossible to
boot the kernel after loading it from the SD card. However, the SD card
is usable from Linux once booted using the canaan_kd233_defconfig
configuration.
The configuration also enable the kflash and pyserial-miniterm host
tools for flashing image files to the board and opening a terminal
console.
The readme.txt file documents how to build and boot the Canaan KD233
board with this configuration.
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Add two buildroot configuration files to build a minimal Linux
environment for the Sipeed MAIX Go board. The configurations are:
* sipeed_maix_go_defconfig: Build a bootable kernel image with an
embedded initramfs root file system. The image built can be flashed to
the board as is and does not require a boot loader. This configuration
uses the tiny busybox configuration defined in
board/canaan/k210-soc/busybox-tiny.config.
* sipeed_maix_go_sdcard_defconfig: Build a kernel image with a root
file system on the SD card and using U-Boot as the boot loader. This
uses the default busybox minimal configuration.
Both configurations also enable the kflash and pyserial-miniterm host
tools for flashing image files to the board and opening a terminal
console.
The readme.txt file documents how to build and boot the Sipeed MAIX-Go
board with these configurations.
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Add two buildroot configuration files to build a minimal Linux
environment for the Sipeed MAIX-Dock board. The configurations are:
* sipeed_maix_dock_defconfig: Build a bootable kernel image with an
embedded initramfs root file system. The image built can be flashed to
the board as is and does not require a boot loader. This configuration
uses the tiny busybox configuration defined in
board/canaan/k210-soc/busybox-tiny.config.
* sipeed_maix_dock_sdcard_defconfig: Build a kernel image with a root
file system on the SD card and using U-Boot as the boot loader. This
uses the default busybox minimal configuration.
Both configurations also enable the kflash and pyserial-miniterm host
tools for flashing image files to the board and opening a terminal
console.
The readme.txt file documents how to build and boot the Sipeed
MAIX-Dock board with these configurations.
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Add two buildroot configuration files to build a minimal Linux
environment for the Sipeed MAIXDUINO board. The configurations are:
* sipeed_maixduino_defconfig: Build a bootable kernel image with an
embedded initramfs root file system. The image built can be flashed to
the board as is and does not require a boot loader. This configuration
uses the tiny busybox configuration defined in
board/canaan/k210-soc/busybox-tiny.config.
* sipeed_maixduino_sdcard_defconfig: Build a kernel image with a root
file system on the SD card and using U-Boot as the boot loader. This
uses the default busybox minimal configuration.
Both configurations also enable the kflash and pyserial-miniterm host
tools for flashing image files to the board and opening a terminal
console.
The readme.txt file documents how to build and boot the Sipeed MAIXDUINO
board with these configurations.
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Add two buildroot configuration files to build a minimal Linux
environment for the Sipeed MAIX Bit board. The configurations are:
* sipeed_maix_bit_defconfig: Build a bootable kernel image with an
embedded initramfs root file system. The image built can be flashed to
the board as is and does not require a boot loader. This configuration
uses the tiny busybox configuration defined in
board/canaan/k210-soc/busybox-tiny.config.
* sipeed_maix_bit_sdcard_defconfig: Build a kernel image with a root
file system on the SD card and using U-Boot as the boot loader. This
uses the default busybox minimal configuration.
Both configurations also enable the python-kflash and pyserial-miniterm
host tools for flashing image files to the board and opening a terminal
console.
The readme.txt file documents how to build and boot the Sipeed MAIX-Bit
board with these configurations.
Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
There is no need to have configuration files direbtly set the
BR2_PACKAGE_HOST_ELF2FLT option. The need for the elf2flt utility is
automatically determined by gcc build in package/gcc/gcc.mk according to
the BR2_BINFMT_FLAT option.
Accordingly, we can remove the file package/elf2flt/Config.in.host to
get rid of the BR2_PACKAGE_HOST_ELF2FLT option. BR2_STRIP_strip
dependency on this option is replaced with a dependency on
BR2_BINFMT_ELF.
To stay consistent with the fact that elf2flt supports only the arm, sh,
sparc, xtensa and riscv-64 architectures, a dependency on these
architectures is added to the BR2_BINFMT_FLAT option in arch/Config.in.
Board configuration files setting the BR2_PACKAGE_HOST_ELF2FLT option
are also updated.
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Add config option to set the board specific GLOBAL_PATCH_DIR.
Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/2750360083
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Bumps TF-A to version v2.7 and U-Boot to version v2022.04 for
Qemu vexpress/trustzone board config.
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
With U-Boot 2022.04 libuuid is required for building the host tool
mkeficapsule. The lib is included in the util-linux package. Thus the
BR2_TARGET_UBOOT_NEEDS_UTIL_LINUX config is needed.
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This patch fixes the DP audio and video PLL configurations for the zynqmp-sm-k26-revA som.
It needs to be applied for both the kv260 and kr260 starter kits.
The Linux DP driver expects the DP to be using the following PLL config:
- DP video PLL should use the VPLL (0x0)
- DP audio PLL should use the RPLL (0x3)
- DP system time clock PLL should use RPLL (0x3)
Register 0xFD1A0070 configures the DP video PLL.
Register 0xFD1A0074 configures the DP audio PLL.
Register 0xFD1A007C configures the DP system time clock PLL.
This patch was build and run tested on a zynqmp-kria-kv260 target board.
Upstream-Status: submitted (https://lore.kernel.org/all/fa7e9abc419c9d7648405d1c62367dbe701d09b8.1652709736.git.michal.simek@amd.com/)
This patch will be removed from buildroot in a future release when no longer necessary.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch fixes an ATF issue by building the ATF for uart1 instead
of uart0 for the Kria KV260 Starter Kit.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The kernel is from upstream with a few extras to reduce the size of
the 'aspeed_g5' zImage because it is too big for the flash layout.
Mainline U-Boot has enough support to load the kernel from the flash
device and from network but it is still behind the OpenBMC branch
where most the development is done.
The main resulting file from the build is a flash image. The partition
layout matches the OpenBMC one for 32M chips. It makes it easier to
update the different partitions from Linux. Intermediate files can be
used to boot from U-Boot over the network or to boot QEMU using
-kernel/-initrd/-dtb.
Reviewed-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
The kernel is from upstream and U-Boot is from the OpenBMC branch
because mainline doesn't have the required support for HW, yet.
The main resulting file from the build is a flash image. The partition
layout matches the OpenBMC one for 64M chips. It makes it easier to
update the different partitions from Linux. Intermediate files can be
used to boot from U-boot over the network or to boot QEMU using
-kernel/-initrd/-dtb.
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This patch is a temporary fix for the kv260 u-boot.itb generation
until a proper fix has been implemented within u-boot.
The problem is u-boot can only be configured to use the kria k26
som dts configuration at build time, and the kv260 carrier board
overlay is missing from the build. Without this, all of the carrier
board drivers are missing.
This patch will be removed from buildroot once u-boot can build a
correct u-boot.itb for the kria kv260 starter kit including the
carrier board overlay and corresponding drivers:
https://lore.kernel.org/all/20920b0df6b067aca4040459a9677d7d1d6d766a.1615354376.git.viresh.kumar@linaro.org/
Signed-off-by: Neal Frager <neal.frager@xilinx.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
[yann.morin.1998@free.fr: add URL provided by Luca]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This patch enables the zynqmp_kria_kv260_defconfig to auto-generate the
extlinux.conf file.
The board/zynqmp/kria/extlinux.conf and board/zynqmp/kria/post-build.sh have
been removed as they are no longer necessary.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This patch enables the zynqmp_zcu102_defconfig and zynqmp_zcu106_defconfig to
auto-generate the extlinux.conf file.
The board/zynqmp/extlinux.conf has been removed as it is no longer necessary.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
As we're about to remove the nds32 architecture support, remove the
only defconfig that used this CPU architecture.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Yu Chien Peter Lin <peterlin@andestech.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
With U-Boot 2022.04 gnutls is required for building the hostool
mkeficapsule. Thus the BR2_TARGET_UBOOT_NEEDS_GNUTLS config is needed.
Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/2536754543
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Bump U-Boot to 2022.04 and kernel to 5.15.41 version.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Add RISC-V 64-bit nommu defconfig for QEMU virt machine with MMU
disabled.
Unlike qemu_riscv64_virt, qemu_riscv64_nommu_virt does not use OpenSBI,
since the kernel is running in machine mode (M-mode).
After the build is complete, you can start QEMU using the launcher
script:
$ output/images/start-qemu.sh
Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Since commit [1], the MMU support is mandatory for MMU-capable ARM
cores. This includes the arm926t ARM core used the
qemu_arm_versatile_nommu configuration.
From [2]
"I don't think supporting ARMv5 noMMU makes much sense, as
explained in the commit log. Supporting ARMv7-M definitely makes
sense, but not ARMv5 noMMU."
Remove this defconfig.
Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/2477067386
[1] 8c925613dc
[2] http://lists.busybox.net/pipermail/buildroot/2022-May/643064.html
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
ppc64 or powernv Linux defconfig fail to build with gcc 11 and/or
binutils 2.37 [1] :
CC kernel/kexec_file.o
Cannot find symbol for section 10: .text.unlikely.
kernel/kexec_file.o: failed
Patches have been sent upstream and should reach Linux 5.18. Until
then, limit binutils to 2.36.1 which doesn't raise the issue.
[1] https://github.com/linuxppc/issues/issues/388
Cc: Joel Stanley <joel@jms.id.au>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Switch U-Boot from vendor downstream version to upstream. Since the
upstream U-Boot uses binman to build the bootable binary (flash.bin) the
need for the iMX specifc prepare script is no longer required.
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
[yann.morin.1998@free.fr: we now have 5.17 headers too]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This patch adds support for Xilinx Kria KV260 starter kit.
KV260 features can be found here:
https://www.xilinx.com/products/boards-and-kits/kv260.html
While the Kria SOM is based on a ZynqMP SoC, there are some key
boot config differences from the other ZynqMP evaluation boards.
1. There are no boot switches on Kria SOMs. The boot mode is thus
hard configured for QSPI flash. A pre-programmed boot.bin comes
with every Starter Kit. U-Boot can then find the Linux kernel and
file system on the SD card.
Optional instructions for updating the boot.bin in the QSPI flash
can be found in the readme.txt file and the link below.
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM
2. Kria SOMs use UART1 for the console instead of UART0. For this
reason, Kria Starter Kits will use a separate extlinux.conf file
from other ZynqMP evaluation boards.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch bumps configs/zynq_xxx_defconfigs to Xilinx software release 2022.1
which includes the following updates:
- U-Boot bumped to 2022.01
- Linux bumped to 5.15.19
- rootfs changed from CPIO to EXT4
- extlinux.conf for distro boot support
- U-Boot migrated from git clone to tarball for faster builds
This patch has been build and run tested on a ZC706 evaluation board.
This patch has been build tested only for zed, microzed and qmtech boards.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch fixes the DP audio and video PLL configurations for the
zynqmp-zcu106-revA evaluation board.
The Linux DP driver expects the DP to be using the following PLL config:
- DP video PLL should use the VPLL (0x0)
- DP audio PLL should use the RPLL (0x3)
Register 0xFD1A0070 configures the DP video PLL.
Register 0xFD1A0074 configures the DP audio PLL.
This patch was build and run tested on a zynqmp-zcu106-revA target board.
Upstream-Status: submitted (https://lore.kernel.org/all/62538b4a04dee28a6fc8ac5b85f8c845a5a76aa4.1651740988.git.michal.simek@amd.com/)
This patch will be removed from buildroot in a future release when no longer necessary.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch bumps configs/zynqmp_zcu106_defconfig pmufw to 2022.1.
The pm_cfg_obj.c has not changed between 2021.2 and 2022.1.
The pmufw_v2022.1.bin has been tested on a zcu106 board.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch bumps configs/zynqmp_zcu102_defconfig pmufw to 2022.1.
The pm_cfg_obj.c has not changed between 2021.2 and 2022.1.
The pmufw_v2022.1.bin has been tested on a zcu102 board.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch migrates configs/zynqmp_zcu106_defconfig to tarballs for TF-A, u-boot and Linux.
This patch has zero change in code running on the device.
The goal is to improve build speed and align with the zynq_xxx_defconfigs.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch migrates configs/zynqmp_zcu102_defconfig to tarballs for TF-A, u-boot and Linux.
This patch has zero change in code running on the device.
The goal is to improve build speed and align with the zynq_xxx_defconfigs.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch bumps configs/zynqmp_zcu106_defconfig to Xilinx software release 2022.1
which includes the following updates:
- TF-A release version 2.6
- U-Boot release version 2022.01
- Linux kernel release version 5.15.19
It is better to use a Xilinx official release version than sha tags.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch bumps configs/zynqmp_zcu102_defconfig to Xilinx software release 2022.1
which includes the following updates:
- TF-A release version 2.6
- U-Boot release version 2022.01
- Linux kernel release version 5.15.19
It is better to use a Xilinx official release version than sha tags.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The update to wilc-firmware added firmware files for WILC3000
devices as a separate config option. All Atmel/Microchip defconfigs
that previously only had WILC1000_FIRMWARE either have WILC3000
Wi-Fi hardware (WILC3000 is the same silicon but with BLE added)
or have the capacity to have either WILC1000 or WILC3000 devices
added to the system. Install all firmware blobs to these devices
by default.
Signed-off-by: Kris Bahnsen <kris@embeddedTS.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Update the qemu_xtensa_lx60_nommu_defconfig to use the
busybox-minimal.config.
After commit 3de486f8b0 ("package/busybox: fix udhcpc options in minimal
config"), this has the benefit of fixing the following network
initialization failure:
udhcpc: invalid option -- b
With the full busybox config, the -b option would still be passed and
udhcpc would fail to start for the reason above.
Note that on NOMMU, udhcpc backgrounds unconditionally (unless the -f
option is given), so it still behaves properly. The -b option in fact
only backgrounds after the lease is obtained; on NOMMU, backgrounding is
done before the lease is even requested. So the behaviour is more or
less the same, except that on MMU systems, networking can be considered
either up or not available after S20network, but on NOMMU there is no
such guarantee.
Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
Cc: Romain Naour <romain.naour@gmail.com>
Cc: Gerome Burlats <gerome.burlats@smile.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>