summaryrefslogtreecommitdiffstats
path: root/lib/libdisk/write_disk.c
diff options
context:
space:
mode:
authornyan <nyan@FreeBSD.org>2000-08-12 14:20:31 +0000
committernyan <nyan@FreeBSD.org>2000-08-12 14:20:31 +0000
commit784618782ee6136ae55c487d6cd37057e7713394 (patch)
tree595442ab24ee1b8cd5cde2487f8a5d440ec1864d /lib/libdisk/write_disk.c
parent0f9d7e675d007edbbc28ad5299e578b24acae95f (diff)
downloadFreeBSD-src-784618782ee6136ae55c487d6cd37057e7713394.zip
FreeBSD-src-784618782ee6136ae55c487d6cd37057e7713394.tar.gz
- Added support for installing boot0 and boot0.5 for PC-98.
- Cosmetic changes.
Diffstat (limited to 'lib/libdisk/write_disk.c')
-rw-r--r--lib/libdisk/write_disk.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/libdisk/write_disk.c b/lib/libdisk/write_disk.c
index 83c17b1..54025b2 100644
--- a/lib/libdisk/write_disk.c
+++ b/lib/libdisk/write_disk.c
@@ -339,6 +339,9 @@ Write_Disk(struct disk *d1)
#endif
#ifdef PC98
+ if (d1->bootipl)
+ write_block(fd,WHERE(0,d1),d1->bootipl);
+
mbr = read_block(fd,WHERE(1,d1));
memcpy(mbr+DOSPARTOFF,dp,sizeof *dp * NDOSPART);
/* XXX - for entire FreeBSD(98) */
@@ -348,6 +351,10 @@ Write_Disk(struct disk *d1)
PC98_EntireDisk = 1;
if (PC98_EntireDisk == 0)
write_block(fd,WHERE(1,d1),mbr);
+
+ if (d1->bootmenu)
+ for (i = 0; i * 512 < d1->bootmenu_size; i++)
+ write_block(fd,WHERE(2+i,d1),&d1->bootmenu[i * 512]);
#else
mbr = read_block(fd,WHERE(0,d1));
if (d1->bootmgr)
OpenPOWER on IntegriCloud