kumquat-buildroot/board/pc
Alexandre PAYEN 3468ef16fa configs/pc_x86_64_efi: use genimage GPT partition table support
Thanks to the introduction of GPT partition table support in genimage,
this commit improves the pc_x86_64_efi_defconfig to remove the use of
the custom script creating the image.

Tested in QEMU, not on a physical device.

So:
- revert commit fee29b05bb7db25e37c8a5175ce00dc712554edf[1]
- add GPT support
- tweak shell script to add the correct UUID in genimage config.

[1]: https://git.buildroot.net/buildroot/commit/?id=fee29b05bb7db25e37c8a5175ce00dc712554edf
[2]: https://git.buildroot.net/buildroot/commit/?id=79b8540d624ac4846ba341b1b9691eccacf0bc05

Signed-off-by: Alexandre PAYEN <alexandre.payen@smile.fr>
Cc: Carlos Santos <casantos@datacom.com.br>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[Thomas:
 - drop commented code in post-build.sh
 - take into account comments made by Carlos Santos in
   http://patchwork.ozlabs.org/patch/1143502/]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-11-12 23:01:38 +01:00
..
genimage-bios.cfg
genimage-efi.cfg configs/pc_x86_64_efi: use genimage GPT partition table support 2019-11-12 23:01:38 +01:00
grub-bios.cfg configs/pc: refactor to use genimage and grub.cfg 2017-10-22 16:27:53 +02:00
grub-efi.cfg configs/pc_x86_64_efi: use genimage GPT partition table support 2019-11-12 23:01:38 +01:00
linux.config board/pc: use frame pointer unwinder in linux.config 2018-11-23 10:43:24 +01:00
post-build.sh configs/pc_x86_64_efi: use genimage GPT partition table support 2019-11-12 23:01:38 +01:00
post-image-efi.sh configs/pc_x86_64_efi: use genimage GPT partition table support 2019-11-12 23:01:38 +01:00
readme.txt board/pc: drop unused grub-efi.cfg file 2019-05-10 10:30:15 +02:00

Bare PC sample config
=====================

1. Build

  First select the appropriate target you want.

  For BIOS-based boot strategy:

  $ make pc_x86_64_bios_defconfig

  For EFI-based boot strategy on a GPT-partitioned disk:

  $ make pc_x86_64_efi_defconfig

  Add any additional packages required and build:

  $ make

2. Write the pendrive

  The build process will create a pendrive image called sdcard.img in
  output/images.

  Write the image to a pendrive:

  $ dd if=output/images/disk.img of=/dev/sdc; sync

  Once it's done insert it into the target PC and boot.

  Remember that if said PC has another boot device you might need to
  select this alternative for it to boot.

  In the case of EFI boot you might need to disable Secure Boot from
  the setup as well.

3. Enjoy

Emulation in qemu (BIOS)
========================

1. Edit grub-bios.cfg

  Since the driver will show up in the virtual machine as /dev/vda,
  change board/pc/grub-bios.cfg to use root=/dev/vda2 instead of
  root=/dev/sda2. Then rebuild grub2 and the image.

2. Run the emulation with:

qemu-system-x86_64 \
	-M pc \
	-drive file=output/images/disk.img,if=virtio,format=raw \
	-net nic,model=virtio \
	-net user


Emulation in qemu (UEFI)
========================

Run the emulation with:

qemu-system-x86_64 \
	-M pc \
	-bios </path/to/OVMF_CODE.fd> \
	-drive file=output/images/disk.img,if=virtio,format=raw \
	-net nic,model=virtio \
	-net user

Note that </path/to/OVMF.fd> needs to point to a valid x86_64 UEFI
firmware image for qemu. It may be provided by your distribution as a
edk2 or OVMF package, in path such as
/usr/share/edk2/ovmf/OVMF_CODE.fd .