Module Name: src
Committed By: ad
Date: Sat Apr 4 11:04:28 UTC 2009
Modified Files:
src/distrib/utils/sysinst: bsddisklabel.c defs.h util.c
src/distrib/utils/sysinst/arch/amd64: md.h
src/distrib/utils/sysinst/arch/i386: md.h
Log Message:
Calculate swap size dynamically if DEFSWAPSIZE == -1. Default to RAM size.
To generate a diff of this commit:
cvs rdiff -u -r1.46 -r1.47 src/distrib/utils/sysinst/bsddisklabel.c
cvs rdiff -u -r1.138 -r1.139 src/distrib/utils/sysinst/defs.h
cvs rdiff -u -r1.155 -r1.156 src/distrib/utils/sysinst/util.c
cvs rdiff -u -r1.22 -r1.23 src/distrib/utils/sysinst/arch/amd64/md.h
cvs rdiff -u -r1.63 -r1.64 src/distrib/utils/sysinst/arch/i386/md.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/distrib/utils/sysinst/bsddisklabel.c
diff -u src/distrib/utils/sysinst/bsddisklabel.c:1.46 src/distrib/utils/sysinst/bsddisklabel.c:1.47
--- src/distrib/utils/sysinst/bsddisklabel.c:1.46 Sat Apr 4 10:38:00 2009
+++ src/distrib/utils/sysinst/bsddisklabel.c Sat Apr 4 11:04:28 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: bsddisklabel.c,v 1.46 2009/04/04 10:38:00 ad Exp $ */
+/* $NetBSD: bsddisklabel.c,v 1.47 2009/04/04 11:04:28 ad Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -74,10 +74,6 @@
#define PART_USR PART_ANY
#endif
-#ifndef DEFSWAPRAM
-#define DEFSWAPRAM 32
-#endif
-
#ifndef DEFVARSIZE
#define DEFVARSIZE 32
#endif
@@ -378,8 +374,17 @@
msg_table_add(MSG_ptnheaders);
if (pi.menu_no < 0) {
- /* If there is a swap partition elsewhere, don't add one here.*/ if (no_swap)
+ /* If there is a swap partition elsewhere, don't add one here.*/
+ if (no_swap) {
pi.ptn_sizes[PI_SWAP].size = 0;
+ } else {
+#if DEFSWAPSIZE == -1
+ /* Dynamic swap size. */
+ pi.ptn_sizes[PI_SWAP].dflt_size = (get_mem_size() >> 20);
+ pi.ptn_sizes[PI_SWAP].size = pi.ptn_sizes[PI_SWAP].dflt_size;
+#endif
+ }
+
/* If installing X increase default size of /usr */
if (set_X11_selected())
pi.ptn_sizes[PI_USR].dflt_size += XNEEDMB;
Index: src/distrib/utils/sysinst/defs.h
diff -u src/distrib/utils/sysinst/defs.h:1.138 src/distrib/utils/sysinst/defs.h:1.139
--- src/distrib/utils/sysinst/defs.h:1.138 Sun Feb 22 11:21:55 2009
+++ src/distrib/utils/sysinst/defs.h Sat Apr 4 11:04:28 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: defs.h,v 1.138 2009/02/22 11:21:55 ad Exp $ */
+/* $NetBSD: defs.h,v 1.139 2009/04/04 11:04:28 ad Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -420,6 +420,7 @@
void init_set_status(int);
void customise_sets(void);
void umount_mnt2(void);
+uint64_t get_mem_size(void);
/* from target.c */
const char *concat_paths(const char *, const char *);
Index: src/distrib/utils/sysinst/util.c
diff -u src/distrib/utils/sysinst/util.c:1.155 src/distrib/utils/sysinst/util.c:1.156
--- src/distrib/utils/sysinst/util.c:1.155 Wed Feb 11 20:33:14 2009
+++ src/distrib/utils/sysinst/util.c Sat Apr 4 11:04:28 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: util.c,v 1.155 2009/02/11 20:33:14 abs Exp $ */
+/* $NetBSD: util.c,v 1.156 2009/04/04 11:04:28 ad Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -1318,3 +1318,16 @@
access("/sbin/mount_lfs", X_OK) == 0 &&
access("/sbin/newfs_lfs", X_OK) == 0);
}
+
+uint64_t
+get_mem_size(void)
+{
+ int mib[2] = { CTL_HW, HW_PHYSMEM64 };
+ uint64_t v;
+ size_t sz;
+
+ v = 128*1024*1024;
+ sz = sizeof(v);
+ (void)sysctl(mib, 2, &v, &sz, NULL, 0);
+ return v;
+}
Index: src/distrib/utils/sysinst/arch/amd64/md.h
diff -u src/distrib/utils/sysinst/arch/amd64/md.h:1.22 src/distrib/utils/sysinst/arch/amd64/md.h:1.23
--- src/distrib/utils/sysinst/arch/amd64/md.h:1.22 Thu Dec 20 23:32:24 2007
+++ src/distrib/utils/sysinst/arch/amd64/md.h Sat Apr 4 11:04:28 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: md.h,v 1.22 2007/12/20 23:32:24 ad Exp $ */
+/* $NetBSD: md.h,v 1.23 2009/04/04 11:04:28 ad Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -50,7 +50,8 @@
#include "mbr.h"
/* constants and defines */
-
+#define DEFUSRSIZE 0
+#define DEFSWAPSIZE (-1)
/* Megs required for a full X installation. */
#define XNEEDMB 50
Index: src/distrib/utils/sysinst/arch/i386/md.h
diff -u src/distrib/utils/sysinst/arch/i386/md.h:1.63 src/distrib/utils/sysinst/arch/i386/md.h:1.64
--- src/distrib/utils/sysinst/arch/i386/md.h:1.63 Wed Apr 30 15:29:11 2008
+++ src/distrib/utils/sysinst/arch/i386/md.h Sat Apr 4 11:04:28 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: md.h,v 1.63 2008/04/30 15:29:11 ad Exp $ */
+/* $NetBSD: md.h,v 1.64 2009/04/04 11:04:28 ad Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@@ -50,8 +50,9 @@
#include "mbr.h"
/* constants and defines */
-
-#define DEFROOTSIZE 32
+#define DEFUSRSIZE 0
+#define DEFSWAPSIZE (-1)
+#define DEFROOTSIZE 32
/* Megs required for a full X installation. */
#define XNEEDMB 50