mirror of
https://github.com/godotengine/buildroot.git
synced 2025-12-31 09:48:56 +03:00
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>
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 .