14ee52f936
Following commitfee29b05bb
("configs/pc_x86_64_efi: use a GPT partition table"), board/pc/grub-efi.cfg is no longer used anywhere: the post-image-efi-gpt.sh script generates the grub configuration. Also, since post-image-efi-gpt.sh generates a grub configuration file that uses the root filesystem partition UUID as the root= kernel argument, the instructions in the readme.txt file to tweak root= from /dev/sda2 to /dev/vda2 is no longer relevant. This was noted in the commit log offee29b05bb
: 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. Fixes: #11841 Cc: Pete Morici <pmorici@dev295.com> Cc: Carlos A. M. dos Santos <unixmania@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com> (cherry picked from commit79b8540d62
) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
73 lines
1.6 KiB
Plaintext
73 lines
1.6 KiB
Plaintext
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 .
|