summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1996-10-04 13:33:49 +0000
committerjkh <jkh@FreeBSD.org>1996-10-04 13:33:49 +0000
commit177253487a1d661372770b14ca3e756f73157f30 (patch)
tree880800002f5fc0da5926f527fa9a99340d429598
parent82c3fac15a288402754df8d2115aca659980dec9 (diff)
downloadFreeBSD-src-177253487a1d661372770b14ca3e756f73157f30.zip
FreeBSD-src-177253487a1d661372770b14ca3e756f73157f30.tar.gz
Syncronize my tree so Eric can access the latest code.
-rw-r--r--release/Makefile46
-rw-r--r--release/sysinstall/Makefile14
-rw-r--r--release/sysinstall/disks.c20
-rw-r--r--release/sysinstall/dumpnlist.c46
-rw-r--r--release/sysinstall/help/hardware.hlp16
-rw-r--r--release/sysinstall/help/partition.hlp7
-rw-r--r--release/sysinstall/help/slice.hlp7
-rw-r--r--release/sysinstall/install.c15
-rw-r--r--release/sysinstall/sysinstall.h3
-rw-r--r--release/sysinstall/uc_main.c39
-rw-r--r--release/sysinstall/uc_scsi.c3
-rw-r--r--usr.sbin/sade/Makefile14
-rw-r--r--usr.sbin/sade/disks.c20
-rw-r--r--usr.sbin/sade/help/partition.hlp7
-rw-r--r--usr.sbin/sade/help/slice.hlp7
-rw-r--r--usr.sbin/sade/install.c15
-rw-r--r--usr.sbin/sade/sade.h3
-rw-r--r--usr.sbin/sysinstall/Makefile14
-rw-r--r--usr.sbin/sysinstall/disks.c20
-rw-r--r--usr.sbin/sysinstall/help/partition.hlp7
-rw-r--r--usr.sbin/sysinstall/help/slice.hlp7
-rw-r--r--usr.sbin/sysinstall/install.c15
-rw-r--r--usr.sbin/sysinstall/sysinstall.h3
23 files changed, 215 insertions, 133 deletions
diff --git a/release/Makefile b/release/Makefile
index 16d1303..b773e49 100644
--- a/release/Makefile
+++ b/release/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.238 1996/09/25 00:43:23 pst Exp $
+# $Id: Makefile,v 1.239 1996/09/26 20:48:03 pst Exp $
#
# How to roll a release:
#
@@ -111,7 +111,8 @@ rerelease release:
sed "s/^RELEASE=.*/RELEASE=${BUILDNAME}/" foo > newvers.sh&& rm foo )
( cd ${CHROOTDIR}/usr/src/release/sysinstall && \
sed "s/__RELEASE/${BUILDNAME}/" version.h > version.h.new && \
- mv version.h.new version.h )
+ mv version.h.new version.h && \
+ echo XXXX )
-test -f install.cfg && cp install.cfg ${CHROOTDIR}/usr/src/release
echo "#!/bin/sh" > ${CHROOTDIR}/mk
echo "set -ex" >> ${CHROOTDIR}/mk
@@ -199,7 +200,8 @@ release.3:
# You are not supposed to like this :-)
release.4:
@cd ${.CURDIR} && $(MAKE) ckRELEASEDIR
- cd ${.CURDIR}/sysinstall && make obj && make depend && make all
+ cd ${.CURDIR}/sysinstall && make depend all \
+ KERNEL_NAME=${RD}/kernels/BOOTMFS.std
rm -rf ${RD}/crunch
mkdir -p ${RD}/crunch
for j in ${WHICH_CRUNCH} ; do \
@@ -227,43 +229,43 @@ release.5:
# Move all the manpages out to their own dist
if [ -d ${RD}/trees/bin/usr/share/man ] ; then \
- rm -rf ${RD}/trees/manpages/usr/share/man &&\
- mv ${RD}/trees/bin/usr/share/man \
- ${RD}/trees/manpages/usr/share/man ;\
+ tar -cf - -C ${RD}/trees/bin/usr/share/man . | \
+ tar xf - -C ${RD}/trees/manpages/usr/share/man && \
+ rm -rf ${RD}/trees/bin/usr/share/man; \
fi
# Move all the games out to their own dist
if [ -d ${RD}/trees/bin/usr/games ] ; then \
- rm -rf ${RD}/trees/games/usr/games &&\
- mv ${RD}/trees/bin/usr/games \
- ${RD}/trees/games/usr/games ;\
+ tar -cf - -C ${RD}/trees/bin/usr/games . | \
+ tar -xf - -C ${RD}/trees/games/usr/games && \
+ rm -rf ${RD}/trees/bin/usr/games; \
fi
if [ -d ${RD}/trees/bin/usr/share/games ] ; then \
- rm -rf ${RD}/trees/games/usr/share/games &&\
- mv ${RD}/trees/bin/usr/share/games \
- ${RD}/trees/games/usr/share/games ;\
+ tar -cf - -C ${RD}/trees/bin/usr/share/games . | \
+ tar -xf - -C ${RD}/trees/games/usr/share/games && \
+ rm -rf ${RD}/trees/bin/usr/share/games; \
fi
if [ -d ${RD}/trees/bin/var/games ] ; then \
- rm -rf ${RD}/trees/games/var/games &&\
- mv ${RD}/trees/bin/var/games \
- ${RD}/trees/games/var/games ;\
+ tar -cf - -C ${RD}/trees/bin/var/games . | \
+ tar -xf - -C ${RD}/trees/games/var/games && \
+ rm -rf ${RD}/trees/bin/var/games; \
fi
# Move the dict out to their own dist
if [ -d ${RD}/trees/bin/usr/share/dict ] ; then \
- rm -rf ${RD}/trees/dict/usr/share/dict &&\
- mv ${RD}/trees/bin/usr/share/dict \
- ${RD}/trees/dict/usr/share/dict ;\
+ tar -cf - -C ${RD}/trees/bin/usr/share/dict . | \
+ tar -xf - -C ${RD}/trees/dict/usr/share/dict && \
+ rm -rf ${RD}/trees/bin/usr/share/dict; \
fi
for i in airport birthtoken flowers na.phone zipcodes ; do \
if [ -f ${RD}/trees/bin/usr/share/misc/$$i ] ; then \
mv ${RD}/trees/bin/usr/share/misc/$$i \
- ${RD}/trees/dict/usr/share/misc ; \
+ ${RD}/trees/dict/usr/share/misc; \
fi ; \
done
# Move the info files out to their own dist
if [ -d ${RD}/trees/bin/usr/share/info ] ; then \
- rm -rf ${RD}/trees/info/usr/share/info &&\
- mv ${RD}/trees/bin/usr/share/info \
- ${RD}/trees/info/usr/share ;\
+ tar -cf - -C ${RD}/trees/bin/usr/share/info . | \
+ tar -xf - -C ${RD}/trees/info/usr/share/info && \
+ rm -rf ${RD}/trees/bin/usr/share/info; \
fi
# Move the profiled libraries out to their own dist
for i in ${RD}/trees/bin/usr/lib/*_p.a ; do \
diff --git a/release/sysinstall/Makefile b/release/sysinstall/Makefile
index 97ef30f..3d5f05c 100644
--- a/release/sysinstall/Makefile
+++ b/release/sysinstall/Makefile
@@ -10,16 +10,19 @@ SRCS= anonFTP.c apache.c attr.c cdrom.c command.c config.c devices.c \
label.c lndir.c main.c makedevs.c media.c menus.c misc.c \
msg.c network.c nfs.c options.c package.c samba.c system.c \
tape.c tcpip.c termcap.c ufs.c variable.c wizard.c \
- uc_eisa.c uc_isa.c uc_kmem.c uc_list.c uc_main.c uc_pci.c uc_scsi.c
+ uc_eisa.c uc_isa.c uc_kmem.c uc_list.c uc_main.c uc_pci.c \
+ uc_scsi.c
-CFLAGS+= -Wall -I${.CURDIR}/../../gnu/lib/libdialog -I/sys -DUC_PRIVATE
+CFLAGS+= -Wall -I${.CURDIR}/../../gnu/lib/libdialog -I${.OBJDIR} -I/sys
+CFLAGS+= -DUC_PRIVATE -DKERN_NO_SYMBOLS
#CFLAGS+= -DLOAD_CONFIG_FILE=\"install.cfg\"
DPADD= ${LIBDIALOG} ${LIBNCURSES} ${LIBMYTINFO} ${LIBUTIL} ${LIBDISK}
LDADD= -ldialog -lncurses -lmytinfo -lutil -ldisk
-makedevs.c: Makefile rtermcap
+
+makedevs.c: Makefile rtermcap dumpnlist
rm -f makedevs.tmp
echo '#include <sys/types.h>' > makedevs.tmp
./rtermcap cons25 | \
@@ -44,6 +47,11 @@ makedevs.c: Makefile rtermcap
file2c 'const char termcap_vt100[] = {' ',0};' \
>> makedevs.tmp
mv makedevs.tmp makedevs.c
+.if defined(KERNEL_NAME)
+ dumpnlist ${KERNEL_NAME} > kern-nlist.h
+.else
+ dumpnlist /kernel > kern-nlist.h
+.endif
rtermcap: ${.CURDIR}/rtermcap.c
${CC} -o rtermcap ${.CURDIR}/rtermcap.c -ltermcap
diff --git a/release/sysinstall/disks.c b/release/sysinstall/disks.c
index 6a1ca93..b66c992 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.65 1996/10/01 04:56:31 jkh Exp $
+ * $Id: disks.c,v 1.66 1996/10/03 06:01:31 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -181,10 +181,10 @@ diskPartition(Device *dev, Disk *d)
since we don't always know who called us */
dialog_clear_norefresh(), clear();
- while (chunking) {
- /* Set up the chunk array */
- record_chunks(d);
+ /* Set up the chunk array */
+ record_chunks(d);
+ while (chunking) {
/* Now print our overall state */
print_chunks(d);
print_command_summary();
@@ -259,6 +259,7 @@ diskPartition(Device *dev, Disk *d)
if (rv)
d->bios_hd = d->bios_sect = d->bios_cyl = 1;
variable_set2(DISK_PARTITIONED, "yes");
+ record_chunks(d);
clear();
break;
@@ -309,6 +310,7 @@ diskPartition(Device *dev, Disk *d)
Create_Chunk(d, chunk_info[current_chunk]->offset, size, partitiontype, subtype,
(chunk_info[current_chunk]->flags & CHUNK_ALIGN));
variable_set2(DISK_PARTITIONED, "yes");
+ record_chunks(d);
}
}
clear();
@@ -322,6 +324,7 @@ diskPartition(Device *dev, Disk *d)
else {
Delete_Chunk(d, chunk_info[current_chunk]);
variable_set2(DISK_PARTITIONED, "yes");
+ record_chunks(d);
}
break;
@@ -361,14 +364,16 @@ diskPartition(Device *dev, Disk *d)
dev->private = d;
variable_unset(DISK_PARTITIONED);
variable_unset(DISK_LABELLED);
+ record_chunks(d);
clear();
break;
case 'W':
if (!msgYesNo("WARNING: This should only be used for modifying an\n"
- "EXISTING installation - DO NOT USE this option if you\n"
- "are installing FreeBSD for the first time! This is not\n"
- "an option for use during the standard install.\n\n"
+ "EXISTING installation - If you are installing FreeBSD\n"
+ "for the first time then you should simply hit 'Q' now."
+ "Your changes will be committed in one batch at the end\n"
+ "of this section and do not have to be written now.\n\n"
"Are you absolutely sure you want to do this now?")) {
variable_set2(DISK_PARTITIONED, "yes");
@@ -396,6 +401,7 @@ diskPartition(Device *dev, Disk *d)
refresh();
slice_wizard(d);
variable_set2(DISK_PARTITIONED, "yes");
+ record_chunks(d);
}
else
msg = "Wise choice!";
diff --git a/release/sysinstall/dumpnlist.c b/release/sysinstall/dumpnlist.c
new file mode 100644
index 0000000..70468a6
--- /dev/null
+++ b/release/sysinstall/dumpnlist.c
@@ -0,0 +1,46 @@
+#include <sys/types.h>
+#include <sys/fcntl.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <nlist.h>
+#include <stdio.h>
+#include "uc_main.h"
+
+struct nlist nl[] = {
+ {"_isa_devtab_bio"},
+ {"_isa_devtab_tty"},
+ {"_isa_devtab_net"},
+ {"_isa_devtab_null"},
+ {"_isa_biotab_wdc"},
+ {"_isa_biotab_fdc"},
+ {"_eisadriver_set"},
+ {"_eisa_dev_list"},
+ {"_pcidevice_set"},
+ {"_device_list"},
+ {"_scbusses"},
+ {"_scsi_cinit"},
+ {"_scsi_dinit"},
+ {"_scsi_tinit"},
+ {""},
+};
+
+int
+main(int ac, char **av)
+{
+ int i;
+
+ i = nlist(av[1], nl);
+ if (i == -1) {
+ fprintf(stderr, "nlist returns error for %s\n", av[1]);
+ perror("nlist");
+ return 1;
+ }
+ fprintf(stdout, "struct nlist kern_nl[] = {\n");
+ for (i = 0; nl[i].n_name; i++) {
+ fprintf(stdout, "\t{ \"%s\", %d, %d, %d, %ld },\n",
+ nl[i].n_name, nl[i].n_type, nl[i].n_other,
+ nl[i].n_desc, nl[i].n_value);
+ }
+ fprintf(stdout, "};\n");
+ return 0;
+}
diff --git a/release/sysinstall/help/hardware.hlp b/release/sysinstall/help/hardware.hlp
index d96fe76..cca8811 100644
--- a/release/sysinstall/help/hardware.hlp
+++ b/release/sysinstall/help/hardware.hlp
@@ -1,4 +1,4 @@
-Hardware Documentation Guide: $Id: hardware.hlp,v 1.7 1996/07/10 09:41:18 jkh Exp $
+Hardware Documentation Guide: $Id: hardware.hlp,v 1.8 1996/08/23 07:56:04 jkh Exp $
Contents last changed: July 4th, 1996
@@ -181,10 +181,10 @@ setting special device flags, etc.
Since people's tastes in user interface design vary widely, we have
provided two different interfaces to the UserConfig utility. If you
-type `visual' you will be placed in the "GUI" oriented device
+type `visual' (or just `v') you will be placed in the "GUI" oriented device
attributes editor. If you're someone who's more at home with
-command-line flavored interfaces then simply don't type `visual' at
-any point! :)
+command-line flavored interfaces then simply don't do that and use
+the CLI commands directly. :-)
Since the visual interface pretty much describes itself, we'll use the
more verbose command line interface while describing UserConfig in the
@@ -245,14 +245,6 @@ really needs (see section 6.0 of the FreeBSD.FAQ). If your system has
sufficient free disk space to store and compile the kernel sources,
this is the option we most highly recommend.
-IMPORTANT NOTE: Because dset only runs when the system has been fully
-installed onto the hard disk, any changes you make when initially booting
-off the floppy will NOT BE SAVED. If you had to change your settings
-in order to install the system then you will have to make them again
-the first time you boot from the hard disk, after that you will not need
-to do so again as dset will have run and saved them to your installed kernel
-image.
-
3. LINT - other possible configurations
-- ------------------------------------
diff --git a/release/sysinstall/help/partition.hlp b/release/sysinstall/help/partition.hlp
index cbce9a4..e0cc43b 100644
--- a/release/sysinstall/help/partition.hlp
+++ b/release/sysinstall/help/partition.hlp
@@ -21,13 +21,6 @@ without initializing it. If you want it initialized, use the (T)oggle
command to flip the Newfs flag. When Newfs is set to "Y", the
filesystem in question will be ERASED and rebuilt from scratch!
-NOTE: The (W)rite option is HIGHLY DANGEROUS and should NOT BE USED if
-you're installing a new system! It's only for use in resurrecting
-or changing an existing system, and will cause unpredictable things to
-happen if you use it in any other circumstances. Don't do it! Wait
-for the final commit dialog if you're express/novice installing, or
-use the "Commit" menu item if you're custom installing, and do it there.
-
You should use this editor to create at least the following
filesystems:
diff --git a/release/sysinstall/help/slice.hlp b/release/sysinstall/help/slice.hlp
index 1c1581b..40e4d49 100644
--- a/release/sysinstall/help/slice.hlp
+++ b/release/sysinstall/help/slice.hlp
@@ -36,13 +36,6 @@ Install menu or use the (W)rite option here! You're working with what
is essentially a copy of the disk label(s), both here and in the Label
Editor.
-NOTE: The (W)rite option is HIGHLY DANGEROUS and should NOT BE USED if
-you're installing a new system! It's only for use in resurrecting
-or changing an existing system, and will cause unpredictable things to
-happen if you use it in any other circumstances. Don't do it! Wait
-for the final commit dialog if you're express/novice installing, or
-use the "Commit" menu item if you're custom installing, and do it there.
-
If you want to use the entire disk for FreeBSD, type `A'. You'll be
asked whether or not you wish to keep the disk (potentially) compatible
with other operating systems, i.e. the information in the FDISK table
diff --git a/release/sysinstall/install.c b/release/sysinstall/install.c
index e787d6f..5b052e4 100644
--- a/release/sysinstall/install.c
+++ b/release/sysinstall/install.c
@@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
- * $Id: install.c,v 1.125 1996/10/03 08:17:16 jkh Exp $
+ * $Id: install.c,v 1.126 1996/10/03 08:54:37 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -594,6 +594,9 @@ installFixup(dialogMenuItem *self)
if (!file_readable("/kernel")) {
if (file_readable("/kernel.GENERIC")) {
+ /* Snapshot any boot -c changes back to the GENERIC kernel */
+ save_userconfig_to_kernel("/kernel.GENERIC");
+
if (vsystem("cp -p /kernel.GENERIC /kernel")) {
msgConfirm("Unable to link /kernel into place!");
return DITEM_FAILURE;
@@ -607,11 +610,6 @@ installFixup(dialogMenuItem *self)
}
}
-#ifdef notyet
- /* Snapshot any boot -c changes back to the GENERIC kernel */
- save_userconfig_to_kernel("/kernel");
-#endif
-
/* Resurrect /dev after bin distribution screws it up */
if (RunningAsInit) {
msgNotify("Remaking all devices.. Please wait!");
@@ -680,6 +678,10 @@ installFilesystems(dialogMenuItem *self)
extern int MakeDevChunk(Chunk *c, char *n);
Boolean upgrade = FALSE;
+ /* If we've already done this, bail out */
+ if (variable_get(DISK_PREPARED))
+ return DITEM_SUCCESS;
+
str = variable_get(SYSTEM_STATE);
if (!checkLabels(TRUE, &rootdev, &swapdev, &usrdev, &vardev))
@@ -820,6 +822,7 @@ installFilesystems(dialogMenuItem *self)
command_sort();
command_execute();
+ variable_set2(DISK_PREPARED, "yes");
return DITEM_SUCCESS;
}
diff --git a/release/sysinstall/sysinstall.h b/release/sysinstall/sysinstall.h
index a7154c9..8089ed5 100644
--- a/release/sysinstall/sysinstall.h
+++ b/release/sysinstall/sysinstall.h
@@ -4,7 +4,7 @@
* This is probably the last attempt in the `sysinstall' line, the next
* generation being slated to essentially a complete rewrite.
*
- * $Id: sysinstall.h,v 1.78 1996/08/01 10:58:53 jkh Exp $
+ * $Id: sysinstall.h,v 1.79 1996/10/01 12:13:25 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -74,6 +74,7 @@
#define DISK_PARTITIONED "_diskPartitioned"
#define DISK_LABELLED "_diskLabelled"
#define DISK_SELECTED "_diskSelected"
+#define DISK_PREPARED "_diskPrepared"
#define SYSTEM_STATE "_systemState"
#define RUNNING_ON_ROOT "_runningOnRoot"
#define TCP_CONFIGURED "_tcpConfigured"
diff --git a/release/sysinstall/uc_main.c b/release/sysinstall/uc_main.c
index f432c5f..50a029a 100644
--- a/release/sysinstall/uc_main.c
+++ b/release/sysinstall/uc_main.c
@@ -24,7 +24,7 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* library functions for userconfig library
*
- * $Id: uc_main.c,v 1.1 1996/10/03 06:01:41 jkh Exp $
+ * $Id: uc_main.c,v 1.2 1996/10/03 07:50:09 jkh Exp $
*/
#include <sys/types.h>
@@ -43,6 +43,9 @@
extern int isDebug(void);
extern void msgDebug(char *fmt, ...);
+#ifdef KERN_NO_SYMBOLS
+#include "kern-nlist.h"
+#else
struct nlist nl[] = {
{"_isa_devtab_bio"},
{"_isa_devtab_tty"},
@@ -60,11 +63,11 @@ struct nlist nl[] = {
{"_scsi_tinit"},
{""},
};
-
+#endif
struct kernel *
uc_open(char *name){
- int kd, i, flags, incore;
+ int kd, flags, incore;
struct kernel *kern;
struct stat sb;
char kname[80];
@@ -81,11 +84,25 @@ uc_open(char *name){
strncpy(kname, name, 79);
}
if (isDebug())
- msgDebug("Kernel name is %s, incore = %d\n", kname, incore);
+ msgDebug("uc_open: kernel name is %s, incore = %d\n", kname, incore);
kern=(struct kernel *)malloc(sizeof(struct kernel));
- i=nlist(kname, nl);
+#ifdef KERN_NO_SYMBOLS
+ if (incore) {
+ kern->nl=kern_nl;
+ i = 0;
+ }
+ else
+ i = nlist(kname, nl);
+#else
+ i = nlist(kname, nl);
+#endif
+ if (i == -1) {
+ msgDebug("uc_open: kernel %s does not contain symbols.\n", kname);
+ kern = (struct kernel *)-5;
+ return kern;
+ }
kern->nl=(struct nlist *)malloc(sizeof(nl));
bcopy(nl, kern->nl, sizeof(nl));
@@ -118,6 +135,8 @@ uc_open(char *name){
return(kern);
}
+ if (isDebug())
+ msgDebug("uc_open: attempting to open %s\n", kname);
if((kd=open(kname, O_RDWR, 0644))<0){
free(kern);
kern=(struct kernel *)-3;
@@ -127,6 +146,8 @@ uc_open(char *name){
fchflags(kd, flags);
+ if (isDebug())
+ msgDebug("uc_open: attempting to mmap %d bytes\n", sb.st_size);
kern->core=mmap((caddr_t)0, sb.st_size, PROT_READ | PROT_WRITE,
MAP_SHARED, kd, 0);
kern->incore=0;
@@ -141,12 +162,20 @@ uc_open(char *name){
kern->fd=kd;
+ if (isDebug())
+ msgDebug("uc_open: getting isa information\n");
get_isa_info(kern);
+ if (isDebug())
+ msgDebug("uc_open: getting pci information\n");
get_pci_info(kern);
+ if (isDebug())
+ msgDebug("uc_open: getting eisa information\n");
get_eisa_info(kern);
+ if (isDebug())
+ msgDebug("uc_open: getting scsi information\n");
get_scsi_info(kern);
return(kern);
diff --git a/release/sysinstall/uc_scsi.c b/release/sysinstall/uc_scsi.c
index 4c4fd36..c9b72d2 100644
--- a/release/sysinstall/uc_scsi.c
+++ b/release/sysinstall/uc_scsi.c
@@ -23,7 +23,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id$
+ * $Id: uc_scsi.c,v 1.1 1996/10/03 06:01:44 jkh Exp $
*/
#include <sys/types.h>
@@ -183,6 +183,7 @@ get_scsi_info(struct kernel *kp){
spc=sp=(struct uc_scsi*)malloc(sizeof(struct uc_scsi));
total=0;
ctrl_total=0;
+ uc_scbus = NULL; /* Just prevent unused warning */
/* static kernel, we'll first get the wired controllers/devices */
if((t=kp->nl[SCSI_CINIT].n_value)){
diff --git a/usr.sbin/sade/Makefile b/usr.sbin/sade/Makefile
index 97ef30f..3d5f05c 100644
--- a/usr.sbin/sade/Makefile
+++ b/usr.sbin/sade/Makefile
@@ -10,16 +10,19 @@ SRCS= anonFTP.c apache.c attr.c cdrom.c command.c config.c devices.c \
label.c lndir.c main.c makedevs.c media.c menus.c misc.c \
msg.c network.c nfs.c options.c package.c samba.c system.c \
tape.c tcpip.c termcap.c ufs.c variable.c wizard.c \
- uc_eisa.c uc_isa.c uc_kmem.c uc_list.c uc_main.c uc_pci.c uc_scsi.c
+ uc_eisa.c uc_isa.c uc_kmem.c uc_list.c uc_main.c uc_pci.c \
+ uc_scsi.c
-CFLAGS+= -Wall -I${.CURDIR}/../../gnu/lib/libdialog -I/sys -DUC_PRIVATE
+CFLAGS+= -Wall -I${.CURDIR}/../../gnu/lib/libdialog -I${.OBJDIR} -I/sys
+CFLAGS+= -DUC_PRIVATE -DKERN_NO_SYMBOLS
#CFLAGS+= -DLOAD_CONFIG_FILE=\"install.cfg\"
DPADD= ${LIBDIALOG} ${LIBNCURSES} ${LIBMYTINFO} ${LIBUTIL} ${LIBDISK}
LDADD= -ldialog -lncurses -lmytinfo -lutil -ldisk
-makedevs.c: Makefile rtermcap
+
+makedevs.c: Makefile rtermcap dumpnlist
rm -f makedevs.tmp
echo '#include <sys/types.h>' > makedevs.tmp
./rtermcap cons25 | \
@@ -44,6 +47,11 @@ makedevs.c: Makefile rtermcap
file2c 'const char termcap_vt100[] = {' ',0};' \
>> makedevs.tmp
mv makedevs.tmp makedevs.c
+.if defined(KERNEL_NAME)
+ dumpnlist ${KERNEL_NAME} > kern-nlist.h
+.else
+ dumpnlist /kernel > kern-nlist.h
+.endif
rtermcap: ${.CURDIR}/rtermcap.c
${CC} -o rtermcap ${.CURDIR}/rtermcap.c -ltermcap
diff --git a/usr.sbin/sade/disks.c b/usr.sbin/sade/disks.c
index 6a1ca93..b66c992 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.65 1996/10/01 04:56:31 jkh Exp $
+ * $Id: disks.c,v 1.66 1996/10/03 06:01:31 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -181,10 +181,10 @@ diskPartition(Device *dev, Disk *d)
since we don't always know who called us */
dialog_clear_norefresh(), clear();
- while (chunking) {
- /* Set up the chunk array */
- record_chunks(d);
+ /* Set up the chunk array */
+ record_chunks(d);
+ while (chunking) {
/* Now print our overall state */
print_chunks(d);
print_command_summary();
@@ -259,6 +259,7 @@ diskPartition(Device *dev, Disk *d)
if (rv)
d->bios_hd = d->bios_sect = d->bios_cyl = 1;
variable_set2(DISK_PARTITIONED, "yes");
+ record_chunks(d);
clear();
break;
@@ -309,6 +310,7 @@ diskPartition(Device *dev, Disk *d)
Create_Chunk(d, chunk_info[current_chunk]->offset, size, partitiontype, subtype,
(chunk_info[current_chunk]->flags & CHUNK_ALIGN));
variable_set2(DISK_PARTITIONED, "yes");
+ record_chunks(d);
}
}
clear();
@@ -322,6 +324,7 @@ diskPartition(Device *dev, Disk *d)
else {
Delete_Chunk(d, chunk_info[current_chunk]);
variable_set2(DISK_PARTITIONED, "yes");
+ record_chunks(d);
}
break;
@@ -361,14 +364,16 @@ diskPartition(Device *dev, Disk *d)
dev->private = d;
variable_unset(DISK_PARTITIONED);
variable_unset(DISK_LABELLED);
+ record_chunks(d);
clear();
break;
case 'W':
if (!msgYesNo("WARNING: This should only be used for modifying an\n"
- "EXISTING installation - DO NOT USE this option if you\n"
- "are installing FreeBSD for the first time! This is not\n"
- "an option for use during the standard install.\n\n"
+ "EXISTING installation - If you are installing FreeBSD\n"
+ "for the first time then you should simply hit 'Q' now."
+ "Your changes will be committed in one batch at the end\n"
+ "of this section and do not have to be written now.\n\n"
"Are you absolutely sure you want to do this now?")) {
variable_set2(DISK_PARTITIONED, "yes");
@@ -396,6 +401,7 @@ diskPartition(Device *dev, Disk *d)
refresh();
slice_wizard(d);
variable_set2(DISK_PARTITIONED, "yes");
+ record_chunks(d);
}
else
msg = "Wise choice!";
diff --git a/usr.sbin/sade/help/partition.hlp b/usr.sbin/sade/help/partition.hlp
index cbce9a4..e0cc43b 100644
--- a/usr.sbin/sade/help/partition.hlp
+++ b/usr.sbin/sade/help/partition.hlp
@@ -21,13 +21,6 @@ without initializing it. If you want it initialized, use the (T)oggle
command to flip the Newfs flag. When Newfs is set to "Y", the
filesystem in question will be ERASED and rebuilt from scratch!
-NOTE: The (W)rite option is HIGHLY DANGEROUS and should NOT BE USED if
-you're installing a new system! It's only for use in resurrecting
-or changing an existing system, and will cause unpredictable things to
-happen if you use it in any other circumstances. Don't do it! Wait
-for the final commit dialog if you're express/novice installing, or
-use the "Commit" menu item if you're custom installing, and do it there.
-
You should use this editor to create at least the following
filesystems:
diff --git a/usr.sbin/sade/help/slice.hlp b/usr.sbin/sade/help/slice.hlp
index 1c1581b..40e4d49 100644
--- a/usr.sbin/sade/help/slice.hlp
+++ b/usr.sbin/sade/help/slice.hlp
@@ -36,13 +36,6 @@ Install menu or use the (W)rite option here! You're working with what
is essentially a copy of the disk label(s), both here and in the Label
Editor.
-NOTE: The (W)rite option is HIGHLY DANGEROUS and should NOT BE USED if
-you're installing a new system! It's only for use in resurrecting
-or changing an existing system, and will cause unpredictable things to
-happen if you use it in any other circumstances. Don't do it! Wait
-for the final commit dialog if you're express/novice installing, or
-use the "Commit" menu item if you're custom installing, and do it there.
-
If you want to use the entire disk for FreeBSD, type `A'. You'll be
asked whether or not you wish to keep the disk (potentially) compatible
with other operating systems, i.e. the information in the FDISK table
diff --git a/usr.sbin/sade/install.c b/usr.sbin/sade/install.c
index e787d6f..5b052e4 100644
--- a/usr.sbin/sade/install.c
+++ b/usr.sbin/sade/install.c
@@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
- * $Id: install.c,v 1.125 1996/10/03 08:17:16 jkh Exp $
+ * $Id: install.c,v 1.126 1996/10/03 08:54:37 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -594,6 +594,9 @@ installFixup(dialogMenuItem *self)
if (!file_readable("/kernel")) {
if (file_readable("/kernel.GENERIC")) {
+ /* Snapshot any boot -c changes back to the GENERIC kernel */
+ save_userconfig_to_kernel("/kernel.GENERIC");
+
if (vsystem("cp -p /kernel.GENERIC /kernel")) {
msgConfirm("Unable to link /kernel into place!");
return DITEM_FAILURE;
@@ -607,11 +610,6 @@ installFixup(dialogMenuItem *self)
}
}
-#ifdef notyet
- /* Snapshot any boot -c changes back to the GENERIC kernel */
- save_userconfig_to_kernel("/kernel");
-#endif
-
/* Resurrect /dev after bin distribution screws it up */
if (RunningAsInit) {
msgNotify("Remaking all devices.. Please wait!");
@@ -680,6 +678,10 @@ installFilesystems(dialogMenuItem *self)
extern int MakeDevChunk(Chunk *c, char *n);
Boolean upgrade = FALSE;
+ /* If we've already done this, bail out */
+ if (variable_get(DISK_PREPARED))
+ return DITEM_SUCCESS;
+
str = variable_get(SYSTEM_STATE);
if (!checkLabels(TRUE, &rootdev, &swapdev, &usrdev, &vardev))
@@ -820,6 +822,7 @@ installFilesystems(dialogMenuItem *self)
command_sort();
command_execute();
+ variable_set2(DISK_PREPARED, "yes");
return DITEM_SUCCESS;
}
diff --git a/usr.sbin/sade/sade.h b/usr.sbin/sade/sade.h
index a7154c9..8089ed5 100644
--- a/usr.sbin/sade/sade.h
+++ b/usr.sbin/sade/sade.h
@@ -4,7 +4,7 @@
* This is probably the last attempt in the `sysinstall' line, the next
* generation being slated to essentially a complete rewrite.
*
- * $Id: sysinstall.h,v 1.78 1996/08/01 10:58:53 jkh Exp $
+ * $Id: sysinstall.h,v 1.79 1996/10/01 12:13:25 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -74,6 +74,7 @@
#define DISK_PARTITIONED "_diskPartitioned"
#define DISK_LABELLED "_diskLabelled"
#define DISK_SELECTED "_diskSelected"
+#define DISK_PREPARED "_diskPrepared"
#define SYSTEM_STATE "_systemState"
#define RUNNING_ON_ROOT "_runningOnRoot"
#define TCP_CONFIGURED "_tcpConfigured"
diff --git a/usr.sbin/sysinstall/Makefile b/usr.sbin/sysinstall/Makefile
index 97ef30f..3d5f05c 100644
--- a/usr.sbin/sysinstall/Makefile
+++ b/usr.sbin/sysinstall/Makefile
@@ -10,16 +10,19 @@ SRCS= anonFTP.c apache.c attr.c cdrom.c command.c config.c devices.c \
label.c lndir.c main.c makedevs.c media.c menus.c misc.c \
msg.c network.c nfs.c options.c package.c samba.c system.c \
tape.c tcpip.c termcap.c ufs.c variable.c wizard.c \
- uc_eisa.c uc_isa.c uc_kmem.c uc_list.c uc_main.c uc_pci.c uc_scsi.c
+ uc_eisa.c uc_isa.c uc_kmem.c uc_list.c uc_main.c uc_pci.c \
+ uc_scsi.c
-CFLAGS+= -Wall -I${.CURDIR}/../../gnu/lib/libdialog -I/sys -DUC_PRIVATE
+CFLAGS+= -Wall -I${.CURDIR}/../../gnu/lib/libdialog -I${.OBJDIR} -I/sys
+CFLAGS+= -DUC_PRIVATE -DKERN_NO_SYMBOLS
#CFLAGS+= -DLOAD_CONFIG_FILE=\"install.cfg\"
DPADD= ${LIBDIALOG} ${LIBNCURSES} ${LIBMYTINFO} ${LIBUTIL} ${LIBDISK}
LDADD= -ldialog -lncurses -lmytinfo -lutil -ldisk
-makedevs.c: Makefile rtermcap
+
+makedevs.c: Makefile rtermcap dumpnlist
rm -f makedevs.tmp
echo '#include <sys/types.h>' > makedevs.tmp
./rtermcap cons25 | \
@@ -44,6 +47,11 @@ makedevs.c: Makefile rtermcap
file2c 'const char termcap_vt100[] = {' ',0};' \
>> makedevs.tmp
mv makedevs.tmp makedevs.c
+.if defined(KERNEL_NAME)
+ dumpnlist ${KERNEL_NAME} > kern-nlist.h
+.else
+ dumpnlist /kernel > kern-nlist.h
+.endif
rtermcap: ${.CURDIR}/rtermcap.c
${CC} -o rtermcap ${.CURDIR}/rtermcap.c -ltermcap
diff --git a/usr.sbin/sysinstall/disks.c b/usr.sbin/sysinstall/disks.c
index 6a1ca93..b66c992 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.65 1996/10/01 04:56:31 jkh Exp $
+ * $Id: disks.c,v 1.66 1996/10/03 06:01:31 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -181,10 +181,10 @@ diskPartition(Device *dev, Disk *d)
since we don't always know who called us */
dialog_clear_norefresh(), clear();
- while (chunking) {
- /* Set up the chunk array */
- record_chunks(d);
+ /* Set up the chunk array */
+ record_chunks(d);
+ while (chunking) {
/* Now print our overall state */
print_chunks(d);
print_command_summary();
@@ -259,6 +259,7 @@ diskPartition(Device *dev, Disk *d)
if (rv)
d->bios_hd = d->bios_sect = d->bios_cyl = 1;
variable_set2(DISK_PARTITIONED, "yes");
+ record_chunks(d);
clear();
break;
@@ -309,6 +310,7 @@ diskPartition(Device *dev, Disk *d)
Create_Chunk(d, chunk_info[current_chunk]->offset, size, partitiontype, subtype,
(chunk_info[current_chunk]->flags & CHUNK_ALIGN));
variable_set2(DISK_PARTITIONED, "yes");
+ record_chunks(d);
}
}
clear();
@@ -322,6 +324,7 @@ diskPartition(Device *dev, Disk *d)
else {
Delete_Chunk(d, chunk_info[current_chunk]);
variable_set2(DISK_PARTITIONED, "yes");
+ record_chunks(d);
}
break;
@@ -361,14 +364,16 @@ diskPartition(Device *dev, Disk *d)
dev->private = d;
variable_unset(DISK_PARTITIONED);
variable_unset(DISK_LABELLED);
+ record_chunks(d);
clear();
break;
case 'W':
if (!msgYesNo("WARNING: This should only be used for modifying an\n"
- "EXISTING installation - DO NOT USE this option if you\n"
- "are installing FreeBSD for the first time! This is not\n"
- "an option for use during the standard install.\n\n"
+ "EXISTING installation - If you are installing FreeBSD\n"
+ "for the first time then you should simply hit 'Q' now."
+ "Your changes will be committed in one batch at the end\n"
+ "of this section and do not have to be written now.\n\n"
"Are you absolutely sure you want to do this now?")) {
variable_set2(DISK_PARTITIONED, "yes");
@@ -396,6 +401,7 @@ diskPartition(Device *dev, Disk *d)
refresh();
slice_wizard(d);
variable_set2(DISK_PARTITIONED, "yes");
+ record_chunks(d);
}
else
msg = "Wise choice!";
diff --git a/usr.sbin/sysinstall/help/partition.hlp b/usr.sbin/sysinstall/help/partition.hlp
index cbce9a4..e0cc43b 100644
--- a/usr.sbin/sysinstall/help/partition.hlp
+++ b/usr.sbin/sysinstall/help/partition.hlp
@@ -21,13 +21,6 @@ without initializing it. If you want it initialized, use the (T)oggle
command to flip the Newfs flag. When Newfs is set to "Y", the
filesystem in question will be ERASED and rebuilt from scratch!
-NOTE: The (W)rite option is HIGHLY DANGEROUS and should NOT BE USED if
-you're installing a new system! It's only for use in resurrecting
-or changing an existing system, and will cause unpredictable things to
-happen if you use it in any other circumstances. Don't do it! Wait
-for the final commit dialog if you're express/novice installing, or
-use the "Commit" menu item if you're custom installing, and do it there.
-
You should use this editor to create at least the following
filesystems:
diff --git a/usr.sbin/sysinstall/help/slice.hlp b/usr.sbin/sysinstall/help/slice.hlp
index 1c1581b..40e4d49 100644
--- a/usr.sbin/sysinstall/help/slice.hlp
+++ b/usr.sbin/sysinstall/help/slice.hlp
@@ -36,13 +36,6 @@ Install menu or use the (W)rite option here! You're working with what
is essentially a copy of the disk label(s), both here and in the Label
Editor.
-NOTE: The (W)rite option is HIGHLY DANGEROUS and should NOT BE USED if
-you're installing a new system! It's only for use in resurrecting
-or changing an existing system, and will cause unpredictable things to
-happen if you use it in any other circumstances. Don't do it! Wait
-for the final commit dialog if you're express/novice installing, or
-use the "Commit" menu item if you're custom installing, and do it there.
-
If you want to use the entire disk for FreeBSD, type `A'. You'll be
asked whether or not you wish to keep the disk (potentially) compatible
with other operating systems, i.e. the information in the FDISK table
diff --git a/usr.sbin/sysinstall/install.c b/usr.sbin/sysinstall/install.c
index e787d6f..5b052e4 100644
--- a/usr.sbin/sysinstall/install.c
+++ b/usr.sbin/sysinstall/install.c
@@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
- * $Id: install.c,v 1.125 1996/10/03 08:17:16 jkh Exp $
+ * $Id: install.c,v 1.126 1996/10/03 08:54:37 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -594,6 +594,9 @@ installFixup(dialogMenuItem *self)
if (!file_readable("/kernel")) {
if (file_readable("/kernel.GENERIC")) {
+ /* Snapshot any boot -c changes back to the GENERIC kernel */
+ save_userconfig_to_kernel("/kernel.GENERIC");
+
if (vsystem("cp -p /kernel.GENERIC /kernel")) {
msgConfirm("Unable to link /kernel into place!");
return DITEM_FAILURE;
@@ -607,11 +610,6 @@ installFixup(dialogMenuItem *self)
}
}
-#ifdef notyet
- /* Snapshot any boot -c changes back to the GENERIC kernel */
- save_userconfig_to_kernel("/kernel");
-#endif
-
/* Resurrect /dev after bin distribution screws it up */
if (RunningAsInit) {
msgNotify("Remaking all devices.. Please wait!");
@@ -680,6 +678,10 @@ installFilesystems(dialogMenuItem *self)
extern int MakeDevChunk(Chunk *c, char *n);
Boolean upgrade = FALSE;
+ /* If we've already done this, bail out */
+ if (variable_get(DISK_PREPARED))
+ return DITEM_SUCCESS;
+
str = variable_get(SYSTEM_STATE);
if (!checkLabels(TRUE, &rootdev, &swapdev, &usrdev, &vardev))
@@ -820,6 +822,7 @@ installFilesystems(dialogMenuItem *self)
command_sort();
command_execute();
+ variable_set2(DISK_PREPARED, "yes");
return DITEM_SUCCESS;
}
diff --git a/usr.sbin/sysinstall/sysinstall.h b/usr.sbin/sysinstall/sysinstall.h
index a7154c9..8089ed5 100644
--- a/usr.sbin/sysinstall/sysinstall.h
+++ b/usr.sbin/sysinstall/sysinstall.h
@@ -4,7 +4,7 @@
* This is probably the last attempt in the `sysinstall' line, the next
* generation being slated to essentially a complete rewrite.
*
- * $Id: sysinstall.h,v 1.78 1996/08/01 10:58:53 jkh Exp $
+ * $Id: sysinstall.h,v 1.79 1996/10/01 12:13:25 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -74,6 +74,7 @@
#define DISK_PARTITIONED "_diskPartitioned"
#define DISK_LABELLED "_diskLabelled"
#define DISK_SELECTED "_diskSelected"
+#define DISK_PREPARED "_diskPrepared"
#define SYSTEM_STATE "_systemState"
#define RUNNING_ON_ROOT "_runningOnRoot"
#define TCP_CONFIGURED "_tcpConfigured"
OpenPOWER on IntegriCloud