Genimage 15 restricted the partition-type option to mbr and hybrid
partition-table-type and now prints a warning when it is used [1]:
ERROR: hdimage(disk.img): part boot: 'partition-type' is only valid for mbr and hybrid partition-table-type
[1] 1d72d8091f
So let's use for EFI System partition:
'partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b'
and for Root partition (64-bit ARM/AArch64):
'partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae'
Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/1929717055
FTR, the magic UUID are from:
https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Add patch to fix linux bug:
```
HOSTLD scripts/dtc/dtc
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
```
Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/2021478164
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
RK3399_ROCKPRO64 has been picked from pine64/rockpro64 but here we deal
with orangepi-rk3399, so let's change the label to RK3399_ORANGEPI.
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The Linux config already enabled drm-virtio for graphics output, but not the
corresponding virtio-input / evdev drivers for input or the compatibility fb
option.
Enable them so keyboard/mouse input works and /dev/fb0 is provided.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Since Qemu 6.0.0 [1], a warning appear in the log if a short-form
boolean option is used.
[1] https://git.qemu.org/?p=qemu.git;a=commitdiff;h=ccd3b3b8112b670fdccf8a392b8419b173ffccb4
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Etienne Carriere <etienne.carriere@linaro.org>
Cc: Dick Olsson <hi@senzilla.io>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The CM4 IO Board is equipped with an on-board RTC connected over I2C,
and has USB 2.0 host ports.
This commit loads the appropriate overlays to enable both. The USB 2.0
interface is by default disabled on CM4 to reduce the power
consumption so it needs to be explicitly enabled on the CM4 IO Board
to use the USB ports.
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The CM4 IO Board is equipped with an on-board RTC connected over I2C,
and has USB 2.0 host ports.
This commit loads the appropriate overlays to enable both. The USB 2.0
interface is by default disabled on CM4 to reduce the power
consumption so it needs to be explicitly enabled on the CM4 IO Board
to use the USB ports.
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The mmc block device number can vary, so passing a mmc block device to
specify the location of the rootfs is not a reliable
approach. Instead, use the root=PARTUUID=<uuid> mechanism, where the
uuid is found by U-Boot.
Signed-off-by: Sergey Kuzminov <kuzminov.sergey81@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
commit 0d0f84d200
added the missing host-dtc dependency to riscv-isa-sim.
The spike simulator calls the dtc binary at its startup. The host dtc
command needs to be in the PATH at that time.
This commit add the buildroot host binary directory into the PATH of the
start.sh helper script. It make sure spike will use the buildroot dtc
version. This commit fixes this start.sh script on host not providing
the dtc command. Since the "spike" binary is now in the PATH, the
binary name is also simplified.
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Bump U-Boot to 2022.01 and kernel to 5.15.13.
After the conversion to U-Boot device model, the SD card is
device '1', so change the boot script accordingly.
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The Bamboo board is an evaluation board for PowerPC 440EP CPUs.
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
PowerNV is the platform using the OPAL [1] firmware on OpenPOWER
systems. OPAL first loads a kernel and an initramfs image based on
buildroot including a second boot loader petitboot [2]. The latter
does device discovery and kexecs a new Linux image from disk or
network.
QEMU implements PowerNV machines [3] for the POWER8, POWER9 and
Power10 processors which are used for dev and tests. POWER8 images
being compatible with POWER9 and Power10, simply add a single
qemu_ppc64le_powernv8 board for all.
The QEMU script boots directly from a nvme disk because it is simple
enough but a real system would boot from a ramfs first.
[1] https://github.com/open-power/skiboot/blob/master/doc/overview.rst
[2] https://github.com/open-power/petitboot/
[3] https://qemu.readthedocs.io/en/latest/system/ppc/powernv.html
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Since on olinuxino_lime/lime2 we have a Linux version >= 4.20 we need to
pass drm_kms_helper.drm_leak_fbdev_smem=1 to kernel command-line that
really enables DRM_FBDEV_LEAK_PHYS_SMEM. CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM
only adds the code for this, but drm_leak_fbdev_smem is 0 by default, so we
need to override it with 1. Same goes for drm_fbdev_overalloc that
must be at least 200 for having a double buffer that is required by
Mali. This fixes both olimex_a20_olinuxino_lime and lime2 that use
extlinux.conf.
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This platform has its own kernel defconfig in Buildroot, but we cannot
get quick idea about how much it diverged from the in-kernel defconfig.
Let's use the upstream arch/arm/config/versatile_defconfig as a base,
and maintain the diff as a merge-config fragment. The same .config is
still generated based on the 5.10.7 kernel.
The diff is quite big, but this is a good start-point for cleanups.
Follow-up works can drop diff lines unless we find a good reason for
divergence.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
[Arnout: rename linux-nommu.config to linux-nommu.fragment]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This platform has its own kernel defconfig in Buildroot, but we cannot
get quick idea about how much it diverged from the in-kernel defconfig.
Let's use the upstream arch/arm/config/versatile_defconfig as a base,
and maintain the diff as a merge-config fragment. The same .config is
still generated (based on the 5.10.7 kernel).
The diff is quite big, but this is a good start-point for cleanups.
Follow-up works can drop diff lines unless we find a good reason for
divergence.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
[Arnout: rename linux.config to linux.fragment]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This Linux defconfig fragment is needed to disable Lima driver in favour of
Mali(if enabled). This because Lima is enabled by default in Linux's
sunxi_defconfig and if we enable Mali driver in Buildroot it will fail to
load. So let's set CONFIG_DRM_LIMA=n. Of course this fragment is only used
by Buildroot defconfigs that enable Mali driver.
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Current U-Boot is an old version and fails to build:
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
Bump U-Boot to fix the problem.
Latest U-Boot has switched to distro boot and SPL, so make the necessary
changes to support it. Other advantage of bumping U-Boot is that
it also supports the other imx6ul-pico variants.
While at it, also bump U-Boot to the 5.15 LTS.
Fixes:
- https://gitlab.com/buildroot.org/buildroot/-/jobs/1915006192
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Add a virtio-net-pci device with a user mode host network backend
Cc: Bin Meng <bmeng.cn@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Add a virtio-net-pci device with a user mode host network backend
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Add new defconfigs for sama7g5 evaluation kit.
Update README with new defconfigs.
Board uses linux 5.15 mainline.
Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
ERROR: hdimage(sdcard.img): part boot: 'partition-type' is only valid for mbr and hybrid partition-table-type
To fix the first genimage error report, change 'partition-type' entries
to the appropriate 'partition-type-uuid'. Then genimage starts to
complain about overlaps:
ERROR: hdimage(sdcard.img): partition [GPT array] (offset 0x100000, size 0x4000) overlaps previous partition u-boot (offset 0x2000, size 0x102000)
ERROR: hdimage(sdcard.img): bootloaders, etc. that overlap with the partition table must declare the overlapping area as a hole.
To fix the second genimage error report, update the size of bootloader
file. Do not reserve additional space for GPT partition table since
new genimage is able to keep track of it.
Fixes https://gitlab.com/buildroot.org/buildroot/-/jobs/1915006300
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
genimage v15 complains about the GPT overlapping with the RCW. Move it
to offset 16k which is between the rcw (which isn't expected to grow
much more) and the bootloader.
This will fix the following error:
ERROR: hdimage(sdcard-emmc.img): partition [GPT array] (offset 0x400, size 0x4000) overlaps previous partition rcw (offset 0x1000, size 0x580)
ERROR: hdimage(sdcard-emmc.img): bootloaders, etc. that overlap with the partition table must declare the overlapping area as a hole.
Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Genimage 15 deprecated the gpt option and now prints a warning when it is
used:
INFO: hdimage(sdcard.img): The option 'gpt' is deprecated. Use 'partition-table-type' instead
So change the genimage configuration files to use that instead.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/1865935239
ERROR: hdimage(sdcard.img): part boot: 'partition-type' is only valid for mbr and hybrid partition-table-type
So change to partition-type-uuid instead. With that fixed, genimage-15 then
also complains about the overlap between the u-boot partition and the GPT:
ERROR: hdimage(sdcard.img): partition [GPT array] (offset 0x100000, size 0x4000) overlaps previous partition u-boot (offset 0x2000, size 0x102000)
So adjust the u-boot partition to end just before the GPT.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
kernel & uboot come from Olimex forks
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The kernel now has support for dma, ethernet, i2c, mmc, pinctrl, regulator,
so enable drivers for those, change to a ext4 rootfs and enable DHCP on
eth0.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
fix the following error:
ERROR: hdimage(sdcard.img): partition [MBR] (offset 0x1b8, size 0x48) overlaps previous partition bl1 (offset 0x0, size 0xc200)
ERROR: hdimage(sdcard.img): bootloaders, etc. that overlap with the partition table must declare the overlapping area as a hole.
which started at the genimage version bump to 15 commit.
Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/1865935217
Signed-off-by: Dagg Stompler <daggs@gmx.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Rename the configuration to explicitly distinguish between sd and xip.
As a result, the readme files have also been changed.
Signed-off-by: Dario Binacchi <dariobin@libero.it>
Acked-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
The kernel generated by the configuration for the STM32f429-discovery
board is buggy:
Fixes:
Unhandled exception: IPSR = 00000006 LR = fffffff1
CPU: 0 PID: 1 Comm: init Not tainted 4.11.0 #2
Hardware name: STM32 (Device Tree Support)
task: 9041a000 task.stack: 907c0000
PC is at ret_fast_syscall+0x2/0x4a
LR is at tty_ioctl+0x1ad/0x75c
pc : [<0800d942>] lr : [<080c2e05>] psr: 4000000b
sp : 907c1fa8 ip : 0000001c fp : 905961a2
r10: 00000000 r9 : 907c0000 r8 : 0800dae0
r7 : 00000036 r6 : 905e7e60 r5 : 00000000 r4 : 905e7ebc
r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : 00000000
xPSR: 4000000b
CPU: 0 PID: 1 Comm: init Not tainted 4.11.0 #2
Hardware name: STM32 (Device Tree Support)
[<0800fbf9>] (unwind_backtrace) from [<0800f05b>] (show_stack+0xb/0xc)
[<0800f05b>] (show_stack) from [<0800f553>] (__invalid_entry+0x4b/0x4c)
Inspired by commit a3e3d9c198 ("configs/stm32f469_disco_xip_defconfig:
alternative defconfig for XIP"), update the stm32f429_disco_defconfig
configuration to use a newer kernel. Current setup kernel + rootfs fits
in 1.6MB on-chip flash memory.
The kernel has been moved to new flash bank due to growth of dtb size.
Remove upstream patch.
For better binary size optimization gcc LTO is turned on.
Signed-off-by: Dario Binacchi <dariobin@libero.it>
Acked-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Newer versions of the kernel generate device trees that are not
storable in a single 16kB sector. In these cases the kernel load address
must be changed.
The commit 2e499dcff3ef ("Add possibility to use custom kernel load address")
adds the possibility to override the default (0x08008000) kernel load
address.
This also required changes to the stm32f429_disco_defconfig and
stm32f469_disco_xip_defconfig configurations. Patching is no longer
needed.
Also update whitespaces in hash file (2 spaces).
Signed-off-by: Dario Binacchi <dariobin@libero.it>
Acked-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
The current configuration fails to boot on the stm32f469-disco board.
Make it bootable again by reverting the DRAM patches.
Also change the kernel load address from 0x8010000 to 0x800C000 to
allocate more space to the kernel, since 32kB for the device tree is
enough.
Also clean up the rootfs a bit with the common stm32-post-build.sh
script.
Signed-off-by: Dario Binacchi <dariobin@libero.it>
Acked-by: Christophe Priouzeau <christophe.priouzeau@foss.st.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
The Beaglebone Black Wireless needs a specific DT, which u-boot tries to
load based on the board name. Make sure we ship the DT so that we can
boot on that platform.
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
1) Now u-boot needs SCP environment variable specified that can point to
the or1k coprocessor firmware while if coprocessor is not used it must
be passed /dev/null as we do in this case.
2) We now use the u-boot-sunxi-with-spl.bin instead of u-boot.itb since
it's produced by u-boot anymore.
3) U-Boot 2021.10 requires python 3 and openssl so let's enable them.
4) Remove local patches for uboot and linux.
5) Remove global patches path from defconfig.
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
As reported by check-package (by calling it directly):
generate your patches with 'git format-patch -N'
Change all affected files using this command:
$ sed 's,^\(Subject: *\[PATCH\)[^]]*,\1,g' \
-i $(find * -name '*.patch' -type f)
Signed-off-by: Ricardo Martincoski <ricardo.martincoski@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Bump Linux kernel version to 5.15.4.
We enlarge the boot partition to follow the kernel image size increase and
update the documentation.
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Reviewed-by: Dick Olsson <hi@senzilla.io>
Cc: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Commit 82d1e8c628 (boot/grub2: use none platform when building for
host) changed host-grub2 to only install the tools, not the actual
bootloader or its modules, as they are of no use on the host.
It so happened that, when not instructed to built for a specific
platform, the grub2 buildsystem would default to build the legacy bios
platform (at least when the build happens on an x86 or x86_64 host).
However, because the host is more often than not an x86 or x86_64, when
the target was also an x68 or x86_64, the modules built for the host
could be re-used for the target, and this is what was done for our
pc_x86_64_bios_defconfig.
But now that we explicitly tell the grub2 buildsystem to not build any
platform when we build host-grub2, we no longer have access to the grub2
modules from the host directory, and the build fails when assembling the
final image.
We fix that in two ways:
First, we ensure that individual modules from the target grub2 get installed
in target/; we can only do that if the target grub2 tools are also
installed, so we enable that in the configuration.
Second, we fix the post-build script to look in target/ rather than in
host/.
All that, just for the 512-byte boot.img bootstrap, which pulls in all
the other modules (4.3MiB), the tools (8.8MiB)... But we are not going
to cherry-pick individual modules; this is error prone and
unmaintainable...
Reported-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: Köry Maincent <kory.maincent@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This board is now supported by mainline u-boot and Linux. For U-Boot we
unfortunately still need a patch as the available (<rev A2) boards do not
have an identification eeprom, causing boot failures.
Use the workaround patch by Robert Nelson also used by the official bb.org
builds.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This defconfig uses arm-trusted-firmware version 1.5 which fails since
commit eacf7a1d0b ("package/gcc: switch to
gcc 10.x as the default").
Backport a patch from v2.2 to fix the build.
Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/1768915296
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Option "offset = 12288K" must be "offset = 12M" according to the new
guidelines specified in Buildroot Manual with previous patch.
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Option 'size=10M' must be 'size = 10M'.
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>