summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkjell <kjell@openbsd.org>2002-01-04 08:35:06 +0000
committerkjell <kjell@openbsd.org>2002-01-04 08:35:06 +0000
commitfb553d46dbffcf12c6a74a342272ecff0f56890a (patch)
tree12cf03100697288143e8b03cfd6f84c573ac44c7
parentAdd support for get/put colormap (mostly borrowed from sparc) (diff)
downloadwireguard-openbsd-fb553d46dbffcf12c6a74a342272ecff0f56890a.tar.xz
wireguard-openbsd-fb553d46dbffcf12c6a74a342272ecff0f56890a.zip
Remove references to the NT serial number. Now the first 0x1be
bytes of the MBR are treated as code for the purposes of the (u)pdate command. This is consistent with the new -u flag. This means boot managers like BootEasy can now be written out correctly. Note that rewriting the MBR now whacks the NT serial number - a behavior that is consistent with the DOS FDISK /MBR.
-rw-r--r--sbin/fdisk/mbr.c10
-rw-r--r--sbin/fdisk/mbr.h8
2 files changed, 5 insertions, 13 deletions
diff --git a/sbin/fdisk/mbr.c b/sbin/fdisk/mbr.c
index c3243ee1255..f116c9051a4 100644
--- a/sbin/fdisk/mbr.c
+++ b/sbin/fdisk/mbr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mbr.c,v 1.13 2001/12/15 02:12:26 kjell Exp $ */
+/* $OpenBSD: mbr.c,v 1.14 2002/01/04 08:35:06 kjell Exp $ */
/*
* Copyright (c) 1997 Tobias Weingartner
@@ -107,8 +107,6 @@ MBR_parse(disk, mbr_buf, offset, reloff, mbr)
memcpy(mbr->code, mbr_buf, MBR_CODE_SIZE);
mbr->offset = offset;
mbr->reloffset = reloff;
- mbr->nt_serial = getlong(&mbr_buf[MBR_NTSER_OFF]);
- mbr->spare = getshort(&mbr_buf[MBR_SPARE_OFF]);
mbr->signature = getshort(&mbr_buf[MBR_SIG_OFF]);
for (i = 0; i < NDOSPART; i++)
@@ -124,8 +122,6 @@ MBR_make(mbr, mbr_buf)
int i;
memcpy(mbr_buf, mbr->code, MBR_CODE_SIZE);
- putlong(&mbr_buf[MBR_NTSER_OFF], mbr->nt_serial);
- putshort(&mbr_buf[MBR_SPARE_OFF], mbr->spare);
putshort(&mbr_buf[MBR_SIG_OFF], mbr->signature);
for (i = 0; i < NDOSPART; i++)
@@ -140,8 +136,8 @@ MBR_print(mbr)
int i;
/* Header */
- printf("Signatures: 0x%X,0x%X\n",
- (int)mbr->signature, (int)mbr->nt_serial);
+ printf("Signature: 0x%X\n",
+ (int)mbr->signature);
PRT_print(0, NULL);
/* Entries */
diff --git a/sbin/fdisk/mbr.h b/sbin/fdisk/mbr.h
index 48e9d637de3..39aab01bec0 100644
--- a/sbin/fdisk/mbr.h
+++ b/sbin/fdisk/mbr.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: mbr.h,v 1.7 2001/12/15 02:12:26 kjell Exp $ */
+/* $OpenBSD: mbr.h,v 1.8 2002/01/04 08:35:06 kjell Exp $ */
/*
* Copyright (c) 1997 Tobias Weingartner
@@ -36,11 +36,9 @@
#include "part.h"
/* Various constants */
-#define MBR_CODE_SIZE 0x1B8
+#define MBR_CODE_SIZE 0x1BE
#define MBR_PART_SIZE 0x10
#define MBR_PART_OFF 0x1BE
-#define MBR_NTSER_OFF 0x1B8
-#define MBR_SPARE_OFF 0x1BC /* Spare short, not used */
#define MBR_SIG_OFF 0x1FE
@@ -49,8 +47,6 @@ typedef struct _mbr_t {
off_t reloffset;
off_t offset;
unsigned char code[MBR_CODE_SIZE];
- unsigned long nt_serial;
- unsigned short spare;
prt_t part[NDOSPART];
unsigned short signature;
} mbr_t;