Commit Graph

21 Commits

Author SHA1 Message Date
Konstantin Aladyshev
16e9f51490 configs/pc_x86_64_{bios, efi}_defconfig: add wireless regdb
Wireless regulatory database lists the allowed radio frequencies for
each local jurisdiction. Since linux-4.15 the kernel supports loading
the files regulatory.db/regulatory.db.p7s directly from the
/lib/firmware directory. Currently this package is not enabled and
kernel complains with the following message on every boot:
"""
platform regulatory.0: Direct firmware load for regulatory.db failed
with error -2
cfg80211: failed to load regulatory.db
"""
Add wireless regulatory database package to fix the issue.

Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2024-05-01 21:05:38 +02:00
Romain Naour
b661f635b5 configs/pc_x86_64_{bios, efi}_defconfig: add midding libelf kernel dependency
objtool built by the kernel requires libelf

ldd output/build/linux-6.1.24/tools/objtool/objtool
  linux-vdso.so.1
  libelf.so.1 => output/host/lib/libelf.so.1

While updating the kernel [1] we forgot to select
BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF to provide Buildroot's host-libelf.
Using host-libelf avoid linking with libelf installed on the host or
failing to build objtool if libelf is not installed.

[1] d45538f2e7

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/4889436869
https://gitlab.com/buildroot.org/buildroot/-/jobs/4889436872

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-08-20 23:38:44 +02:00
Adam Duskett
d45538f2e7 configs/pc_x86_64_{bios, efi}_defconfig: Switch to kernel 6.1.24 LTS
Let's use a more modern kernel with a broader range of hardware support
for PCs.

We stick to 6.1, rather than 6.2, as the former is an LTS, whicle the
latter is not.

Signed-off-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2023-04-14 19:57:25 +02:00
Romain Naour
4ebc9d0b85 configs: remove uClibc config options
Following the switch to Glibc as the default libc in Buildroot [1],
all defconfigs expecting uClibc with wchar (or any other uClibc
specific option) should now select BR2_TOOLCHAIN_BUILDROOT_UCLIBC too.

Even if all defconfigs has been tested with uClibc, maintainers
prefer to not enforce a C library and use the default of Buildroot,
which is now glibc.

This commit remove uClibc specific options BR2_TOOLCHAIN_BUILDROOT_WCHAR,
BR2_PTHREAD_DEBUG (required by gdb) and BR2_TOOLCHAIN_BUILDROOT_USE_SSP.

Since glibc always has argp built-in, also remove the standalone one
from affected toolchains...

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

[1] 4057e36ca9
[2] http://lists.busybox.net/pipermail/buildroot/2022-August/649998.html

Signed-off-by: Romain Naour <romain.naour@gmail.com>
[yann.morin.1998@free.fr: also drop argp-standalone]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
2022-09-06 12:26:16 +02:00
Yann E. MORIN
086c96b452 configs/pc_x86_64_bios_defconfig: fix image generation after grub2 rework
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>
2021-12-05 12:32:24 +01:00
Romain Naour
206c098f78 configs/pc_x86_64_{efi, bios}_defconfig: update kernel to 4.19.204
gcc 10.x is now used by default but the kernel 4.18.10 used by
pc_x86_64_{efi,bios}_defconfig doesn't build with it.

Bump the kernel to 4.19.204 release that contains a lot of
fixes for newer gcc.

Fixes:
https://gitlab.com/kubu93/buildroot/-/jobs/1525741062
https://gitlab.com/kubu93/buildroot/-/jobs/1525741060

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2021-08-25 22:20:29 +02:00
Grégoire Delattre
0b28397a9b board/pc: ensure grub.cfg is copied to target filesystem
Before this commit, the grub configuration file was copied to the
TARGET_DIR in a post-image hook, after the filesystem has been
generated. It was kinda working because the board/pc's grub
configuration and the default one are the same and the later was
copied during the build process of the grub2 package.

This commit ensures the custom board/pc grub configuration is copied at
the right time.

Signed-off-by: Grégoire Delattre <gregoire.delattre@gmail.com>
Reviewed-by: Matt Weber <matthew.weber@rockwellcollin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-12-31 18:45:53 +01:00
Thomas Petazzoni
0a5c430c4d configs/pc_x86_64_bios: needs host-openssl to build Linux
Fixes:

  https://gitlab.com/buildroot.org/buildroot/-/jobs/125631915

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-11-27 09:52:33 +01:00
Erico Nunes
88f3618de1 configs/pc: bump kernel version
Bump the kernel version to 4.18.10.
Tested with qemu 2.11.2 on bios and UEFI virtual machines.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-09-27 14:12:16 +02:00
Erico Nunes
6fab243237 configs/pc: refactor to use genimage and grub.cfg
This simplifies the pc configs and respective post image scripts to use
the shared genimage script and separate grub config files.
Separate grub files are cleaner to maintain and easier to copy and
modify, for example to support booting the pc defconfigs in qemu.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-10-22 16:27:53 +02:00
Erico Nunes
158a0c4ca0 configs/pc: bump kernel version
Bump the kernel version to 4.13.8.
Tested with qemu 2.9.1 on bios and UEFI virtual machines.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-10-22 12:25:16 +02:00
Samuel Martin
bee9e881a2 fs/ext2: rename BR2_TARGET_ROOTFS_EXT2_BLOCKS to BR2_TARGET_ROOTFS_EXT2_SIZE
This change deprecates the ext2/3/4 rootfs size in blocks symbol in
favor of one that mimic the fs-size argument behavior of mkfs (i.e.
size in a human readable format accepting k, m, g or t suffix or their
upper-case variants).

This change also updates the defconfigs that used to set
BR2_TARGET_ROOTFS_EXT2_BLOCKS symbol.

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-09 15:35:30 +02:00
Peter Korsgaard
35d4f50fa4 configs/pc_x86_64_{bios,efi}_defconfig: use custom linux config
Reusing the qemu x86-64 linux config isn't very obvious, so these defconfigs
aren't taken into consideration when the qemu defconfigs are updated,
breaking the build.

Instead use a custom linux config for the pc defconfigs.  With this, we also
can get rid of the fragment file containing the delta fra the qemu config.

Created by linux-update-defconfig (after turning of the fragment file).
Also drop the linux kernel version number from the file name as it just
causes extra noise whenever the kernel is bumped.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-06-15 11:25:26 +02:00
Peter Korsgaard
08325e5c2b configs/pc_x86_64_{bios, efi}_defconfig: unbreak after qemu bump to linux-4.11
The pc_x86_64 defconfigs reuse the linux configuration from qemu_x86_64, but
they weren't adjusted when this was updated to use linux-4.11 in 28d97609b2
(configs/qemu: bump to the latest kernel version), breaking the build.

Fix it by also moving them to linux-4.11.x.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-06-15 10:37:42 +02:00
Arnout Vandecappelle
9c393ad2fd pc_x86_64_bios_defconfig: increase ext2 filesystem size
Since commit c6bca8cef0 removed autocalculation of the ext2 filesystem
size, the default size is now set to 60MB. However, this is too small
for pc_x86_64_bios_defconfig. Indeed, the ext2 filesystem contains the
kernel (4MB), the wireless modules (4MB), all firmware for wireless
modules (40MB), and the wifi userspace (9MB) and the udev hwdb (5MB)
which brings the total to 70MB.

Increase the filesystem size to 120000K, which is a nice and round
number and leaves enough space for overhead on a 128MB flash drive.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-04-15 10:35:42 +02:00
Gustavo Zacarias
62e4e13e18 configs/qemu: bump to the latest kernel version
Also bump the pc samples since they're tied to the (base) qemu config.

Results table:

Defconfig               Kernel  Qemu            Network Status
--------------------------------------------------------------
aarch64_virt            4.9.6   2.6.0           YES     OK (3)
arm_versatile           4.9.6   2.5.0           YES     OK
arm_versatile_nommu     4.4.45  2.5.0           YES     OK
arm_vexpress            4.9.6   2.5.0           YES     OK
m68k_mcf5208            4.8.17  2.5.0           YES     OK (6)
m68k_q800               4.9.6   q800-v2.4.0     NO (2)  OK
microblazebe            4.9.6   2.5.0           YES     OK
microblazeel            4.9.6   2.5.0           YES     OK
mips32r2el_malta        4.9.6   2.5.0           YES     OK
mips32r2_malta          4.9.6   2.5.0           YES     OK
mips32r6el_malta        4.9.6   2.6.0           YES     OK (3)
mips32r6_malta          4.9.6   2.6.0           YES     OK (3)
mips64el_malta          4.9.6   2.5.0           YES     OK
mips64_malta            4.8.17  2.5.0           YES     OK (6)
mips64r6el_malta        4.9.6   2.7.0           YES     OK (3)(4)
mips64r6_malta          4.9.6   2.7.0           YES     OK (3)(4)
nios2-10m50             4.9.6   2.9.0           NO      OK
or1k                    4.9.6   2.5.0           NO      OK
ppc_g3beige             4.9.6   2.5.0           YES     OK
ppc_mpc8544ds           4.9.6   2.5.0           YES     OK
ppc_virtex_ml507        4.9.6   2.5.0           NO      OK
ppc64_pseries           4.9.6   2.5.0           YES     OK
sh4                     4.9.6   2.5.0           YES     OK
sh4eb                   4.9.6   2.5.0           NO (1)  OK
sparc_ss10              4.9.6   2.5.0           YES     OK
sparc64_sun4u           4.9.6   2.5.0           YES     OK
sparc_sun4u             4.9.6   2.5.0           YES     OK
x86                     4.9.6   2.5.0           YES     OK
x86_64                  4.9.6   2.5.0           YES     OK
xtensa_lx60             4.8.17  2.6.0           YES     OK (6)
xtensa_lx60_nommu       4.8.17  2.6.0           YES     OK (5)

(1) - Probably an endian issue with 8139 emulation/driver
(2) - There's a network interface, but enabling it in qemu fails
(3) - Known to fail with qemu versions lower than 2.6.0
(4) - Might work with 2.6.0, but the cpu definition changed in 2.7.0
(5) - Kept back on 4.8.x series since 4.9.x fails to build
(6) - Kept back on 4.8.x series since 4.9.x fails to boot

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-01-31 14:25:24 +01:00
Gustavo Zacarias
477756b257 configs/qemu: bump to the latest kernel version
Drop m68k-mcf5208 kernel patch since it's upstream.

Also bump the pc samples since they're tied to the (base) qemu config.

Results table:

Defconfig               Kernel  Qemu            Network Status
--------------------------------------------------------------
aarch64_virt            4.8.1   2.6.0           YES     OK (3)
arm_versatile           4.8.1   2.5.0           YES     OK
arm_vexpress            4.8.1   2.5.0           YES     OK
m68k_mcf5208            4.8.1   2.5.0           YES     OK
m68k_q800               4.8.1   q800-v2.4.0     NO (2)  OK
microblazebe            4.8.1   2.5.0           YES     OK
microblazeel            4.8.1   2.5.0           YES     OK
mips32r2el_malta        4.8.1   2.5.0           YES     OK
mips32r2_malta          4.8.1   2.5.0           YES     OK
mips32r6el_malta        4.8.1   2.6.0           YES     OK (3)
mips32r6_malta          4.8.1   2.6.0           YES     OK (3)
mips64el_malta          4.8.1   2.5.0           YES     OK
mips64_malta            4.8.1   2.5.0           YES     OK
mips64r6el_malta        4.8.1   2.7.0           YES     OK (3)(4)
mips64r6_malta          4.8.1   2.7.0           YES     OK (3)(4)
ppc_g3beige             4.8.1   2.5.0           YES     OK
ppc_mpc8544ds           4.8.1   2.5.0           YES     OK
ppc_virtex_ml507        4.8.1   2.5.0           NO      OK
ppc64_pseries           4.8.1   2.5.0           YES     OK
sh4                     4.8.1   2.5.0           YES     OK
sh4eb                   4.8.1   2.5.0           NO (1)  OK
sparc_ss10              4.8.1   2.5.0           YES     OK
sparc64_sun4u           4.8.1   2.5.0           YES     OK
sparc_sun4u             4.8.1   2.5.0           YES     OK
x86                     4.8.1   2.5.0           YES     OK
x86_64                  4.8.1   2.5.0           YES     OK
xtensa_lx60             4.8.1   2.6.0           YES     OK
xtensa_lx60_nommu       4.8.1   2.6.0           YES     OK

(1) - Probably an endian issue with 8139 emulation/driver
(2) - There's a network interface, but enabling it in qemu fails
(3) - Known to fail with qemu versions lower than 2.6.0
(4) - Might work with 2.6.0, but the cpu definition changed in 2.7.0

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-13 21:42:40 +02:00
Gustavo Zacarias
41fb9f23fa configs/qemu: bump to latest version
Also bump the pc samples since they're tied to the (base) qemu config.

Results table:

Defconfig               Kernel  Qemu            Network Status
--------------------------------------------------------------
aarch64_virt            4.7     2.6.0           YES     OK (3)
arm_versatile           4.7     2.5.0           YES     OK
arm_vexpress            4.7     2.5.0           YES     OK
m68k_mcf5208            4.7     2.5.0           YES     OK
m68k_q800               4.7     q800-v2.4.0     NO (2)  OK
microblazebe            4.7     2.5.0           YES     OK
microblazeel            4.7     2.5.0           YES     OK
mips32r2el_malta        4.7     2.5.0           YES     OK
mips32r2_malta          4.7     2.5.0           YES     OK
mips32r6el_malta        4.7     2.6.0           YES     OK (3)
mips32r6_malta          4.7     2.6.0           YES     OK (3)
mips64el_malta          4.7     2.5.0           YES     OK
mips64_malta            4.7     2.5.0           YES     OK
mips64r6el_malta        4.7     2.6.0           YES     OK (3)
mips64r6_malta          4.7     2.6.0           YES     OK (3)
ppc_g3beige             4.7     2.5.0           YES     OK
ppc_mpc8544ds           4.7     2.5.0           YES     OK
ppc_virtex_ml507        4.7     2.5.0           NO      OK
ppc64_pseries           4.7     2.5.0           YES     OK
sh4                     4.7     2.5.0           YES     OK
sh4eb                   4.7     2.5.0           NO (1)  OK
sparc_ss10              4.7     2.5.0           YES     OK
sparc64_sun4u           4.7     2.5.0           YES     OK
sparc_sun4u             4.7     2.5.0           YES     OK
x86                     4.7     2.5.0           YES     OK
x86_64                  4.7     2.5.0           YES     OK
xtensa_lx60             4.7     2.6.0           YES     OK
xtensa_lx60_nommu       4.7     2.6.0           YES     OK

(1) - Probably an endian issue with 8139 emulation/driver
(2) - There's a network interface, but enabling it in qemu fails
(3) - Known to fail with qemu versions lower than 2.6.0

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-27 21:41:55 +02:00
Gustavo Zacarias
27a7eac2f3 configs/pc_x86_64_{bios, efi}_defconfig: bump to linux 4.6.3
To match it's friendly qemu counterpart.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-02 15:06:55 +02:00
Gustavo Zacarias
d7eb5c56bb configs/qemu: bump to latest version
Also bump the pc samples since they're tied to the (base) qemu config.

Results table:

Defconfig               Kernel  Qemu            Network Status
--------------------------------------------------------------
aarch64_virt            4.5.6   2.5.0           YES     OK (4)
arm_versatile           4.6.1   2.5.0           YES     OK
arm_vexpress            4.6.1   2.5.0           YES     OK
m68k_mcf5208            4.6.1   2.5.0           YES     OK
m68k_q800               4.6.1   q800-v2.4.0     NO (3)  OK
microblazebe            4.6.1   2.5.0           YES     OK
microblazeel            4.6.1   2.5.0           YES     OK
mips64el_malta          4.6.1   2.5.0           YES     OK
mips64_malta            4.6.1   2.5.0           YES     OK
mipsel_malta            4.6.1   2.5.0           YES     OK
mips_malta              4.6.1   2.5.0           YES     OK
ppc_g3beige             4.6.1   2.5.0           YES     OK
ppc_mpc8544ds           4.6.1   2.5.0           YES     OK
ppc_virtex_ml507        4.6.1   2.5.0           NO      OK
ppc64_pseries           4.6.1   2.5.0           YES     OK
sh4                     4.6.1   2.5.0           YES     OK
sh4eb                   4.6.1   2.5.0           NO (1)  OK
sparc_ss10              4.6.1   2.5.0           YES     OK
sparc64_sun4u           4.6.1   2.5.0           YES     OK
sparc_sun4u             4.6.1   2.5.0           YES     OK
x86                     4.6.1   2.5.0           YES     OK
x86_64                  4.6.1   2.5.0           YES     OK
xtensa_lx60             4.6.1   2.6.0           YES     OK (2)
xtensa_lx60_nommu       4.6.1   2.6.0           YES     OK (2)

(1) - Probably an endian issue with 8139 emulation/driver
(2) - Linux 4.5/4.6 doesn't work with older Qemu versions
(3) - There's a network interface, but enabling it in qemu fails
(4) - Console looks dead in 4.6

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-06-08 22:23:33 +02:00
Gustavo Zacarias
4e4545246f configs/pc_x86_64_{bios, efi}_defconfig: new samples
Add two new sample defconfigs oriented towards real PC targets.

It adds two variants for BIOS and EFI boot strategy.

On the build side we enable eudev to autoload relevant kernel
modules/support when necessary.

It adds a bunch of drivers and extra filesystem support which is by no
means extensive/complete, mostly geared towards the hardware i've got at
hand to test with.
This is accomplished by adding on top of the Qemu x86_64 kernel sample
config.

Build connman since by using eudev network interfaces get renamed on
boot thus complicating any form of automatic and friendly bringup.
It also makes Wi-Fi configuration/support easier.

In principle these base defconfigs should work just fine for other
storage media != pendrive like sata or ssd disk, however driver support
isn't there quite yet, and pendrive is mostly supported by usb storage
plus the usual usb host controller drivers.

Tested on old Lenovo laptop (BIOS) and Asus Zenbook (EFI).

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-06-03 20:02:08 +02:00