[elbe-devel] UEFI support

Yegor Yefremov yegorslists at googlemail.com
Mon Aug 13 09:02:14 CEST 2018


I need an image for x86_64 to be able to boot in both BIOS and UEFI
environments. I cannot use ELBE 3.0 as I'm blocked by this issue [1].
So I've backported following patches to ELBE v2.3:

Add examples for UEFI boot with grub
Add support for hybrid images (UEFI+Bios)
hdimg: change mountpoint of efi partition to /boot/efi
Add support for UEFI boot with grub
hdimg: do not use flag lba if partition format is gpt

I've stopped my VM, removed initvm folder and recreated initvm via:

./elbe initvm --skip-build-bin --skip-build-sources create --directory=initvm

But when I try to create image, I get following error, i.e. the new
code won't be used by the initvm.

Build failed
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/elbepack/asyncworker.py",
line 116, in execute
    skip_pbuild=self.skip_pbuilder)
  File "/usr/lib/python2.7/dist-packages/elbepack/elbeproject.py",
line 323, in build
    self.targetfs.part_target( self.builddir, grub_version )
  File "/usr/lib/python2.7/dist-packages/elbepack/efilesystem.py",
line 303, in part_target
    self.images = do_hdimg( self.log, self.xml, targetdir, self, grub_version )
  File "/usr/lib/python2.7/dist-packages/elbepack/hdimg.py", line 498,
in do_hdimg
    img = do_image_hd( outf, i, fslabel, target, grub_version )
  File "/usr/lib/python2.7/dist-packages/elbepack/hdimg.py", line 394,
in do_image_hd
    ppart = create_partition(disk, part, parted.PARTITION_NORMAL,
fslabel, size_in_sectors, current_sector)
  File "/usr/lib/python2.7/dist-packages/elbepack/hdimg.py", line 307,
in create_partition
    ppart.setFlag(_ped.PARTITION_LBA)
  File "/usr/lib/python2.7/dist-packages/parted/decorators.py", line 41, in new
    ret = fn(*args, **kwds)
  File "/usr/lib/python2.7/dist-packages/parted/partition.py", line
158, in setFlag
    return self.__partition.set_flag(flag, 1)
PartitionException: The flag 'lba' is not available for gpt disk labels.


What am I making wring?

[1] https://github.com/Linutronix/elbe/issues/150

Regards,
Yegor



More information about the elbe-devel mailing list