Displaying 4 results from an estimated 4 matches for "read_catalogue".
2017 Apr 17
0
Patch: Fix isohybrid.c tool under Windows platforms
...r (value 10 = 0x0a).
So for example the block address bytes 0d 0a 00 00 (= 2573 decimal) of the
BIOS boot image in the default entry of the boot catalog would be crippled
during fread() in
http://git.zytor.com/syslinux/syslinux.git/tree/utils/isohybrid.c#n997
and then misinterpreted in function read_catalogue() when variable de_lba
gets set:
http://git.zytor.com/syslinux/syslinux.git/tree/utils/isohybrid.c#n519
de_lba is the value which gets written to byte 432 ff. in the isohybrid MBR.
During boot the MBR would hopefully see a wrong signature and refuse with
"isolinux.bin missing or corrupt.\...
2017 Apr 17
2
Patch: Fix isohybrid.c tool under Windows platforms
> Hi,
>
> Colin Finck wrote:
> > Precisely, if isohybrid currently finds a 0x0A (LF) byte in the MBR code
> > (which exists in the strings), it adds a 0x0D (CR) before, thereby
> > shifting the MBR bytes to the right and making it invalid.
> > This can be fixed by opening the file in binary mode with the "b" flag.
>
> This is a very reasonable
2016 Dec 21
2
syslinux mkisofs hard-disk-boot isohybrid
> Hi,
>
> Pascal wrote:
> > mkisofs -o core.iso -b boot/core.img -c boot/boot.cat -hard-disk-boot core/
> > my iso image is ok with qemu on bios and uefi,
>
> Astounding. As CD-ROM this is not supposed to work with UEFI unless the
> firmware emulates BIOS. What particular UEFI firmware did you use ?
>
> > and with qemu as hard disk on uefi but not on
2011 Aug 05
3
isolinux: Generate GPT and Mac bootable images
...; 0x00FF000000000000) >> 40
+ | (s & 0x0000000000FF0000) << 24 | (s & 0x0000FF0000000000) >> 24
+ | (s & 0x00000000FF000000) << 8 | (s & 0x000000FF00000000) >> 8;
+
+ return r;
+}
+
int
check_banner(const uint8_t *buf)
@@ -314,6 +514,43 @@ read_catalogue(const uint8_t *buf)
}
+int
+read_efi_section(const uint8_t *buf)
+{
+ unsigned 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);
+...