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