Commit Graph

327 Commits

Author SHA1 Message Date
Romain Naour
ad4775fb2f configs/qemu_ppc_mpc8544ds_defconfig: remove kernel patch
The ppc-mpc8544ds is the only qemu configuration that requires a kernel patch:
board/qemu/ppc-mpc8544ds/patches/linux/0001-powerpc-Fix-mcpu-options-for-SPE-only-compiler.patch

But this patch doesn't apply after a backport between v6.1.20 and v6.1.21

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=da0beae2449376326086e9f57468fd2b64736d2a

So the patch 0001-powerpc-Fix-mcpu-options-for-SPE-only-compiler.patch doesn't
seem required anymore.

 Welcome to Buildroot
 buildroot login: root
 # uname -a
 Linux buildroot 6.1.28 #1 Wed May 24 09:08:27 UTC 2023 ppc GNU/Linux
 # cat /proc/cpuinfo
 processor	: 0
 cpu		: e500v2
 clock		: 400.000000MHz
 revision	: 3.0 (pvr 8021 0030)
 bogomips	: 800.00

 timebase	: 400000000
 platform	: MPC8544 DS
 model		: MPC8544DS
 Memory		: 128 MB

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/4306895282
https://bugs.busybox.net/show_bug.cgi?id=15581

Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Jan-Benedict Glaw <jbglaw@lug-owl.de>
Cc: Sebastian Weyer <sebastian.weyer@smile.fr>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-05-24 21:15:11 +02:00
James Knight
a940148989 board/qemu: restore readme globbing
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>
2023-04-15 09:06:54 +02:00
Yann E. MORIN
131cb09c79 board/qemu: fix post-image
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>
2023-04-13 19:36:16 +02:00
James Knight
5de78f181a board/qemu/start-qemu.sh.in: support launching with host system's qemu
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>
2023-04-10 23:16:57 +02:00
James Knight
16c497e0a6 board/qemu/start-qemu.sh.in: rework argument handling
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>
2023-04-10 23:16:56 +02:00
Yann E. MORIN
b32d7c99c6 board/qemu: fix shellcheck in post-image script
Commit 270759aff3cf (board/qemu: define start qemu script outside of
post-image script) touches board/qemu/post-image.sh, so that exposed
existing shellcheck issues.

Fix those now.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Cc: James Knight <james.d.knight@live.com>
2023-04-10 23:16:55 +02:00
James Knight
d9b244d8a3 board/qemu: define start qemu script outside of post-image script
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>
2023-04-10 23:16:16 +02:00
Niklas Cassel
3ecff27df1 support/testing: move the kernel config only used by test_edk2.py
The kernel config board/qemu/aarch64-sbsa/linux.config has never been in
use by qemu_aarch64_sbsa_defconfig, neither via
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE, nor via
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES.

test_edk2.py is using the kernel config
board/qemu/aarch64-sbsa/linux.config. However, storing a kernel config
that is not used by qemu_aarch64_sbsa_defconfig, in a directory that is
"owned" by qemu_aarch64_sbsa_defconfig, is bound to cause confusion.

Therefore, move the config file to a new subdirectory:
support/testing/tests/boot/test_edk2/

This is similar to how e.g. test_grub.py has a subdirectory:
support/testing/tests/boot/test_grub/
where it keeps the kernel config that is only used by test_grub.py.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-03-12 10:08:43 +01:00
Niklas Cassel
92f6a843b8 board/qemu/aarch64-sbsa: use the default console specified by ACPI
ARM SBBR (Server Base Boot Requirements) defines SPCR (Serial Port
Console Redirection Table) as a mandatory ACPI table that specifies
the configuration of a serial console.

In the linux kernel, ARM developers have decided that consoles defined
by SPCR are always enabled when existing, see e.g.:
https://lore.kernel.org/linux-serial/20200430161438.17640-1-alpernebiyasak@gmail.com/T/

Specifying console=ttyAMA0 (which is a serial console) is thus
redundant for an ARM SBSA board. (It also blindly assumes that
the serial console is on ttyAMA0, which might not be true.)

Drop the explicit console=ttyAMA0 on the kernel command line,
such that the kernel can pick up the default console defined
by SPCR.

This is similar to how it is currently done for
board/aarch64-efi/grub.cfg.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-03-12 10:08:39 +01:00
Niklas Cassel
d1b87a346a board/qemu/aarch64-sbsa: use PARTLABEL to specify root
Specifying /dev/sda2 is ambigious, and when booting my arm64 machine
this tries to mount the second partition of my ATA drive, instead of
the second partition of the USB-stick, simply because the ATA driver
is probed earlier than the USB controller driver.

To solve this problem, use PARTLABEL=root to specify the root filesystem.
This is similar to how it is currently done for board/aarch64-efi/grub.cfg
and board/qemu/aarch64-ebbr/grub.cfg.

Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-03-12 10:08:34 +01:00
Vincent Stehlé
2215548546 configs/qemu_aarch64_ebbr: bump linux to 6.1.12 and u-boot to 2023.01
- Bump Linux kernel version to 6.1.12.
- Bump U-Boot version to 2023.01 and rename config fragment to make it
  clearer that it is not a complete config file.

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>
2023-02-21 09:38:48 +01:00
Vincent Stehlé
a86bbb4ae4 configs/qemu_arm_ebbr: bump linux to 6.1.12 and u-boot to 2023.01
- Bump Linux kernel version to 6.1.12.
- Bump U-Boot version to 2023.01 and follow CONFIG_SYS_TEXT_BASE renaming.

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>
2023-02-21 09:38:41 +01:00
Vincent Stehlé
7115ab3918 configs/qemu_arm_ebbr: new defconfig
Add a defconfig to build a 32b ARMv7-A U-Boot based firmware implementing
the subset of UEFI defined by EBBR[1], as well as a Linux OS disk image
booting with UEFI, to run on Qemu.

The generated firmware binary can also be used to install or run another OS
supporting the EBBR specification.

[1]: https://github.com/ARM-software/ebbr

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>
2023-01-30 22:54:37 +01:00
Vincent Stehlé
89c245b97a configs/qemu_aarch64_ebbr: new defconfig
Add a defconfig to build an AArch64 U-Boot based firmware implementing the
subset of UEFI defined by EBBR[1], as well as a Linux OS disk image booting
with UEFI, to run on Qemu.

The generated firmware binary can also be used to install or run another OS
supporting the EBBR specification.

We do not have Linux 5.19 headers at the moment therefore we rely on 5.17
in the defconfig.

[1]: https://github.com/ARM-software/ebbr

Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-10-31 13:07:25 +01:00
Joel Stanley
1fca098295 board/powerpc/ppc64le-pseries: set x-vof on qemu command line
This uses a newer firmware implementation that is much faster at
booting. It is supported as of Qemu 7.0.

Signed-off-by: Joel Stanley <joel@jms.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2022-09-24 17:06:43 +02:00
Thomas Petazzoni
025d8ac80d board/*/genimage.cfg: use partition-type-uuid U where relevant
This commit changes to use partition-type-uuid = U instead of
c12a7328-f81f-11d2-ba4b-00a0c93ec93b where relevant for the EFI System
Partition.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-07-23 15:36:22 +02:00
Peter Korsgaard
f657ed3b3e Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-06-07 21:09:05 +02:00
Waldemar Brodkorb
ceb3dae264 board/qemu/ppc-bamboo: use path to vmlinux image for copy and paste users
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-05-30 23:44:47 +02:00
Niklas Cassel
1b298db82f configs/qemu_riscv64_nommu_virt_defconfig: new defconfig
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>
2022-05-30 21:15:10 +02:00
Romain Naour
9c5c3fbb22 configs: remove qemu_arm_versatile_nommu_defconfig
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>
2022-05-29 16:56:08 +02:00
Peter Korsgaard
5803bbd900 configs/qemu_aarch64_virt_defconfig: linux.config: enable fb/input support
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>
2022-01-22 20:08:41 +01:00
Romain Naour
04afe86cd7 board/qemu/arm-vexpress-tz: use enable=on
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>
2022-01-15 17:02:52 +01:00
Cédric Le Goater
8ac0775130 configs/qemu_ppc_bamboo: new defconfig
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>
2022-01-11 21:44:33 +01:00
Cédric Le Goater
7d914839a4 configs/qemu_ppc64le_powernv8: new defconfig
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>
2022-01-11 21:37:28 +01:00
Masahiro Yamada
53d82096b6 qemu_arm_versatile_nommu: switch to in-kernel defconfig + fragment
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>
2022-01-08 15:12:35 +01:00
Masahiro Yamada
34b725c412 qemu_arm_versatile: switch to in-kernel defconfig + fragment
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>
2022-01-08 15:12:35 +01:00
Romain Naour
16d490d111 board/qemu/aarch64-sbsa: use partition-type-uuid for genimage-15
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

Sync the genimage.cfg with the one used for aarch64_efi_defconfig

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/1929717179
https://gitlab.com/buildroot.org/buildroot/-/jobs/1921792262

FTR, the magic UUID are from:
    https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Dick Olsson <hi@senzilla.io>
Cc: Pierre-Jean Texier <texier.pj2@gmail.com>
[yann.morin.1998@free.fr: add Wikipedia link]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-01-03 21:41:50 +01:00
Cédric Le Goater
cf494c78c1 configs/qemu_ppc_e500mc: enable dhcp on network interface
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>
2021-12-28 22:14:55 +01:00
Cédric Le Goater
35ef82fe3b configs/qemu_ppc64_e5500: enable dhcp on network interface
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>
2021-12-28 22:14:52 +01:00
Peter Korsgaard
b59f938302 board/*/genimage.cfg: use partition-table-type = "gpt" for genimage-15
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>
2021-12-27 15:41:51 +01:00
Giulio Benetti
543b8e906d board/qemu/aarch64-sbsa/genimage.cfg: beautify file
Beatify this genimage .cfg file to have consistency with all genimage .cfg
files in Buildroot.

Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-11-08 22:59:26 +01:00
Romain Naour
0bd07a0cc6 configs/qemu_aarch64_sbsa_defconfig: add gitlab runtime testing tag
Enable the runtime testing by adding the tag in the readme.txt

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Dick Olsson <hi@senzilla.io>
Reviewed-by: Dick Olsson <hi@senzilla.io>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-11-08 10:56:38 +01:00
Romain Naour
17c516d67a configs/qemu_aarch64_sbsa_defconfig: use ARM cortex a57
Cortex-a53 is not a vaild CPU supported by the SBSA reference machine
[0], so qemu fails to boot in our current defconfig:

  qemu-system-aarch64: sbsa-ref: CPU type other than the built-in cortex-a57 not supported

Use ARM cortex-a57 which is the CPU that SBSA was meant to emulate [1]

[0] https://git.qemu.org/?p=qemu.git;a=commitdiff;h=4f335a6381f83beb5d6ac0d3993514379454a99d
[1] https://git.qemu.org/?p=qemu.git;a=commitdiff;h=64580903c2b3aee08d74d64e6248a313b246cb69

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Dick Olsson <hi@senzilla.io>
Reviewed-by: Dick Olsson <hi@senzilla.io>
[yann.morin.1998@free.fr: update the commit log with info from Dick]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-11-08 10:36:09 +01:00
Romain Naour
80623ea837 configs/qemu: update defconfigs to Linux 5.15
Remove upstream patch:

0001-sparc64-avoid-stringop-overread-warning-to-access-Ma.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=fc7c028dcdbfe981bca75d2a7b95f363eb691ef3

0001-mips-Do-not-include-hi-and-lo-in-clobber-list-for-R6.patch
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=1d7ba0165d8206ac073f7ac3b14fc0836b66eae7

0001-arch-s390-disable-SSP-when-needed.patch [3]
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=42e8d652438f5ddf04e5dac299cb5e623d113dc0

Tested on gitlab:
https://gitlab.com/kubu93/buildroot/-/pipelines/402999845

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-11-06 11:52:01 +01:00
Romain Naour
2502a6506c configs/qemu_arm_versatile_nommu_defconfig: update to Linux 5.15
Rebase patch versatile-nommu.patch on top of v5.15.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-11-06 11:51:47 +01:00
Romain Naour
2c52579451 configs/qemu_aarch64_sbsa_defconfig: update to Linux 5.15
Increase vfat partition size for qemu-aarch64-sbsa since it now
requires more than 32M. See "Disk full" [1].

[1] https://gitlab.com/kubu93/buildroot/-/jobs/1745752049

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-11-06 11:51:38 +01:00
Romain Naour
3cdaccb52c board/qemu/mips*-malta: switch from IDE disk to SCSI disk
A following patch will switch to the kernel 5.15 for all qemu
defconfigs but the IDE support (used by mips malta) has been
removed from the Linux kernel since 5.14 release [1].

Enable the SCSI support and update the kernel command line.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=b7fb14d3ac63117e0e8beabe75f4ea52051fbe3a

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-11-06 11:51:24 +01:00
Joel Stanley
459be36bf8 configs/qemu_ppc_g3beige: update to Linux 5.15
The BLK_DEV_IDE_PMAC driver has been removed from the kernel, so use the
libata replacement PATA_MACIO. This requires enabling ATA and BLK_DEV_SD
for the disk to show up, and changing the command line to use /dev/sda.

YENTA depends on PCCARD, so enable it.

The UART does not show up in /dev without DEVTMPFS.

Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-11-03 18:43:12 +01:00
Romain Naour
b36c4e594c configs: remove qemu_csky defconfigs
We are going to remove the gcc fork for csky since it doesn't build
with the latest compilers (gcc 8, 10, 11 tested) [1].

Removing theses defconfigs and the csky gcc fork has become unavoidable
since the Buildroot Docker image used by the gitlab CI will switch soon
to Debian bullseye soon [2].

The cksy gcc fork based on gcc 6 has not been updated since it has been
added to Buildroot [3]. Since then, csky has been added to binutils and
gcc but using the latest upstream version (binutils 2.37 and gcc 11) is
not yet possible due to build issue with glibc 2.34 [4].

Moreover, qemu_csky defconfigs was to be used with the csky qemu fork
(based on Qemu 3.x) added by commit [5] and removed by commit [6].
Since then it's not possible to do a runtime test with theses
defconfigs.

Theses defconfigs can be added back later if the csky toolchain support
is fixed and csky supported by upstream Qemu.

[1] http://lists.busybox.net/pipermail/buildroot/2021-August/621504.html
[2] 71b8322712
[3] 7873a5bd5e
[4] http://lists.busybox.net/pipermail/buildroot/2021-October/624596.html
[5] f816e5b276
[6] 58af9a70cc

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Guo Ren <ren_guo@c-sky.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Asked-by: Guo Ren <guoren@kernel.org>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-10-17 18:58:47 +02:00
Kory Maincent
3efb5e31fc board, boot, package: remove usage of startup.nsh in EFI partition
The startup.nsh file is useless to boot EFI payloads. We just need to
follow the naming detection specified in the UEFI spec.
The EFI payload need to be placed in the boot/efi folder in the EFI partition
and follow the architecture naming as described below:
32bit : bootia32.efi
x64 : bootx64.efi
aarch32 : bootarm.efi
aarch64 : bootaa64.efi

This naming is already right in the packages involved (systemd, grub2,
gummiboot), therefore we just need to drop the generation of the
startup.nsh file.

The usage of the startup.nsh in genimage is also dropped to avoid errors in
the image generation.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Tested-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-09-27 21:27:02 +02:00
Matthew Weber via buildroot
5ec9542415 support/testing/tests/fs: test OCI format
This patch adds runtime testing of the OCI archive created by the
sloci scripting. It launches a containerd instance, imports, and
runs the OCI container.

The existing QEMU AARCH64 kernel config was extended to enable common
options used by a container runtime (cgroup and overlayfs).

Signed-off-by: Matthew Weber <matthew.weber@collins.com>
[Arnout: adapt file name which is arm64 now; add to DEVELOPERS]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-09-11 14:52:41 +02:00
Romain Naour
6e1106b4a9 board/qemu/sparc64-sun4u: avoid gcc-11 warning to build the kernel
gcc-11 warns about what appears to be an out-of-range array access but
stop the build due to -Werror added to cflags:

arch/sparc/kernel/mdesc.c: In function 'mdesc_node_by_name':
arch/sparc/kernel/mdesc.c:647:22: error: 'strcmp' reading 1 or more bytes from a region of size 0 [-Werror=stringop-overread]
  647 |                 if (!strcmp(names + ep[ret].name_offset, name))
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/sparc/kernel/mdesc.c:77:33: note: at offset 16 into source object 'mdesc' of size 16
   77 |         struct mdesc_hdr        mdesc;
      |                                 ^~~~~
arch/sparc/kernel/mdesc.c: In function 'mdesc_get_property':
arch/sparc/kernel/mdesc.c:692:22: error: 'strcmp' reading 1 or more bytes from a region of size 0 [-Werror=stringop-overread]
  692 |                 if (!strcmp(names + ep->name_offset, name)) {
      |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/sparc/kernel/mdesc.c:77:33: note: at offset 16 into source object 'mdesc' of size 16
   77 |         struct mdesc_hdr        mdesc;
      |                                 ^~~~~
arch/sparc/kernel/mdesc.c: In function 'mdesc_next_arc':
arch/sparc/kernel/mdesc.c:719:21: error: 'strcmp' reading 1 or more bytes from a region of size 0 [-Werror=stringop-overread]
  719 |                 if (strcmp(names + ep->name_offset, arc_type))
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/sparc/kernel/mdesc.c:77:33: note: at offset 16 into source object 'mdesc' of size 16
   77 |         struct mdesc_hdr        mdesc;
      |                                 ^~~~~
cc1: all warnings being treated as errors

The issue was initially reported to gcc [1] where it was analized.
As suggested, change the struct mdesc_elem * accesses from the end
of mdesc to those from the beginning of the data array.

Update the prototype of node_block(), name_block() and data_block()
since the code really seems to want to do is to compute the address
somewhere into the chunk pointed to by hp.

[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100262

Upstream status: Pending
https://www.spinics.net/lists/sparclinux/msg26385.html

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-06-20 18:40:05 +02:00
Peter Korsgaard
8d07baab43 Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-06-07 17:14:37 +02:00
Dick Olsson
a8466cc5ac configs/qemu_aarch64_sbsa_defconfig: new config for QEMU sbsa-ref
This introduces a configuration for the SBSA reference machine under
QEMU that is intended for developing and testing firmware. It consists
of ATF that load EDK2 as BL33 which in turn will load GRUB2.

Included with the board files is a minimal kernel configuration, almost
identical to that of board/qemu/aarch64-virt/linux.config. The main
difference is the addition of ACPI which is preferred over DTB for
booting an UEFI system.

Signed-off-by: Dick Olsson <hi@senzilla.io>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-05-17 17:26:27 +02:00
Fabrice Fontaine
8a86b50092 board/qemu/s390x: disable SSP when needed
Fix build failure raised since commit
810ba387be by disabling SSP when needed

Fixes:
 - https://gitlab.com/kubu93/buildroot/-/jobs/1247043361

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Reviewed-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2021-05-15 16:48:18 +02:00
Vincent Stehlé
15d3a7226d configs/qemu_arm_vexpress_tz: bump versions and update
- Bump TF-A to version 2.4.
- Bump u-boot to version 2021.01.
- Bump kernel to version 5.11.3.

We switch TF-A to a single FIP image. Thanks to this, TF-A does not need to
use semihosting to load the various BL* anymore (but U-Boot still does).
Update the readme.txt accordingly.

We switch to a u-boot image for the ramdisk. This removes the need to
update the fdt chosen node manually in the bootcmd.

While at it, we drop the generation of the kernel dtb, which we do not use.
In this config, we are indeed using the dtb generated on-the-fly by qemu
and amended by TF-A.

Signed-off-by: Vincent Stehlé <vincent.stehle@laposte.net>
Cc: Gerome Burlats <gerome.burlats@smile.fr>
Cc: Romain Naour <romain.naour@gmail.com>
Cc: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Tested-by: Romain Naour <romain.naour@gmail.com>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-03-20 23:03:46 +01:00
Bin Meng
88c1cb10b6 board/qemu: Add ppc-e500mc configuration
This adds a 32-bit equivalent configuration of ppc64-e5500 board.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-03-01 23:50:15 +01:00
Geoffrey Le Gourriérec
fbbcacff7d board/qemu/sh4*: Remove linux-headers patch
Previous patch about time data structures [1] provided a dirty fix
that did not solve the real issue.

After discussing with Linux folks on the SuperH mailing list [2],
the patch was deemed unnecessary, as the problem lied in uclibc.

[1] https://git.buildroot.net/buildroot/commit/?id=742f37de8d0e3797698411dfc6a63bd7e98aafe2
[2] https://patchwork.kernel.org/project/linux-sh/patch/20210123165652.10884-1-geoffrey.legourrierec@gmail.com/

Signed-off-by: Geoffrey Le Gourriérec <geoffrey.legourrierec@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-01-30 13:38:58 +01:00
Geoffrey Le Gourriérec
370e663593 configs/qemu_ppc_virtex_ml507: remove defconfig
Support for this board was removed in Linux upstream [1] since Xilinx
new design tools dropped these platforms in 2013, along with all
PPC405/PPC440 new designs. They are not maintained nor tested anymore.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7ade8495dcfd788a76e6877c9ea86f5207369ea4

Signed-off-by: Geoffrey Le Gourriérec <geoffrey.legourrierec@gmail.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-01-21 22:36:12 +01:00
Geoffrey Le Gourriérec
742f37de8d configs/qemu_*: bump kernel version to 5.10.7
Bump most QEMU defconfigs (every one that was previously on 5.4.y)
to latest longterm kernel 5.10.7.

Please note the following exceptions/modifications:
- board/qemu/qemu_s390x_defconfig: ignored (already up to date)
- board/qemu/sh4*-r2d:
    - Remove the remaining kernel patch [1] provided by Alan Modra
      fixing rodata alignment, carried here by Romain Naour [2] to
      fix an issue preventing kernel from booting with binutils 2.23.
      Patch is present in upstream Linux now.
    - Fix compile-time error regarding 64-bit time data structures
      from kernel headers when building with uclibc. Previous fix [3]
      existed upstream; but see details below.
    - board/qemu/ppc-mpc8544ds: Updated kernel patch
- board/qemu/arm-versatile: Updated kernel patch
- board/qemu/mips*r6*: Updated kernel patch

Tested on all configs/qemu* configurations. [4]

[1] https://www.sourceware.org/ml/binutils/2019-12/msg00112.html
[2] https://git.busybox.net/buildroot/commit/?id=a2331c8a61bdd71c47492efc818fb0458a349219
[3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fc94cf2092c7c1267fa2deb8388d624f50eba808
[4] https://gitlab.com/clumsyape/buildroot/-/pipelines/244024195

Signed-off-by: Geoffrey Le Gourriérec <geoffrey.legourrierec@gmail.com>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2021-01-21 22:36:12 +01:00