From f5040e78bba9bfbd88bcc72236a3f92bbe8f2e39 Mon Sep 17 00:00:00 2001 From: tsutsui Date: Tue, 21 Mar 2006 06:18:29 +0000 Subject: [PATCH] - Create an independent "boot" partition for bootloader rather than marking a raw partition as "boot". - Adjust default partition size for /usr so that extracted files won't flood on the default full installation. --- distrib/utils/sysinst/arch/hp300/md.c | 20 ++++++++++++++++---- distrib/utils/sysinst/arch/hp300/md.h | 14 +++++++++----- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/distrib/utils/sysinst/arch/hp300/md.c b/distrib/utils/sysinst/arch/hp300/md.c index 0b57340ee4ef..2a25f4c88310 100644 --- a/distrib/utils/sysinst/arch/hp300/md.c +++ b/distrib/utils/sysinst/arch/hp300/md.c @@ -1,4 +1,4 @@ -/* $NetBSD: md.c,v 1.22 2006/03/21 02:05:33 tsutsui Exp $ */ +/* $NetBSD: md.c,v 1.23 2006/03/21 06:18:29 tsutsui Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -99,8 +99,8 @@ md_get_info(void) exit(1); } - /* preserve first cylinder for system. */ - ptstart = disklabel.d_secpercyl; + /* We will preserve the first cylinder as PART_BOOT for bootloader. */ + ptstart = 0; close(fd); @@ -184,7 +184,7 @@ md_check_partitions(void) start = 0; last = PART_A - 1; for (part = PART_A; part < MAXPARTITIONS; part++) { - if (part == PART_C) + if (part == PART_RAW || part == PART_BOOT) continue; if (last >= PART_A && bsdlabel[part].pi_size > 0) { msg_display(MSG_emptypart, part+'a'); @@ -248,3 +248,15 @@ void md_init(void) { } + +int +hp300_boot_size(void) +{ + int i; + + i = dlcylsize; + if (i >= 1024) /* XXX: bsddisklabel.c has a hack. */ + i = dlcylsize * sectorsize * 2; + + return i; +} diff --git a/distrib/utils/sysinst/arch/hp300/md.h b/distrib/utils/sysinst/arch/hp300/md.h index 9879a865fb45..9a03bdc8c8a8 100644 --- a/distrib/utils/sysinst/arch/hp300/md.h +++ b/distrib/utils/sysinst/arch/hp300/md.h @@ -1,4 +1,4 @@ -/* $NetBSD: md.h,v 1.13 2006/02/26 10:25:53 dsl Exp $ */ +/* $NetBSD: md.h,v 1.14 2006/03/21 06:18:29 tsutsui Exp $ */ /* * Copyright 1997 Piermont Information Systems Inc. @@ -55,14 +55,16 @@ #define PART_ROOT PART_A #define PART_SWAP PART_B #define PART_RAW PART_C -#define PART_USR PART_D /* Can be after PART_FIRST_FREE */ -#define PART_FIRST_FREE PART_E +#define PART_BOOT PART_D +#define BOOT_SIZE hp300_boot_size() +#define PART_USR PART_E /* Can be after PART_FIRST_FREE */ +#define PART_FIRST_FREE PART_F #define DEFSWAPRAM 32 /* Assume at least this RAM for swap calc */ #define DEFROOTSIZE 20 /* Default root size */ #define DEFVARSIZE 32 /* Default /var size, if created */ -#define DEFUSRSIZE 70 /* Default /usr size, if /home */ -#define XNEEDMB 35 /* Extra megs for full X installation */ +#define DEFUSRSIZE 240 /* Default /usr size, if created */ +#define XNEEDMB 120 /* Extra megs for full X installation */ /* * Default filesets to fetch and install during installation @@ -93,3 +95,5 @@ * On hp300, do what the miniroot install scripts did. */ #define DISKLABEL_CMD "disklabel -w -r" + +int hp300_boot_size(void);