search for: read_efi_catalogue

Displaying 5 results from an estimated 5 matches for "read_efi_catalogue".

2012 Feb 15
2
[PATCH] isohybrid: Generate MBR even when in EFI mode
...r[8], &tmp, sizeof(tmp)); + + tmp = lendian_int(mac_count); + memcpy(&mbr[12], &tmp, sizeof(tmp)); + } mbr += 16; } mbr[0] = 0x55; @@ -908,8 +954,7 @@ main(int argc, char *argv[]) if (!read_efi_section(buf)) { buf += 32; if (!read_efi_catalogue(buf, &efi_count, &efi_lba) && efi_lba) { - offset = 1; - type = 0xee; + offset = 0; } else { errx(1, "%s: invalid efi catalogue", argv[0]); } @@ -925,8 +970,7 @@ main(int argc, char *argv[]) if (!read_efi_section(buf)) { buf += 32; if (!read...
2024 Nov 29
1
Fail to boot ISOs using EFI
...filesystem has to be smaller than 32 MiB, because the El Torito boot catalog can express larger sizes only as size 0 or 1 which according to UEFI specs mean "up to the end of the storage device". But the isohybrid program does not care about this meaning of 0 and 1. (See calls of function read_efi_catalogue() and usage of variable efi_count in https://raw.githubusercontent.com/geneC/syslinux/master/utils/isohybrid.c ) -------------------------------------------------------------------- Further: You must not use isohybrid option -partok, unless you want to boot the ISO in legacy BIOS mode from a par...
2011 Aug 05
3
isolinux: Generate GPT and Mac bootable images
...signed char header_indicator; + unsigned char platform_id; + short count; + + memcpy(&header_indicator, buf++, 1); + memcpy(&platform_id, buf++, 1); + + memcpy(&count, buf, 2); + count = lendian_short(count); + buf += 2; + + if (platform_id == 0xef) + return 0; + + return 1; +} + +int +read_efi_catalogue(const uint8_t *buf, uint16_t *count, uint32_t *lba) +{ + buf += 6; + + memcpy(count, buf, 2); + *count = lendian_short(*count); + buf += 2; + + memcpy(lba, buf, 4); + *lba = lendian_int(*lba); + buf += 6; + + return 0; +} + + void display_catalogue(void) { @@ -327,12 +564...
2012 May 06
1
isohybrid.c, problem reports and questions
...hould probably be divided by 4 before being submitted to bendian_int(): part->block_count = bendian_int(efi_count); part->data_count = bendian_int(efi_count); part->block_count = bendian_int(mac_count); part->data_count = bendian_int(mac_count); The numbers stem from read_efi_catalogue() which deals with EFI blocks of 512 bytes. ----------------------------------------------------------------------- The "Last LBA" of the first GPT entry is 1329448, the size of the ISO image in blocks of 512. But Wikipedia states that this number is inclusive. Thus in initialise_gpt...
2014 Feb 08
5
isohybrid --mac doesn't find the mac efi image
I posted this on the bugzilla page but I figured that on the mailing list it would get more attention. Please see http://bugzilla.syslinux.org/show_bug.cgi?id=49 for a description of my current issue. -- Thank you, Fernando Reyes GPG BDD75DD7 Mission Accomplish, Inc. http://missionaccomplish.com Email:design at missionaccomplish.com Tel: 7187100008 Cell: 3479275477