[syslinux] Disklib patches: detection for additional MBRs

Gert Hulselmans gerth at zytor.com
Mon Jan 24 15:28:41 PST 2011


commit 4470ce951f2dcb1e87d2baf11ecea01ed81f85d3
Author: Gert Hulselmans <gerth at zytor.com>
Date:   Tue Jan 25 00:17:57 2011 +0100

    disklib: Detect "FreeDOS (eXtended FDisk)" MBR

    Add detection code for "FreeDOS (eXtended FDisk)" MBR to disklib.

diff --git a/com32/gpllib/disk/mbrs.c b/com32/gpllib/disk/mbrs.c
index 37309e1..6150fcf 100644
--- a/com32/gpllib/disk/mbrs.c
+++ b/com32/gpllib/disk/mbrs.c
@@ -27,7 +27,6 @@ void get_mbr_string(const uint32_t label, char *buffer,
const int buffer_size)

     switch (s_label) {
     case 0x0000:
-    case 0xfab8:
     case 0xfabe:
 	strlcpy(buffer, "No bootloader", buffer_size - 1);
 	break;
@@ -101,6 +100,9 @@ void get_mbr_string(const uint32_t label, char
*buffer, const int buffer_size)
     case 0xfa33:
 	strlcpy(buffer, "MS-DOS 3.30 through Windows 95 (A)", buffer_size - 1);
 	break;
+    case 0xfab8:
+	strlcpy(buffer, "FreeDOS (eXtended FDisk)", buffer_size - 1);
+	break;
     case 0xfaeb:
 	strlcpy(buffer, "Lilo", buffer_size - 1);
 	break;

commit 1a4c76579e66b3373df3ba02c154c4d31215bdb9
Author: Gert Hulselmans <gerth at zytor.com>
Date:   Tue Jan 25 00:12:48 2011 +0100

    disklib: Detect "MS-DOS 3.30 through Windows 95 (A)" MBR

    Add detection code for "MS-DOS 3.30 through Windows 95 (A)" MBR to
disklib.

diff --git a/com32/gpllib/disk/mbrs.c b/com32/gpllib/disk/mbrs.c
index 77e4180..37309e1 100644
--- a/com32/gpllib/disk/mbrs.c
+++ b/com32/gpllib/disk/mbrs.c
@@ -27,7 +27,6 @@ void get_mbr_string(const uint32_t label, char *buffer,
const int buffer_size)

     switch (s_label) {
     case 0x0000:
-    case 0xfa33:
     case 0xfab8:
     case 0xfabe:
 	strlcpy(buffer, "No bootloader", buffer_size - 1);
@@ -99,6 +98,9 @@ void get_mbr_string(const uint32_t label, char *buffer,
const int buffer_size)
 	else
 	    strlcpy(buffer, "Unknown mbr", buffer_size - 1);
 	break;
+    case 0xfa33:
+	strlcpy(buffer, "MS-DOS 3.30 through Windows 95 (A)", buffer_size - 1);
+	break;
     case 0xfaeb:
 	strlcpy(buffer, "Lilo", buffer_size - 1);
 	break;

commit ab29568c022dcbf545b3ccbb4ea066cc4e2c6f95
Author: Gert Hulselmans <gerth at zytor.com>
Date:   Mon Jan 24 23:58:35 2011 +0100

    disklib: Detect Paragon MBR

    Add detection code for Paragon MBR to disklib.

diff --git a/com32/gpllib/disk/mbrs.c b/com32/gpllib/disk/mbrs.c
index e64b3da..77e4180 100644
--- a/com32/gpllib/disk/mbrs.c
+++ b/com32/gpllib/disk/mbrs.c
@@ -67,6 +67,9 @@ void get_mbr_string(const uint32_t label, char *buffer,
const int buffer_size)
     case 0xeb04:
 	strlcpy(buffer, "Solaris", buffer_size - 1);
 	break;
+    case 0xeb31:
+	strlcpy(buffer, "Paragon", buffer_size - 1);
+	break;
     case 0xeb48:
 	strlcpy(buffer, "Grub", buffer_size - 1);
 	break;

commit ab4ae330addf654feec0c20a49b770f41823dbe7
Author: Gert Hulselmans <gerth at zytor.com>
Date:   Mon Jan 24 23:53:34 2011 +0100

    disklib: Detect DiskCryptor MBR

    Add detection code for DiskCryptor MBR to disklib.

diff --git a/com32/gpllib/disk/mbrs.c b/com32/gpllib/disk/mbrs.c
index 79c62da..e64b3da 100644
--- a/com32/gpllib/disk/mbrs.c
+++ b/com32/gpllib/disk/mbrs.c
@@ -42,6 +42,8 @@ void get_mbr_string(const uint32_t label, char *buffer,
const int buffer_size)
 	/* We need more than 2 bytes */
 	if (((label >> 8) & 0xff) == 0x8e)
 	    strlcpy(buffer, "Windows", buffer_size - 1);
+	else if (((label >> 8) & 0xff) == 0x90)
+	    strlcpy(buffer, "DiskCryptor", buffer_size - 1);
 	else if (((label >> 8) & 0xff) == 0xfa)
 	    strlcpy(buffer, "Syslinux", buffer_size - 1);
 	else

commit a4127064558cc7cd3c46ec17ef362c2df2b9e2e8
Author: Gert Hulselmans <gerth at zytor.com>
Date:   Mon Jan 24 23:08:23 2011 +0100

    disklib: Detect new Syslinux (normal + isohybrid) MBR

    Add detection code for new Syslinux (normal + isohybrid) MBR to disklib.
    Switch old Syslinux MBR and Master Boot LoaDeR detection code.

diff --git a/com32/gpllib/disk/mbrs.c b/com32/gpllib/disk/mbrs.c
index 41bb20c..79c62da 100644
--- a/com32/gpllib/disk/mbrs.c
+++ b/com32/gpllib/disk/mbrs.c
@@ -39,7 +39,16 @@ void get_mbr_string(const uint32_t label, char *buffer,
const int buffer_size)
 	strlcpy(buffer, "Acer 3", buffer_size - 1);
 	break;
     case 0x33c0:
-	strlcpy(buffer, "Windows", buffer_size - 1);
+	/* We need more than 2 bytes */
+	if (((label >> 8) & 0xff) == 0x8e)
+	    strlcpy(buffer, "Windows", buffer_size - 1);
+	else if (((label >> 8) & 0xff) == 0xfa)
+	    strlcpy(buffer, "Syslinux", buffer_size - 1);
+	else
+	    strlcpy(buffer, "Unknown mbr", buffer_size - 1);
+	break;
+    case 0x33ed:
+	strlcpy(buffer, "Syslinux ISOhybrid", buffer_size - 1);
 	break;
     case 0x33ff:
 	strlcpy(buffer, "HP/Gateway", buffer_size - 1);
@@ -78,10 +87,10 @@ void get_mbr_string(const uint32_t label, char
*buffer, const int buffer_size)
 	break;
     case 0xfa31:
 	/* We need more than 2 bytes */
-	if (((label >> 8) & 0xff) == 0xc9)
-	    strlcpy(buffer, "Master Boot LoaDeR", buffer_size - 1);
-	else if (((label >> 8) & 0xff) == 0xc0)
+	if (((label >> 8) & 0xff) == 0xc0)
 	    strlcpy(buffer, "Syslinux", buffer_size - 1);
+	else if (((label >> 8) & 0xff) == 0xc9)
+	    strlcpy(buffer, "Master Boot LoaDeR", buffer_size - 1);
 	else
 	    strlcpy(buffer, "Unknown mbr", buffer_size - 1);
 	break;

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-disklib-Detect-new-Syslinux-normal-isohybrid-MBR.patch
Type: text/x-patch
Size: 1928 bytes
Desc: not available
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20110124/c785ad52/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-disklib-Detect-DiskCryptor-MBR.patch
Type: text/x-patch
Size: 999 bytes
Desc: not available
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20110124/c785ad52/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-disklib-Detect-Paragon-MBR.patch
Type: text/x-patch
Size: 891 bytes
Desc: not available
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20110124/c785ad52/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-disklib-Detect-MS-DOS-3.30-through-Windows-95-A-MBR.patch
Type: text/x-patch
Size: 1222 bytes
Desc: not available
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20110124/c785ad52/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-disklib-Detect-FreeDOS-eXtended-FDisk-MBR.patch
Type: text/x-patch
Size: 1215 bytes
Desc: not available
URL: <http://www.zytor.com/pipermail/syslinux/attachments/20110124/c785ad52/attachment-0004.bin>


More information about the Syslinux mailing list