Report: UEFI with DUET/Clover


#1

TLDR: It is kind of doable. However, Duet/Clover can only recognize SATA disk, neither nvme nor usb.

  • What is DUET ?

    • DUET is the forgotten UEFI emulator from tianocore years ago. They kind of abandoned this project after OVMF is out.
    • You can still get and build DUET from tianocore. For those who dont want to build DUET from source, I find this project. However, use it on your own risk.
  • What is Clover ?

    • Clover is a bootloader than can be booted from UEFI or legacy, and can chain UEFI or legacy.
    • You can get a bootable ISO here.
  • Why DUET/Clover ?

    • Someone may want to run UEFI, however, they may not want to flash tianocore/ovmf, like me.
  • DUET approach

    • A brief description can be found here.
    • Prepare a FAT partition. I recommend you use SATA disk with MBR partition table here.
    • You need to write a usable MBR to target drive. You can use dd bs=440 count=1 conv=notrunc if=/path/to/mbr.bin of=/target/drive=or/image to write it.
    • mbr.bin from syslinux can be used here.
    • And you need to write bootDuet’s pbr to target partition, which must be FAT 12/16/32, based on your choice.
    • After that, copy DUET’s Efildr.
    • You can use tianocore_uefi_duet_installer’s duet_install script, which support only FAT32. However, you may still need to write MBR manually.
  • Clover approach

    • chain boot clover’s iso from your bootloader. Or, flash that iso to somewhere and chain boot it (not tested).
    • I prefer this way. DUET is a dead project. Clover is still alive and widely used.
  • After that

    • You need to prepare a FAT partition. If you use DUET, you have already got one.
    • DUET does not recognize nvme devices for me. If you succeed on this, tell me about it please.
    • Prepare some EFI applications, copy them the that FAT partition.
    • Reboot to DUET/Clover, and boot that application.