From f8d8dfe86e10213c229068e442968c806d7313a4 Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Wed, 27 Nov 1996 22:52:34 +0000 Subject: [PATCH] Try to impreve DD mode. Try to make 4Mb floppies work again. --- release/Makefile | 33 ++++++++++++++++++++++++++++----- release/doFS.sh | 4 +++- release/scripts/doFS.sh | 4 +++- release/sysinstall/config.c | 8 +------- release/sysinstall/disks.c | 36 ++++++++++++++++-------------------- usr.sbin/sade/config.c | 8 +------- usr.sbin/sade/disks.c | 36 ++++++++++++++++-------------------- usr.sbin/sysinstall/config.c | 8 +------- usr.sbin/sysinstall/disks.c | 36 ++++++++++++++++-------------------- 9 files changed, 85 insertions(+), 88 deletions(-) diff --git a/release/Makefile b/release/Makefile index ec275905b399..34476482933e 100644 --- a/release/Makefile +++ b/release/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.257 1996/11/15 22:16:09 jkh Exp $ +# $Id: Makefile,v 1.258 1996/11/16 22:40:59 joerg Exp $ # # How to roll a release: # @@ -44,8 +44,9 @@ ZIPNSPLIT= gzip --no-name -9 -c | split -b 240640 - # Upper size for the mfs in the boot.flp kernel. # These are adjusted down to the minimum needed by doFS.sh. -BOOTMFSSIZE= 1400 -MFSINODE= 42000 +BOOTMFSSIZE4= 1100 +BOOTMFSSIZE= 1200 +MFSINODE= 120000 FIXITINODE= 28000 # Things which will get you into trouble if you change them @@ -369,7 +370,8 @@ release.8: write_mfs_in_kernel dumpnlist rm -rf ${RD}/mfsfd mkdir ${RD}/mfsfd cd ${RD}/mfsfd && \ - mkdir -p dev mnt stand/help + mkdir -p etc dev mnt stand/help && \ + ln -s 'AH<<<<' etc/malloc.conf @cd ${.CURDIR} && $(MAKE) installCRUNCH CRUNCH=boot \ DIR=${RD}/mfsfd/stand ZIP=false ( cd ${RD}/trees/bin/dev && \ @@ -388,7 +390,7 @@ release.8: write_mfs_in_kernel dumpnlist -test -f ${.CURDIR}/install.cfg && cp ${.CURDIR}/install.cfg ${RD}/mfsfd # make the small bootfd @echo "Making the small 4MB boot floppy." - sh -e ${.CURDIR}/doFS.sh ${RD} ${MNT} ${BOOTMFSSIZE} ${RD}/mfsfd \ + sh -e ${.CURDIR}/doFS.sh ${RD} ${MNT} ${BOOTMFSSIZE4} ${RD}/mfsfd \ ${MFSINODE} minimum mv fs-image fs-image.4 mv fs-image.size fs-image.4.size @@ -577,6 +579,26 @@ doMFSKERN: @cd ${.CURDIR} && $(MAKE) ckRELEASEDIR @rm -f ${RD}/kernels/BOOTMFS.${FSIMAGE} @rm -f /sys/compile/BOOTMFS/mfs_vfsops.o +.if defined(FSIMAGE) && (${FSIMAGE} == "4") + @cd ${.CURDIR}/../sys/i386/conf && \ + sed -e '/SYSV/d' \ + -e '/pty/d' \ + -e '/I[56]86_CPU/d' \ + -e '/[ ]pci0/d' \ + -e '/ncr0/d' \ + -e '/BOUNCE_BUFFERS/d' \ + -e '/VISUAL_USERCONFIG/d' \ + -e '/device[ ]*de0/d' \ + -e '/device[ ]*fxp0/d' \ + -e '/PROCFS/d' \ + -e '/KTRACE/d' \ + -e 's/GENERIC/BOOTMFS/g' \ + -e '/maxusers/s/10/4/' < GENERIC > BOOTMFS && \ + echo "options MFS" >> BOOTMFS && \ + echo "options NFS_NOSERVER" >> BOOTMFS && \ + echo 'options "MAXCONS=4"' >> BOOTMFS && \ + echo "options USERCONFIG_BOOT" >> BOOTMFS +.else @cd ${.CURDIR}/../sys/i386/conf && \ sed -e '/SYSV/d' \ -e '/pty/d' \ @@ -588,6 +610,7 @@ doMFSKERN: echo "options NFS_NOSERVER" >> BOOTMFS && \ echo 'options "MAXCONS=4"' >> BOOTMFS && \ echo "options USERCONFIG_BOOT" >> BOOTMFS +.endif @echo "options \"MFS_ROOT=`cat fs-image.${FSIMAGE}.size`\"" >> \ ${.CURDIR}/../sys/i386/conf/BOOTMFS cd ${.CURDIR} && ${MAKE} doKERNEL KERNEL=BOOTMFS diff --git a/release/doFS.sh b/release/doFS.sh index ff8251cd7020..9dcf6cdcd8f5 100644 --- a/release/doFS.sh +++ b/release/doFS.sh @@ -46,7 +46,9 @@ do ( set -e && cd ${FSPROTO} && find . -print | cpio -dump ${MNT} ) - set `df -i /mnt | tail -1` + df -ki /mnt + + set `df -ki /mnt | tail -1` umount ${MNT} diff --git a/release/scripts/doFS.sh b/release/scripts/doFS.sh index ff8251cd7020..9dcf6cdcd8f5 100644 --- a/release/scripts/doFS.sh +++ b/release/scripts/doFS.sh @@ -46,7 +46,9 @@ do ( set -e && cd ${FSPROTO} && find . -print | cpio -dump ${MNT} ) - set `df -i /mnt | tail -1` + df -ki /mnt + + set `df -ki /mnt | tail -1` umount ${MNT} diff --git a/release/sysinstall/config.c b/release/sysinstall/config.c index 39ca6ece3546..76316a66ac80 100644 --- a/release/sysinstall/config.c +++ b/release/sysinstall/config.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: config.c,v 1.58 1996/11/09 18:12:12 jkh Exp $ + * $Id: config.c,v 1.59 1996/11/09 19:25:59 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -379,12 +379,6 @@ configResolv(void) if (!RunningAsInit || file_readable("/etc/resolv.conf")) return; - if (Mkdir("/etc")) { - msgConfirm("Unable to create /etc directory. Network configuration\n" - "files will therefore not be written!"); - return; - } - cp = variable_get(VAR_NAMESERVER); if (!cp || !*cp) goto skip; diff --git a/release/sysinstall/disks.c b/release/sysinstall/disks.c index 3ce46865e2c4..558bd29f0df6 100644 --- a/release/sysinstall/disks.c +++ b/release/sysinstall/disks.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: disks.c,v 1.71 1996/11/05 19:53:20 phk Exp $ + * $Id: disks.c,v 1.72 1996/11/07 16:40:10 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -77,20 +77,15 @@ print_chunks(Disk *d) for (i = Total = 0; chunk_info[i]; i++) Total += chunk_info[i]->size; - if (d->bios_hd <= 1 && d->bios_sect <= 1) { - All_FreeBSD(d, TRUE); - d->bios_hd = d->bios_sect = d->bios_cyl = 1; - } - else if (d->bios_cyl > 65536 || d->bios_hd > 256 || d->bios_sect >= 64) { + if (d->bios_cyl > 65536 || d->bios_hd > 256 || d->bios_sect >= 64) { dialog_clear_norefresh(); msgConfirm("WARNING: A geometry of %d/%d/%d for %s is incorrect. Using\n" - "a default geometry of 64 heads and 32 sectors. If this geometry\n" - "is incorrect or you are unsure as to whether or not it's correct,\n" - "please consult the Hardware Guide in the Documentation submenu\n" - "or use the (G)eometry command to change it now.", d->bios_cyl, d->bios_hd, d->bios_sect, d->name); - d->bios_hd = 64; - d->bios_sect = 32; - d->bios_cyl = Total / ONE_MEG; + "a more likely geometry. If this geometry is incorrect or you\n" + "are unsure as to whether or not it's correct, please consult\n" + "the Hardware Guide in the Documentation submenu or use the\n" + " (G)eometry command to change it now.", + d->bios_cyl, d->bios_hd, d->bios_sect, d->name); + Sanitize_Bios_Geom(d); } attrset(A_NORMAL); mvaddstr(0, 0, "Disk name:\t"); @@ -98,8 +93,9 @@ print_chunks(Disk *d) attrset(A_REVERSE); addstr(d->name); attrset(A_NORMAL); attrset(A_REVERSE); mvaddstr(0, 55, "FDISK Partition Editor"); attrset(A_NORMAL); mvprintw(1, 0, - "DISK Geometry:\t%lu cyls/%lu heads/%lu sectors", - d->bios_cyl, d->bios_hd, d->bios_sect); + "DISK Geometry:\t%lu cyls/%lu heads/%lu sectors = %lu sectors", + d->bios_cyl, d->bios_hd, d->bios_sect, + d->bios_cyl * d->bios_hd * d->bios_sect); mvprintw(3, 1, "%10s %10s %10s %8s %8s %8s %8s %8s", "Offset", "Size", "End", "Name", "PType", "Desc", "Subtype", "Flags"); @@ -263,8 +259,6 @@ diskPartition(Device *dev, Disk *d) if (rv == -1) rv = 0; All_FreeBSD(d, rv); - if (rv) - d->bios_hd = d->bios_sect = d->bios_cyl = 1; variable_set2(DISK_PARTITIONED, "yes"); record_chunks(d); clear(); @@ -341,9 +335,11 @@ diskPartition(Device *dev, Disk *d) "Don't forget to use the two slash (/) separator characters!\n" "It's not possible to parse the field without them."); if (val) { - d->bios_cyl = strtol(val, &val, 0); - d->bios_hd = strtol(val + 1, &val, 0); - d->bios_sect = strtol(val + 1, 0, 0); + long nc, nh, ns; + nc = strtol(val, &val, 0); + nh = strtol(val + 1, &val, 0); + ns = strtol(val + 1, 0, 0); + Set_Bios_Geom(d, nc, nh, ns); } clear(); break; diff --git a/usr.sbin/sade/config.c b/usr.sbin/sade/config.c index 39ca6ece3546..76316a66ac80 100644 --- a/usr.sbin/sade/config.c +++ b/usr.sbin/sade/config.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: config.c,v 1.58 1996/11/09 18:12:12 jkh Exp $ + * $Id: config.c,v 1.59 1996/11/09 19:25:59 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -379,12 +379,6 @@ configResolv(void) if (!RunningAsInit || file_readable("/etc/resolv.conf")) return; - if (Mkdir("/etc")) { - msgConfirm("Unable to create /etc directory. Network configuration\n" - "files will therefore not be written!"); - return; - } - cp = variable_get(VAR_NAMESERVER); if (!cp || !*cp) goto skip; diff --git a/usr.sbin/sade/disks.c b/usr.sbin/sade/disks.c index 3ce46865e2c4..558bd29f0df6 100644 --- a/usr.sbin/sade/disks.c +++ b/usr.sbin/sade/disks.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: disks.c,v 1.71 1996/11/05 19:53:20 phk Exp $ + * $Id: disks.c,v 1.72 1996/11/07 16:40:10 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -77,20 +77,15 @@ print_chunks(Disk *d) for (i = Total = 0; chunk_info[i]; i++) Total += chunk_info[i]->size; - if (d->bios_hd <= 1 && d->bios_sect <= 1) { - All_FreeBSD(d, TRUE); - d->bios_hd = d->bios_sect = d->bios_cyl = 1; - } - else if (d->bios_cyl > 65536 || d->bios_hd > 256 || d->bios_sect >= 64) { + if (d->bios_cyl > 65536 || d->bios_hd > 256 || d->bios_sect >= 64) { dialog_clear_norefresh(); msgConfirm("WARNING: A geometry of %d/%d/%d for %s is incorrect. Using\n" - "a default geometry of 64 heads and 32 sectors. If this geometry\n" - "is incorrect or you are unsure as to whether or not it's correct,\n" - "please consult the Hardware Guide in the Documentation submenu\n" - "or use the (G)eometry command to change it now.", d->bios_cyl, d->bios_hd, d->bios_sect, d->name); - d->bios_hd = 64; - d->bios_sect = 32; - d->bios_cyl = Total / ONE_MEG; + "a more likely geometry. If this geometry is incorrect or you\n" + "are unsure as to whether or not it's correct, please consult\n" + "the Hardware Guide in the Documentation submenu or use the\n" + " (G)eometry command to change it now.", + d->bios_cyl, d->bios_hd, d->bios_sect, d->name); + Sanitize_Bios_Geom(d); } attrset(A_NORMAL); mvaddstr(0, 0, "Disk name:\t"); @@ -98,8 +93,9 @@ print_chunks(Disk *d) attrset(A_REVERSE); addstr(d->name); attrset(A_NORMAL); attrset(A_REVERSE); mvaddstr(0, 55, "FDISK Partition Editor"); attrset(A_NORMAL); mvprintw(1, 0, - "DISK Geometry:\t%lu cyls/%lu heads/%lu sectors", - d->bios_cyl, d->bios_hd, d->bios_sect); + "DISK Geometry:\t%lu cyls/%lu heads/%lu sectors = %lu sectors", + d->bios_cyl, d->bios_hd, d->bios_sect, + d->bios_cyl * d->bios_hd * d->bios_sect); mvprintw(3, 1, "%10s %10s %10s %8s %8s %8s %8s %8s", "Offset", "Size", "End", "Name", "PType", "Desc", "Subtype", "Flags"); @@ -263,8 +259,6 @@ diskPartition(Device *dev, Disk *d) if (rv == -1) rv = 0; All_FreeBSD(d, rv); - if (rv) - d->bios_hd = d->bios_sect = d->bios_cyl = 1; variable_set2(DISK_PARTITIONED, "yes"); record_chunks(d); clear(); @@ -341,9 +335,11 @@ diskPartition(Device *dev, Disk *d) "Don't forget to use the two slash (/) separator characters!\n" "It's not possible to parse the field without them."); if (val) { - d->bios_cyl = strtol(val, &val, 0); - d->bios_hd = strtol(val + 1, &val, 0); - d->bios_sect = strtol(val + 1, 0, 0); + long nc, nh, ns; + nc = strtol(val, &val, 0); + nh = strtol(val + 1, &val, 0); + ns = strtol(val + 1, 0, 0); + Set_Bios_Geom(d, nc, nh, ns); } clear(); break; diff --git a/usr.sbin/sysinstall/config.c b/usr.sbin/sysinstall/config.c index 39ca6ece3546..76316a66ac80 100644 --- a/usr.sbin/sysinstall/config.c +++ b/usr.sbin/sysinstall/config.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: config.c,v 1.58 1996/11/09 18:12:12 jkh Exp $ + * $Id: config.c,v 1.59 1996/11/09 19:25:59 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -379,12 +379,6 @@ configResolv(void) if (!RunningAsInit || file_readable("/etc/resolv.conf")) return; - if (Mkdir("/etc")) { - msgConfirm("Unable to create /etc directory. Network configuration\n" - "files will therefore not be written!"); - return; - } - cp = variable_get(VAR_NAMESERVER); if (!cp || !*cp) goto skip; diff --git a/usr.sbin/sysinstall/disks.c b/usr.sbin/sysinstall/disks.c index 3ce46865e2c4..558bd29f0df6 100644 --- a/usr.sbin/sysinstall/disks.c +++ b/usr.sbin/sysinstall/disks.c @@ -4,7 +4,7 @@ * This is probably the last program in the `sysinstall' line - the next * generation being essentially a complete rewrite. * - * $Id: disks.c,v 1.71 1996/11/05 19:53:20 phk Exp $ + * $Id: disks.c,v 1.72 1996/11/07 16:40:10 jkh Exp $ * * Copyright (c) 1995 * Jordan Hubbard. All rights reserved. @@ -77,20 +77,15 @@ print_chunks(Disk *d) for (i = Total = 0; chunk_info[i]; i++) Total += chunk_info[i]->size; - if (d->bios_hd <= 1 && d->bios_sect <= 1) { - All_FreeBSD(d, TRUE); - d->bios_hd = d->bios_sect = d->bios_cyl = 1; - } - else if (d->bios_cyl > 65536 || d->bios_hd > 256 || d->bios_sect >= 64) { + if (d->bios_cyl > 65536 || d->bios_hd > 256 || d->bios_sect >= 64) { dialog_clear_norefresh(); msgConfirm("WARNING: A geometry of %d/%d/%d for %s is incorrect. Using\n" - "a default geometry of 64 heads and 32 sectors. If this geometry\n" - "is incorrect or you are unsure as to whether or not it's correct,\n" - "please consult the Hardware Guide in the Documentation submenu\n" - "or use the (G)eometry command to change it now.", d->bios_cyl, d->bios_hd, d->bios_sect, d->name); - d->bios_hd = 64; - d->bios_sect = 32; - d->bios_cyl = Total / ONE_MEG; + "a more likely geometry. If this geometry is incorrect or you\n" + "are unsure as to whether or not it's correct, please consult\n" + "the Hardware Guide in the Documentation submenu or use the\n" + " (G)eometry command to change it now.", + d->bios_cyl, d->bios_hd, d->bios_sect, d->name); + Sanitize_Bios_Geom(d); } attrset(A_NORMAL); mvaddstr(0, 0, "Disk name:\t"); @@ -98,8 +93,9 @@ print_chunks(Disk *d) attrset(A_REVERSE); addstr(d->name); attrset(A_NORMAL); attrset(A_REVERSE); mvaddstr(0, 55, "FDISK Partition Editor"); attrset(A_NORMAL); mvprintw(1, 0, - "DISK Geometry:\t%lu cyls/%lu heads/%lu sectors", - d->bios_cyl, d->bios_hd, d->bios_sect); + "DISK Geometry:\t%lu cyls/%lu heads/%lu sectors = %lu sectors", + d->bios_cyl, d->bios_hd, d->bios_sect, + d->bios_cyl * d->bios_hd * d->bios_sect); mvprintw(3, 1, "%10s %10s %10s %8s %8s %8s %8s %8s", "Offset", "Size", "End", "Name", "PType", "Desc", "Subtype", "Flags"); @@ -263,8 +259,6 @@ diskPartition(Device *dev, Disk *d) if (rv == -1) rv = 0; All_FreeBSD(d, rv); - if (rv) - d->bios_hd = d->bios_sect = d->bios_cyl = 1; variable_set2(DISK_PARTITIONED, "yes"); record_chunks(d); clear(); @@ -341,9 +335,11 @@ diskPartition(Device *dev, Disk *d) "Don't forget to use the two slash (/) separator characters!\n" "It's not possible to parse the field without them."); if (val) { - d->bios_cyl = strtol(val, &val, 0); - d->bios_hd = strtol(val + 1, &val, 0); - d->bios_sect = strtol(val + 1, 0, 0); + long nc, nh, ns; + nc = strtol(val, &val, 0); + nh = strtol(val + 1, &val, 0); + ns = strtol(val + 1, 0, 0); + Set_Bios_Geom(d, nc, nh, ns); } clear(); break;