[haiku-commits] Re: haiku: hrev51183 - src/tools/anyboot build/jam/images

  • From: kallisti5 <kallisti5@xxxxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 26 May 2017 16:39:54 -0500

On 2017-05-26 16:21, kallisti5@xxxxxxxxxxx wrote:

hrev51183 adds 1 changeset to branch 'master'
old head: 6af29d4f83018c47e1d2f2ff9d54fb198c0888a6
new head: 2f0ca6974e11d38fb66b83cd088bf1c4b55b0fa3
overview:
http://cgit.haiku-os.org/haiku/log/?qt=range&q=2f0ca6974e11+%5E6af29d4f8301

----------------------------------------------------------------------------

2f0ca6974e11: anyboot: Add EFI partition support

  * Enables us to add an optional EFI filesystem
    to the anyboot image.
  * All existing anyboot behaviour is preserved.
  * We still need to figure out how to build bios
    and EFI loaders at the same time on x86.
  * The tiny "fake ISO" still needs el-torito
    alt-boot for the EFI loader to work when burned
    to a CD. This makes the EFI loader work when
    written to a hard disk / flash drive.

[ Alexander von Gluck IV <kallisti5@xxxxxxxxxxx> ]


I'm pretty pumped about these changes. Using the awesome UEFI work,
we're now ~really~ close to a UEFI compatible anyboot.

Creating an UEFI bootable image:

  * HAIKU_BOOT_PLATFORM=efi jam -q haiku_loader.efi
  * dd if=/dev/zero of=~/efi.img bs=$((1024*1024)) count=32
  * mkfs.msdos ~/efi.img
  * mkdir /tmp/efi
  * mount ~/efi.img /tmp/efi
  * mkdir -p /tmp/efi/EFI/BOOT
  * cp haiku_loader.efi /tmp/efi/EFI/BOOT/BOOTX64.EFI
  * umount /tmp/efi

Adding your EFI filesystem:

  * edit build/jam/images/AnybootImage
    * change:
         $(2[1]) -b $(2[2]) $(2[3]) $(2[4]) $(1)
    * to:
         $(2[1]) -b $(2[2]) -e /home/myuser/efi.img $(2[3]) $(2[4]) $(1)


  jam -q @nightly-anyboot


This will produce an anyboot iso.

  * Using as a CD            MBR  : Bootable
  * Using as a CD            EFI  : Not yet
  * Using as a HDD/USB Flash MBR  : Bootable
  * Using as a HDD/USB Flash EFI  : Bootable


A lot of automation still needs to happen, and the non-functional
CD EFI is due to the need of setting up el-torito EFI alt-boot
in our mkisofs.

Getting close!

I've uploaded a test image here:
  https://keybase.pub/kallisti5/haiku-nightly-anyboot-efi.iso


-- Alex

Other related posts: