===== What? =====
My notes on using uefi on KVM.
===== setup on Fedora 23 =====
dnf install dnf-plugins-core
dnf config-manager --add-repo http://www.kraxel.org/repos/firmware.repo
dnf install edk2.git-ovmf-x64
# kraxel++
* https://fedoraproject.org/wiki/Using_UEFI_with_QEMU
===== running a UEFI-KVM guest =====
virt-install ... -boot uefi ...
i.e.
virt-install -n $HOSTNAME -r 1024 --vcpus 2 --cpu host \
--disk path=/img/tvm.qcow2,format=qcow2,bus=virtio,cache=unsafe \
--location http://192.168.4.1/repos/$DISTRO \
--graphics none --virt-type kvm --os-type linux \
--boot uefi,menu=on,useserial=on \
--console pty --os-variant rhel7 \
--network bridge=virbr0,model=virtio \
--extra-args "console=tty0 console=ttyS0,115200n8 net.ifnames=0"
===== efibootmgr on Linux, from the guest =====
[root@rhel7u2a ~]# efibootmgr
BootCurrent: 000A
Timeout: 0 seconds
BootOrder: 000A,0008,000B,000C,000D,000E,000F,0010,0011,0012,0013
Boot0000* EFI Floppy
Boot0001* EFI Floppy 1
Boot0002* EFI Network 1
Boot0003* EFI Misc Device
Boot0004* EFI Network
Boot0005* EFI Network 4
Boot0006* EFI Network 2
Boot0007* EFI Network 3
Boot0008* Red Hat Enterprise Linux
Boot0009* EFI Network 5
Boot000A* EFI Internal Shell
Boot000B* EFI Floppy
Boot000C* EFI Floppy 1
Boot000D* EFI Misc Device
Boot000E* EFI Network
Boot000F* EFI Network 1
Boot0010* EFI Network 2
Boot0011* EFI Network 3
Boot0012* EFI Network 4
Boot0013* EFI Network 5
[root@rhel7u2a ~]# efibootmgr -b f -B # removing entry "f"
BootCurrent: 000A
Timeout: 0 seconds
BootOrder: 000A,0008,000B,000C,000D,000E,0010,0011,0012,0013
Boot0000* EFI Floppy
[..]
Boot000E* EFI Network
Boot0010* EFI Network 2
[root@rhel7u2a ~]# efibootmgr -n a # configuring shell
BootNext: 000A
BootCurrent: 000A
[root@rhel7u2a ~]# reboot
===== efi shell commands =====
UEFI Interactive Shell v2.1
EDK II
UEFI v2.60 (EDK II, 0x00010000)
Mapping table
FS0: Alias(s):HD1b:;BLK3:
PciRoot(0x0)/Pci(0x7,0x0)/HD(1,GPT,7E05BAFB-BFCD-432E-9E75-FD29C8D8F95D,0x800,0x64000)
BLK0: Alias(s):
PciRoot(0x0)/Pci(0x1,0x0)/Floppy(0x0)
BLK1: Alias(s):
PciRoot(0x0)/Pci(0x1,0x0)/Floppy(0x1)
BLK2: Alias(s):
PciRoot(0x0)/Pci(0x7,0x0)
BLK4: Alias(s):
PciRoot(0x0)/Pci(0x7,0x0)/HD(2,GPT,E70DB185-B12D-4730-9703-3E8E36986D0D,0x64800,0xFA000)
BLK5: Alias(s):
PciRoot(0x0)/Pci(0x7,0x0)/HD(3,GPT,224CCEFA-DE71-4088-B790-1E067315D096,0x15E800,0x46A1000)
Press ESC in 1 seconds to skip startup.nsh or any other key to continue.
Shell>fs0:
FS0:\> ls
Directory of: FS0:\
04/21/2016 02:40 4,096 EFI
0 File(s) 0 bytes
1 Dir(s)
FS0:\> cd EFI\redhat
FS0:\EFI\redhat\> ls
Directory of: FS0:\EFI\redhat\
04/21/2016 02:40 4,096 .
04/21/2016 02:40 4,096 ..
04/21/2016 02:40 4,096 fonts
04/21/2016 02:41 1,024 grubenv
10/12/2015 16:57 1,008,080 gcdx64.efi
10/12/2015 16:57 1,008,080 grubx64.efi
07/20/2015 14:48 176 BOOT.CSV
07/20/2015 14:48 1,282,496 MokManager.efi
07/20/2015 14:48 1,289,544 shim-redhat.efi
07/20/2015 14:48 1,295,704 shim.efi
04/21/2016 02:41 4,220 grub.cfg
8 File(s) 5,889,324 bytes
3 Dir(s)
FS0:\EFI\redhat\> grubx64.efi