Я использую pyparted для создания пользовательского раздела как части скрипта yocto.Конечный результат никогда не обнаруживается какой-либо системой EFI.Я получаю изображение, которое могу добавить на устройство.Используя fdisk, это тот раздел, который он создает ..
Command (m for help): i
Partition number (1,2, default 2): 1
Device: /dev/sdb1
Start: 2048
End: 8191
Sectors: 6144
Size: 3M
Type: EFI System
Type-UUID: C12A7328-F81F-11D2-BA4B-00A0C93EC93B
UUID: 2E6F47B3-EB72-435D-A519-15EA4D75A760
Содержимое разделов представляет собой файл startup.nsh в корне с "fs0: \ EFI \ BOOT \ bootx64.efi" ... иуказанный файлТакже есть grub.cfg ..
Я использовал VBoxManage для создания vmdk образа и попытался загрузить как vmware, так и virtualbox в режиме efi ... Если я использовал живой диск, я могу проверитьсодержимое новых виртуальных дисков.Я также использую nuc, чтобы попытаться загрузить живой USB.
Для справки приведен фрагмент кода, который создает изображение.
partBoot = PartInfo(bootSize, "fat32", "./EFI.img")
partBoot.flags.append(18) # set the esp flag, for some reason this is not defined
partBoot.flags.append(parted.PARTITION_BOOT)
partFlash = PartInfo(flashSize, "ext4", "./OS.img")
# make a list of partitions
partInfos = [
partBoot,
partFlash
]
dev = parted.getDevice(sImageName)
dev.clobber()
disk = parted.freshDisk(dev, 'gpt')
# Create the disk image
for partInfo in partInfos:
# setup geometry
sectors = bytesToSectors(dev, partInfo.iBytes)
offset = bytesToSectors(dev, partInfo.iOffset)
geometry = getGeometry(disk, offset, sectors)
part = parted.Partition(disk=disk, type=parted.PARTITION_NORMAL, geometry=geometry)
part.system = parted.fileSystemType[partInfo.sFileSystem]
disk.addPartition(part, parted.Constraint(device=dev))
partInfo.part = part
for flag in partInfo.flags:
part.setFlag(flag)
disk.commit()
for partInfo in partInfos:
seek = partInfo.part.geometry.start
system("dd if="+partInfo.sImagePath+" of="+OUTIMAGE+" bs=512 seek=" + str(seek))
Я затрудняюсь понять, что делать дальше, почему этот раздел не распознаетсялюбой прошивкой EFI.