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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>