Commit Graph

16 Commits

Author SHA1 Message Date
Carlos Santos
fee29b05bb configs/pc_x86_64_efi: use a GPT partition table
Since all EFI-based systems support GPT, this commit changes
pc_x86_64_efi to use a GPT partition table. It shows an example of how
to craft a disk image with GPT partitioning instead of MBR. This is
achieved by means of a post-image script which uses
mkdosfs+mcopy+sfdisk, since genimage is unable to deal with GPT. Long
term, it would be ideal if genimage had GPT support, but until then,
this script shows how to achieve creating a GPT-based disk image.

The script was kept as simple as possible to make it easy to understand
and adapt for other purposes.

The root filesystem location is passed to the kernel by a partition
UUID, so it is possible to boot on QEMU, directly from the disk image,
or dump the image to a physical device.

Signed-off-by: Carlos Santos <casantos@datacom.com.br>
Acked-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-02-06 17:40:28 +01: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
8539e3acfa configs/pc_x86_64_efi: needs host-openssl to build Linux
Fixes:

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

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2018-11-27 09:52:38 +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
Thomas Petazzoni
a4b8342bbe configs/pc_x86_64_efi_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_efi_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.

Fixes:

  https://gitlab.com/buildroot.org/buildroot/builds/15762234

This commit is identical to 9c393ad2fd
from Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>, except it
is done for pc_x86_64_efi_defconfig.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-05-07 13:46:44 +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