- Bump TF-A LTS 2.12
- Bump u-boot to version 2026.04.
smhload command has been removed from u-boot 2022.07 [1], use
"load hostfs" generic command as suggested by the documentation [2].
This commit adds BR2_TARGET_UBOOT_NEEDS_DTC=y, because the new
2026.04 version does need dtc. Adding host-dtc also avoid uboot build
failures on hosts with libyaml (uboot builds its own dtc if none is
defined in DTC build variable).
This commit also removes BR2_TOOLCHAIN_BUILDROOT_CXX=y, which was
forgotten when the defconfig was switched to Bootlin toolchain, in
commit [3].
[1] dcc4f9623e
[2] https://docs.u-boot-project.org/en/latest/usage/semihosting.html#migrating-from-smhload
[3] dbe0896826
Signed-off-by: Romain Naour <romain.naour@smile.fr>
[Julien:
- add BR2_TARGET_UBOOT_NEEDS_DTC=y
- remove BR2_TOOLCHAIN_BUILDROOT_CXX=y
]
Signed-off-by: Julien Olivain <ju.o@free.fr>
Add a defconfig to run Linux on a HP Visualize B160L PA-RISC
Workstation, emulated with Qemu.
While at it, add this defconfig to myself in DEVELOPERS.
Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
Cc: Romain Naour <romain.naour@gmail.com>
[Julien: update kernel to 6.18.7 to align with other qemu defconfigs]
Signed-off-by: Julien Olivain <ju.o@free.fr>
Update all qemu defconfigs to the latest Kernel LTS version.
configs/qemu_ppc_*defconfig now requires host-libelf, so this commit
selects BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF for those.
This commit also enables zstd-compressed modules support in
qemu_loongarch64_virt_efi_defconfig, due to upstream commit [1] which
added CONFIG_MODULE_COMPRESS_ZSTD=y in its arch defconfig.
This commit also updates the custom hash file comment to add the
upstream link.
All updated defconfigs were tested (compiled and booted).
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=3c272a7551af1c10f6dbba0e71add7dccc7733fa
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
This defconfig enables EDK2 UEFI firmware and grub2 x86_64-efi boot
of a Linux Kernel in QEMU virt machine.
Signed-off-by: Scott Fan <fancp2007@gmail.com>
[Julien:
- add .in suffix to genimage.cfg and grub.cfg template file names
- change UUID_TMP template variable to %PARTUUID%
- use human readable partition-type-uuid in genimage.cfg.in
- break long qemu-system-x86_64 command line in readme.txt
- add "-serial stdio" in readme.txt qemu command line for CI
]
Signed-off-by: Julien Olivain <ju.o@free.fr>
This removes a warning reported by shellcheck: "Double quote to prevent
globbing and word splitting". As a result, the file can be removed from
.checkpackageignore.
Signed-off-by: Scott Fan <fancp2007@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Update all qemu defconfigs to the latest Kernel LTS version.
Signed-off-by: Scott Fan <fancp2007@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Back in commit
44a6b7866c ("configs/qemu_sh4*: switch
to initramfs"), the Qemu SuperH defconfigs were switched to initramfs
due to a bug in the Qemu disk emulation.
However, the initramfs solution has an issue: if the initramfs is
slightly too large (like just 6 MB!), the system no longer boots.
Since the disk emulation problem has apparently been resolved in Qemu
10 (according to testing), let's switch back to this.
In addition to essentially reverting
44a6b7866c, we also need to adjust the
kernel configuration so that the kernel takes its command line for the
bootloader (in our case from the Qemu -append option). Otherwise an
hardcoded command line is used, which doesn't mount /dev/sda as the
root filesystem.
This update has been tested on Gitlab CI:
https://gitlab.com/tpetazzoni/buildroot/-/pipelines/1968267919
Thanks to Romain Naour for pointing to the initramfs size as being the
issue.
Cc: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Update all qemu defconfigs to the latest Kernel LTS version.
Runtime tested locally (on a build server).
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
This patchs bumps the OpenSBI of qemu_riscv{32,64}_virt to 1.6. The
qemu commands in the readmes are adjusted to use OpenSBI's fw_jump.bin
instead of fw_jump.elf, as the later causes ROM overlapping issues if
OpenSBI 1.6 is used. See:
https://github.com/riscv-software-src/opensbi/issues/372
This commit also updates the opensbi.hash file.
Signed-off-by: Kilian Zinnecker <kilian.zinnecker@mail.de>
[Julien: update opensbi.hash]
Signed-off-by: Julien Olivain <ju.o@free.fr>
The SBSA Reference Platform was updated to neoverse-n1 (armv8.2a) in
Qemu v8.1 [1].
BR2_cortex_a57:
# cat /proc/cpuinfo
processor : 0
BogoMIPS : 2000.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd07
CPU revision : 0
[...]
BR2_neoverse_n1:
# cat /proc/cpuinfo
processor : 0
BogoMIPS : 2000.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x4
CPU part : 0xd0c
CPU revision : 1
[...]
Tests test_fwts.py test_edk2.py using
BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA=y are not updated to neoverse-n1 by
this commit. Those tests were disabled in a previous commit. Those
tests will be updated and fixed in followup commits.
Note: SBSA Reference Platform was recently updated again to neoverse-n2
(armv9.0a) in Qemu v9.1 [2]. But there is no armv9.0a support yet in
Buildroot.
[1] 1877272bad
[2] b1d592e7b0
Signed-off-by: Romain Naour <romain.naour@smile.fr>
[Julien: add a small comment in commit log about tests]
Signed-off-by: Julien Olivain <ju.o@free.fr>
qemu_aarch64_sbsa_defconfig doesn't boot since the qemu version bump to
9.0 [1]. Sync the ATF version with the one (v2.11) used by Qemu tests
[2].
Since we use a released version of ATF, we switch to ATF custom version
to use the official ATF repository instead of the read-only mirror on
ARM-software's github.
This doesn't fix yet this defconfig due to a bug in edk2 as mentioned
in the qemu commit log [2].
With the edk2 version bump applied, this defconfig doesn't boot with
ATF v2.10-lts but boot successfully with ATF v2.11.
[1] 103a55028c
[2] 24a7cd6a7c
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Commit [1] removed virtio-blk-device,drive=hd0 from the Qemu command
line since RISC-V virt target now define a default type for block
devices (virtio) [2].
While it's was working as expected using
qemu_riscv{32,64}_virt_defconfig, it doesn't work for nommu variant.
Without "-device virtio-blk-device,drive=hd0", the virtio block device
virtio0 is missing in dmesg:
Expected dmesg log:
virtio_blk virtio0: 1/0/0 default/read/poll queues
virtio_blk virtio0: [vda] 122880 512-byte logical blocks (62.9 MB/60.0 MiB)
Unlike qemu_riscv{32,64}_virt_defconfig, mmu variant doesn't use
opensbi (-bios none) and disable mmu (-cpu rv{32,64},mmu=off)
from the qemu command line...
Adding back "-device virtio-blk-device,drive=hd0" seems to help Qemu
to enable the virtio block device for nommu target.
This partially revert commit [1].
Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/8233227503 (qemu_riscv32_nommu_virt_defconfig)
https://gitlab.com/buildroot.org/buildroot/-/jobs/8233227509 (qemu_riscv64_nommu_virt_defconfig)
[1] dba41736da
[2] 4406ba2b5e
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Qemu 9.1 recently fixed the RISC-V virt target by adding the missing
default type for block devices [1].
We no longer need to specify virtio-blk-device on the qemu command line
since it's already the default.
[1] 4406ba2b5e
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Qemu 9.1.0 removed support for NIOS2 emulation, so we can't
no longer test it when updating Qemu zo 9.1.0.
Furthermore it seems that NIOS2 architecture will be soon
deprecated in the toolchain support.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Qemu 9.1 recently fixed the RISC-V virt target by adding the missing
default type for block devices [1].
But the qemu command line we use for RISC-V virt is slightly incorrect:
-drive file=rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0
With Qemu 9.1, this command line now rejected since it conflict with
the new default bus:
qemu-system-riscv64: -drive file=rootfs.ext2,format=raw,id=hd0: Drive 'hd0' is already in use because it has been automatically connected to another device (did you need 'if=none' in the drive options?)
Since we are currently still using Qemu 9.0, apply the suggested change by
adding 'if=none'.
Note: '-drive file=rootfs.ext2,format=raw,id=hd0' can be removed
in a followup patch after the qemu version bump 9.1 is merged.
[1] 4406ba2b5e
[Romain: rework the commit log]
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Fixes https://gitlab.com/buildroot.org/buildroot/-/jobs/7644930127
ERROR: No hash found for arm-trusted-firmware-v2.10-git4.tar.gz
Commit d037d9c2d6 (configs/qemu: Update defconfigs to Linux 6.6.32)
enabled BR2_DOWNLOAD_FORCE_CHECK_HASHES, but forgot to take into
consideration that qemu_aarch64_ebbr_defconfig uses arm-trusted-firmware
v2.10 since commit 73813c56c8 (configs/qemu_{arm, aarch64}_ebbr: bump
Linux, U-Boot and TF-A).
Add the hash to fix the build.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
ARM_TRUSTED_FIRMWARE_SITE is currently pointing to the deprecated
ARM-software github read-only mirror[0] which is no longer publishing
new tags. They do have a newer github mirror under the TrustedFirmware-A
organization[1] which continues to receive tag updates we could use
however because of the way github generates tarballs changing the SITE
to point to TrustedFormware-A changes the pre-calculated hash values
for every version for everyone.
Without much way around changing all hash values if we want these latest
tags, lets drop the github mirrors and move to the official git
source[2] so we can download real tarballs which shouldn't change even
if the ARM_TRUSTED_FIRMWARE_SITE moves again and hopefully preventing
this from ever happening again.
[2] https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/
[1] https://github.com/TrustedFirmware-A/trusted-firmware-a
[0] https://github.com/ARM-software/arm-trusted-firmware
Signed-off-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Fix typos in QEMU arm-vexpress-tz readme file where 'i.e.' occurrences
should be replaced with 'e.g.'.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Linux version are changed to 6.6.32 (LTS) for all qemu defconfigs.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Commit c3e17c407a (configs/qemu_sparc_ss10: re-introduce defconfig) added a
hash file for the Linux kernel, but mistakingly used the .tar.gz instead of
.tar.xz.
The patch fixes "make legal-info" for qemu_sparc_ss10 configuration:
>>> host-gcc-initial 13.2.0 Collecting legal info
COPYING: OK (sha256: 231f7edcc7352d7734a96eef0b8030f77982678c516876fcb81e25b32d68564c)
COPYING3: OK (sha256: 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903)
COPYING.LIB: OK (sha256: a9bdde5616ecdd1e980b44f360600ee8783b1f99b8cc83a2beb163a0a390e861)
COPYING3.LIB: OK (sha256: a853c2ffec17057872340eee242ae4d96cbf2b520ae27d903e1b2fef1a5f9d1c)
ERROR: No hash found for linux-6.8.6.tar.xz
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
[Peter: extend commit message]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
- With uClibc-ng-1.0.48 we can restore this defconfig because uClibc-ng
now provides the fix for SPARC.
- The instructions in board/qemu/sparc-ss10/readme.txt are still valid
without any corrections. The system boots properly ang the login
prompt appears.
Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Bump qemu_arm_ebbr_defconfig and qemu_aarch64_ebbr_defconfig in sync:
- Bump Linux to v6.6.11
- Bump U-Boot to 2024.01
- Bump TF-A to v2.10
While at it, adapt Qemu command line arguments to avoid a warning when
disabling ACPI.
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This defconfig enables edk2 UEFI shell and grub2 riscv64-efi boot
of a Linux Kernel.
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Since Qemu 6.0.0, a warning appear in the log if a short-form boolean
option is used. This was fixed by Romain for the main cmdline description
(see 04afe86cd7 ("board/qemu/arm-vexpress-tz: use enable=on")) but was
not updated in the alternate cmdlines for when using a dual console or
a GDB debug setup.
By the way, fix description mentioning qemu-system-arm command line option
-S that is an uppercase S, not a lower case s.
Signed-off-by: Etienne Carriere <etienne.carriere@foss.st.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
When testing the virt machine with EDK2, the buildroot 6.1 kernel
will not boot as it has no base ACPI support. Whilst you can run
qemu with the -no-acpi option, it would help if basic ACPI support
was there as otherwise there is no output from the kernel post the
ACPI BIOS initialisation.
Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Bump qemu_arm_ebbr_defconfig and qemu_aarch64_ebbr_defconfig in sync:
- Bump Linux to v6.4.3
- Bump U-Boot to 2023.07.02
- Bump TF-A to v2.9
While at it, tune the documentation:
- Increase the amount of memory in the example commands to help run the
largest OS distributions.
- Update the link to the IR Guide to point at the latest version.
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Cc: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The issue seems to be fixed. I checked qemu and linux git repositories
but can not find any information when this is starting to work.
System gets successfully an IP, no further testing was done.
Tested with Qemu 8.0.3 and Linux 6.1.x.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Use full relative pathes for rootfs and kernel, like in other
readme's.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The m68k Linux kernel build is broken with binutils >= 2.41 with:
arch/m68k/fpsp040/skeleton.S: Assembler messages:
arch/m68k/fpsp040/skeleton.S:502: Error: junk at end of line, first unrecognized character is `#'
arch/m68k/fpsp040/skeleton.S:508: Error: junk at end of line, first unrecognized character is `#'
This commit adds a backport from the upstream Linux kernel which fixes
this issue. Many thanks to Romain Naour for the issue investigation
and the identification of the kernel commit fixing this.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The QEMU board's post-image script will glob through various
`readme.txt` files for an appropriate command line to use. Recent linter
changes [1] prevents this from happening, and results in the following
build error:
>>> Executing post-image script board/qemu/post-image.sh
sed: can't read board/qemu/*/readme.txt: No such file or directory
Reverting part of the shellcheck fixes for the README file arguments and
marking a linter exception.
[1]: b32d7c99c6
Signed-off-by: James Knight <james.d.knight@live.com>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
[yann.morin.1998@free.fr: also reinstate plural to the variable name]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Last-minute changes to d9b244d8a3 (board/qemu: define start qemu
script outside of post-image script) were not tested before being
pushed, so they introduced a bug.
As Arnout put it:
[...] multiple expressions need a -e to interpret them as
expressions (now they're interpreted as file names).
Fixes: d9b244d8a3
Reported-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: James Knight <james.d.knight@live.com>
Provides the ability to use a host system's QEMU. While a Buildroot
generated QEMU should work for most cases, a developer may wish to use
the system's QEMU for options which may not have been configured in the
Buildroot's QEMU build (e.g. configuring a different display mode).
Signed-off-by: James Knight <james.d.knight@live.com>
[yann.morin.1998@free.fr:
- use false/true instead of 0/1
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Provides the ability to forward command line options directly to QEMU.
When invoking `start-qemu.sh`, users can forward arguments by adding a
double dash (`--`) into the argument set, and any trailing arguments
will be forwarded into QEMU. For example, `start-qemu.sh -- --help`.
The original implementation supported a "serial-only" command line
argument to help run in a non-graphical mode for some use cases. These
changes try to promote a newly added `--serial-only` argument to drive
this mode; that being said, a `serial-only` argument will still be
accepted for backwards compatibility.
Signed-off-by: James Knight <james.d.knight@live.com>
[yann.morin.1998@free.fr:
- drop the warning: unknown options cause 'exit 1' already, and any
leftover is explicitly for qemu.
- use false/true instead of 0/1
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The following moves the definition of the QEMU board's `start-qemu.sh`
helper script from being inlined in the post-image script into its own
file. This should, in theory, make it easier to maintain the script in
the future.
Signed-off-by: James Knight <james.d.knight@live.com>
[yann.morin.1998@free.fr:
- don't sub-shell in the script
- merge all 3 sed calls into one
- create dest file with the sed, don't cp first
- also substitute HOST_DIR
- fix shellcheck
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>