summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--release/Makefile44
-rw-r--r--release/dumpnlist.c (renamed from release/sysinstall/dumpnlist.c)10
-rw-r--r--release/sysinstall/Makefile9
-rw-r--r--release/sysinstall/install.c8
-rw-r--r--release/sysinstall/uc_main.c56
-rw-r--r--sys/amd64/amd64/locore.S12
-rw-r--r--sys/amd64/amd64/locore.s12
-rw-r--r--sys/amd64/amd64/machdep.c6
-rw-r--r--sys/conf/newvers.sh4
-rw-r--r--sys/conf/options.i3863
-rw-r--r--sys/i386/conf/options.i3863
-rw-r--r--sys/i386/i386/locore.s12
-rw-r--r--sys/i386/i386/machdep.c6
-rw-r--r--sys/i386/i386/userconfig.c69
-rw-r--r--usr.sbin/sade/Makefile9
-rw-r--r--usr.sbin/sade/install.c8
-rw-r--r--usr.sbin/sysinstall/Makefile9
-rw-r--r--usr.sbin/sysinstall/install.c8
18 files changed, 202 insertions, 86 deletions
diff --git a/release/Makefile b/release/Makefile
index 8f4ad75..f4ff850 100644
--- a/release/Makefile
+++ b/release/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.241 1996/10/05 06:10:58 jkh Exp $
+# $Id: Makefile,v 1.242 1996/10/05 07:46:54 jkh Exp $
#
# How to roll a release:
#
@@ -200,8 +200,7 @@ release.3:
# You are not supposed to like this :-)
release.4:
@cd ${.CURDIR} && $(MAKE) ckRELEASEDIR
- cd ${.CURDIR}/sysinstall && make depend all \
- KERNEL_NAME=${RD}/kernels/BOOTMFS.std
+ cd ${.CURDIR}/sysinstall && make depend all
rm -rf ${RD}/crunch
mkdir -p ${RD}/crunch
for j in ${WHICH_CRUNCH} ; do \
@@ -357,7 +356,7 @@ release.7:
# +-----------------------------------------+
#
-release.8: write_mfs_in_kernel
+release.8: write_mfs_in_kernel dumpnlist
@cd ${.CURDIR} && $(MAKE) ckRELEASEDIR
rm -rf ${RD}/mfsfd
mkdir ${RD}/mfsfd
@@ -378,6 +377,7 @@ release.8: write_mfs_in_kernel
echo "domain 53/udp nameserver" >> ${RD}/mfsfd/stand/etc/services
gzip -c ${.CURDIR}/../COPYRIGHT > ${RD}/mfsfd/stand/help/COPYRIGHT.hlp.gz
-test -f ${.CURDIR}/install.cfg && cp ${.CURDIR}/install.cfg ${RD}/mfsfd
+ ./dumpnlist ${RD}/kernels/BOOTMFS.std > ${RD}/mfsfd/stand/symbols
# make the small bootfd
@echo "Making the small 4MB boot floppy."
sh -e ${.CURDIR}/doFS.sh ${RD} ${MNT} ${BOOTMFSSIZE} ${RD}/mfsfd \
@@ -505,6 +505,9 @@ fixit.flp:
write_mfs_in_kernel: ${.CURDIR}/write_mfs_in_kernel.c
${CC} ${CFLAGS} -o write_mfs_in_kernel ${.CURDIR}/write_mfs_in_kernel.c
+dumpnlist: ${.CURDIR}/dumpnlist.c
+ ${CC} ${CFLAGS} -o dumpnlist ${.CURDIR}/dumpnlist.c
+
ckRELEASEDIR:
.if !defined(RELEASEDIR)
@echo "To make a release RELEASEDIR must be defined" && false
@@ -550,9 +553,9 @@ doKERNEL:
#
doMFSKERN:
@cd ${.CURDIR} && $(MAKE) ckRELEASEDIR
- rm -f ${RD}/kernels/BOOTMFS.${FSIMAGE}
- rm -f /sys/compile/BOOTMFS/mfs_vfsops.o
- cd ${.CURDIR}/../sys/i386/conf && \
+ @rm -f ${RD}/kernels/BOOTMFS.${FSIMAGE}
+ @rm -f /sys/compile/BOOTMFS/mfs_vfsops.o
+ @cd ${.CURDIR}/../sys/i386/conf && \
sed -e '/SYSV/d' \
-e '/pty/d' \
-e '/PROCFS/d' \
@@ -561,22 +564,29 @@ doMFSKERN:
-e '/maxusers/s/10/4/' < GENERIC > BOOTMFS && \
echo "options MFS" >> BOOTMFS && \
echo "options NFS_NOSERVER" >> BOOTMFS && \
- echo 'options "MAXCONS=4"' >> BOOTMFS
- echo "options \"MFS_ROOT=`cat fs-image.${FSIMAGE}.size`\"" >> \
+ echo 'options "MAXCONS=4"' >> BOOTMFS && \
+ echo "options USERCONFIG_BOOT" >> BOOTMFS
+ @echo "options \"MFS_ROOT=`cat fs-image.${FSIMAGE}.size`\"" >> \
${.CURDIR}/../sys/i386/conf/BOOTMFS
cd ${.CURDIR} && ${MAKE} doKERNEL KERNEL=BOOTMFS
- rm -rf ${RD}/boot.${FSIMAGE}
- mkdir ${RD}/boot.${FSIMAGE}
- mv ${RD}/kernels/BOOTMFS ${RD}/kernels/BOOTMFS.${FSIMAGE}
- cp ${RD}/kernels/BOOTMFS.${FSIMAGE} ${RD}/boot.${FSIMAGE}/kernel
+ @rm -rf ${RD}/boot.${FSIMAGE}
+ @mkdir ${RD}/boot.${FSIMAGE}
+ @mv ${RD}/kernels/BOOTMFS ${RD}/kernels/BOOTMFS.${FSIMAGE}
+ @cp ${RD}/kernels/BOOTMFS.${FSIMAGE} ${RD}/boot.${FSIMAGE}/kernel
./write_mfs_in_kernel ${RD}/boot.${FSIMAGE}/kernel \
fs-image.${FSIMAGE}
kzip -v ${RD}/boot.${FSIMAGE}/kernel
- mv ${RD}/boot.${FSIMAGE}/kernel ${RD}/kernels/MFSKERNEL.${FSIMAGE}
- mv ${RD}/boot.${FSIMAGE}/kernel.kz ${RD}/boot.${FSIMAGE}/kernel
- ls -l ${RD}/boot.${FSIMAGE}/kernel
- rm -f ${RD}/floppies/boot${FSIMAGE}.flp
+ @mv ${RD}/boot.${FSIMAGE}/kernel ${RD}/kernels/MFSKERNEL.${FSIMAGE}
+ @mv ${RD}/boot.${FSIMAGE}/kernel.kz ${RD}/boot.${FSIMAGE}/kernel
+ @ls -l ${RD}/boot.${FSIMAGE}/kernel
+ @rm -f ${RD}/floppies/boot${FSIMAGE}.flp
cat /usr/mdec/rawboot ${RD}/boot.${FSIMAGE}/kernel | \
dd conv=sync of=${RD}/floppies/boot${FSIMAGE}.flp
+ @echo 'USERCONFIG' > startup_foo
+ @echo 'intro' >> startup_foo
+ @echo 'visual' >> startup_foo
+ dd if=startup_foo of=${RD}/floppies/boot${FSIMAGE}.flp \
+ seek=1 bs=512 count=1 conv=sync
+ @rm -f startup_foo
.include <bsd.prog.mk>
diff --git a/release/sysinstall/dumpnlist.c b/release/dumpnlist.c
index d78c5c5..31f25c1 100644
--- a/release/sysinstall/dumpnlist.c
+++ b/release/dumpnlist.c
@@ -4,7 +4,6 @@
#include <stdlib.h>
#include <nlist.h>
#include <stdio.h>
-#include "uc_main.h"
struct nlist nl[] = {
{"_isa_devtab_bio"},
@@ -35,12 +34,11 @@ main(int ac, char **av)
perror("nlist");
return 1;
}
- fprintf(stdout, "struct nlist nl[] = {\n");
+ printf("%d\n", sizeof(nl) / sizeof(struct nlist));
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);
+ printf("%s\n", nl[i].n_name);
+ printf("%d %d %d %ld\n",
+ 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/Makefile b/release/sysinstall/Makefile
index 3ec6943..7105795 100644
--- a/release/sysinstall/Makefile
+++ b/release/sysinstall/Makefile
@@ -1,6 +1,6 @@
PROG= sysinstall
NOMAN= yes
-CLEANFILES+= makedevs.c rtermcap dumpnlist kern-nlist.h
+CLEANFILES+= makedevs.c rtermcap dumpnlist
.PATH: ${.CURDIR}/../disklabel ${.CURDIR}/../../usr.bin/cksum
@@ -22,7 +22,7 @@ DPADD= ${LIBDIALOG} ${LIBNCURSES} ${LIBMYTINFO} ${LIBUTIL} ${LIBDISK}
LDADD= -ldialog -lncurses -lmytinfo -lutil -ldisk
-makedevs.c: Makefile rtermcap dumpnlist
+makedevs.c: Makefile rtermcap
rm -f makedevs.tmp
echo '#include <sys/types.h>' > makedevs.tmp
./rtermcap cons25 | \
@@ -47,11 +47,6 @@ makedevs.c: Makefile rtermcap dumpnlist
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/install.c b/release/sysinstall/install.c
index 83f762f..88ec852 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.127 1996/10/04 13:33:43 jkh Exp $
+ * $Id: install.c,v 1.128 1996/10/04 14:53:50 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -920,14 +920,12 @@ save_userconfig_to_kernel(char *kern)
struct list *c_isa, *c_dev, *b_dev;
int i, d;
- core = uc_open("-incore");
- if (core < 0) {
+ if ((core = uc_open("-incore")) == NULL) {
msgDebug("Can't read in-core information for kernel.\n");
return;
}
- boot = uc_open(kern);
- if (boot < 0) {
+ if ((boot = uc_open(kern)) == NULL) {
msgDebug("Can't read device information for kernel image %s\n", kern);
return;
}
diff --git a/release/sysinstall/uc_main.c b/release/sysinstall/uc_main.c
index 4c8b66c..4ec0810 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.5 1996/10/05 02:12:35 jkh Exp $
+ * $Id: uc_main.c,v 1.6 1996/10/05 05:51:12 jkh Exp $
*/
#include <sys/types.h>
@@ -43,10 +43,7 @@
extern int isDebug(void);
extern void msgDebug(char *fmt, ...);
-#ifdef KERN_NO_SYMBOLS
-#include "kern-nlist.h"
-#else
-static struct nlist nl[] = {
+static struct nlist _nl[] = {
{"_isa_devtab_bio"},
{"_isa_devtab_tty"},
{"_isa_devtab_net"},
@@ -63,7 +60,6 @@ static struct nlist nl[] = {
{"_scsi_tinit"},
{""},
};
-#endif
struct kernel *
uc_open(char *name){
@@ -71,12 +67,13 @@ uc_open(char *name){
struct kernel *kern;
struct stat sb;
char kname[80];
- int i = 0;
-
+ int size, i = 0;
+ struct nlist *nl = _nl;
+
if (strcmp(name, "-incore") == 0)
incore = 1;
else
- incore=0;
+ incore = 0;
if (incore || (strcmp(name,"-bootfile") == 0))
strncpy(kname, getbootfile(), 79);
@@ -86,11 +83,42 @@ uc_open(char *name){
if (isDebug())
msgDebug("uc_open: kernel name is %s, incore = %d\n", kname, incore);
- kern=(struct kernel *)malloc(sizeof(struct kernel));
-
+ kern = (struct kernel *)malloc(sizeof(struct kernel));
+
#ifdef KERN_NO_SYMBOLS
if (incore) {
- kern->nl = nl;
+ FILE *fp;
+
+ fp = fopen("/stand/symbols", "r");
+ if (!fp) {
+ msgDebug("Couldn't open /stand/symbols file! Punting.\n");
+ free(kern);
+ return NULL;
+ }
+ if (fscanf(fp, "%d\n", &size) != 1) {
+ msgDebug("Unable to get # of name list entries from symbol file.\n");
+ free(kern);
+ return NULL;
+ }
+ nl = (struct nlist *)malloc((size + 1) * sizeof(struct nlist));
+ for (i = 0; i < size; i++) {
+ char name[255];
+
+ if (fgets(name, 255, fp) == NULL) {
+ msgDebug("Unable to read symbol name from symbol file.\n");
+ free(kern);
+ return NULL;
+ }
+ nl[i].n_name = strdup(name);
+ if (fscanf(fp, "%d %d %d %ld\n",
+ &(nl[i].n_type), &(nl[i].n_other), &(nl[i].n_desc), &(nl[i].n_value)) != 4) {
+ msgDebug("Unable to read symbol detail fields from symbol file, entry = %d\n", i);
+ free(kern);
+ return NULL;
+ }
+ }
+ fclose(fp);
+ kern->nl = nl;
i = 0;
}
else
@@ -98,8 +126,8 @@ uc_open(char *name){
i = nlist(kname, nl);
if (i == -1) {
msgDebug("uc_open: kernel %s does not contain symbols.\n", kname);
- kern = (struct kernel *)-5;
- return kern;
+ free(kern);
+ return NULL;
}
#ifdef KERN_NO_SYMBOLS
if (!incore) {
diff --git a/sys/amd64/amd64/locore.S b/sys/amd64/amd64/locore.S
index bda25dc..bcf8155 100644
--- a/sys/amd64/amd64/locore.S
+++ b/sys/amd64/amd64/locore.S
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)locore.s 7.3 (Berkeley) 5/13/91
- * $Id: locore.s,v 1.72 1996/05/27 06:51:46 phk Exp $
+ * $Id: locore.s,v 1.73 1996/07/12 06:48:55 bde Exp $
*
* originally from: locore.s, by William F. Jolitz
*
@@ -45,6 +45,7 @@
#include "apm.h"
#include "opt_ddb.h"
+#include "opt_userconfig.h"
#include <sys/errno.h>
#include <sys/syscall.h>
@@ -520,6 +521,15 @@ olddiskboot:
movl 12(%ebp),%eax
movl %eax,R(_bootdev)
+#if defined(USERCONFIG_BOOT) && defined(USERCONFIG)
+ movl $0x10200, %esi
+ movl $R(_userconfig_from_boot),%edi
+ movl $512,%ecx
+ cld
+ rep
+ movsb
+#endif /* USERCONFIG_BOOT */
+
ret
diff --git a/sys/amd64/amd64/locore.s b/sys/amd64/amd64/locore.s
index bda25dc..bcf8155 100644
--- a/sys/amd64/amd64/locore.s
+++ b/sys/amd64/amd64/locore.s
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)locore.s 7.3 (Berkeley) 5/13/91
- * $Id: locore.s,v 1.72 1996/05/27 06:51:46 phk Exp $
+ * $Id: locore.s,v 1.73 1996/07/12 06:48:55 bde Exp $
*
* originally from: locore.s, by William F. Jolitz
*
@@ -45,6 +45,7 @@
#include "apm.h"
#include "opt_ddb.h"
+#include "opt_userconfig.h"
#include <sys/errno.h>
#include <sys/syscall.h>
@@ -520,6 +521,15 @@ olddiskboot:
movl 12(%ebp),%eax
movl %eax,R(_bootdev)
+#if defined(USERCONFIG_BOOT) && defined(USERCONFIG)
+ movl $0x10200, %esi
+ movl $R(_userconfig_from_boot),%edi
+ movl $512,%ecx
+ cld
+ rep
+ movsb
+#endif /* USERCONFIG_BOOT */
+
ret
diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c
index b061346..91c33fe 100644
--- a/sys/amd64/amd64/machdep.c
+++ b/sys/amd64/amd64/machdep.c
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)machdep.c 7.4 (Berkeley) 6/3/91
- * $Id: machdep.c,v 1.205 1996/09/27 13:38:02 peter Exp $
+ * $Id: machdep.c,v 1.206 1996/09/28 22:37:33 dyson Exp $
*/
#include "npx.h"
@@ -380,6 +380,10 @@ again:
for (i = 1; i < ncallout; i++)
callout[i-1].c_next = &callout[i];
+#if defined(USERCONFIG_BOOT) && defined(USERCONFIG)
+ boothowto |= RB_CONFIG;
+#endif
+
if (boothowto & RB_CONFIG) {
#ifdef USERCONFIG
userconfig();
diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh
index 5f082c4..e7ffe1c 100644
--- a/sys/conf/newvers.sh
+++ b/sys/conf/newvers.sh
@@ -32,12 +32,12 @@
# SUCH DAMAGE.
#
# @(#)newvers.sh 8.1 (Berkeley) 4/20/94
-# $Id: newvers.sh,v 1.23 1996/07/12 11:21:57 peter Exp $
+# $Id: newvers.sh,v 1.24 1996/08/04 22:34:00 wosch Exp $
TYPE="FreeBSD"
REVISION="2.2"
BRANCH="CURRENT"
-RELEASE="${REVISION}-${BRANCH}"
+RELEASE=2.2-961004-SNAP
SNAPDATE=""
if [ "X${SNAPDATE}" != "X" ]; then
RELEASE="${RELEASE}-${SNAPDATE}"
diff --git a/sys/conf/options.i386 b/sys/conf/options.i386
index c14fff0..2369dad 100644
--- a/sys/conf/options.i386
+++ b/sys/conf/options.i386
@@ -1,4 +1,4 @@
-# $Id: options.i386,v 1.19 1996/10/01 03:00:36 pst Exp $
+# $Id: options.i386,v 1.20 1996/10/02 03:48:09 pst Exp $
BOUNCEPAGES opt_bounce.h
USER_LDT
MATH_EMULATE opt_math_emulate.h
@@ -41,3 +41,4 @@ ATAPI_STATIC opt_atapi.h
USERCONFIG opt_userconfig.h
VISUAL_USERCONFIG opt_userconfig.h
+USERCONFIG_BOOT opt_userconfig.h
diff --git a/sys/i386/conf/options.i386 b/sys/i386/conf/options.i386
index c14fff0..2369dad 100644
--- a/sys/i386/conf/options.i386
+++ b/sys/i386/conf/options.i386
@@ -1,4 +1,4 @@
-# $Id: options.i386,v 1.19 1996/10/01 03:00:36 pst Exp $
+# $Id: options.i386,v 1.20 1996/10/02 03:48:09 pst Exp $
BOUNCEPAGES opt_bounce.h
USER_LDT
MATH_EMULATE opt_math_emulate.h
@@ -41,3 +41,4 @@ ATAPI_STATIC opt_atapi.h
USERCONFIG opt_userconfig.h
VISUAL_USERCONFIG opt_userconfig.h
+USERCONFIG_BOOT opt_userconfig.h
diff --git a/sys/i386/i386/locore.s b/sys/i386/i386/locore.s
index bda25dc..bcf8155 100644
--- a/sys/i386/i386/locore.s
+++ b/sys/i386/i386/locore.s
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)locore.s 7.3 (Berkeley) 5/13/91
- * $Id: locore.s,v 1.72 1996/05/27 06:51:46 phk Exp $
+ * $Id: locore.s,v 1.73 1996/07/12 06:48:55 bde Exp $
*
* originally from: locore.s, by William F. Jolitz
*
@@ -45,6 +45,7 @@
#include "apm.h"
#include "opt_ddb.h"
+#include "opt_userconfig.h"
#include <sys/errno.h>
#include <sys/syscall.h>
@@ -520,6 +521,15 @@ olddiskboot:
movl 12(%ebp),%eax
movl %eax,R(_bootdev)
+#if defined(USERCONFIG_BOOT) && defined(USERCONFIG)
+ movl $0x10200, %esi
+ movl $R(_userconfig_from_boot),%edi
+ movl $512,%ecx
+ cld
+ rep
+ movsb
+#endif /* USERCONFIG_BOOT */
+
ret
diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c
index b061346..91c33fe 100644
--- a/sys/i386/i386/machdep.c
+++ b/sys/i386/i386/machdep.c
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)machdep.c 7.4 (Berkeley) 6/3/91
- * $Id: machdep.c,v 1.205 1996/09/27 13:38:02 peter Exp $
+ * $Id: machdep.c,v 1.206 1996/09/28 22:37:33 dyson Exp $
*/
#include "npx.h"
@@ -380,6 +380,10 @@ again:
for (i = 1; i < ncallout; i++)
callout[i-1].c_next = &callout[i];
+#if defined(USERCONFIG_BOOT) && defined(USERCONFIG)
+ boothowto |= RB_CONFIG;
+#endif
+
if (boothowto & RB_CONFIG) {
#ifdef USERCONFIG
userconfig();
diff --git a/sys/i386/i386/userconfig.c b/sys/i386/i386/userconfig.c
index c034c41..bb9f8f0 100644
--- a/sys/i386/i386/userconfig.c
+++ b/sys/i386/i386/userconfig.c
@@ -46,7 +46,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: userconfig.c,v 1.51 1996/10/03 01:22:22 jkh Exp $
+ ** $Id: userconfig.c,v 1.52 1996/10/03 07:51:40 jkh Exp $
**/
/**
@@ -121,8 +121,32 @@
static struct isa_device *isa_devlist; /* list read by dset to extract changes */
-#define putchar(x) cnputc(x)
+
+#ifdef USERCONFIG_BOOT
+char userconfig_from_boot[512] = "";
+char *next = userconfig_from_boot;
+int
+getchar(x)
+{
+ if (next == userconfig_from_boot) {
+ if (strncmp(next, "USERCONFIG\n", 11)) {
+ next++;
+ strcpy(next, "quit\n");
+ } else {
+ next += 11;
+ }
+ }
+ if (*next) {
+ return (*next++);
+ } else {
+ return cngetc();
+ }
+}
+#else /* !USERCONFIG_BOOT */
#define getchar() cngetc()
+#endif /* USERCONFIG_BOOT */
+
+#define putchar(x) cnputc(x)
#ifdef VISUAL_USERCONFIG
static struct isa_device *devtabs[] = { isa_devtab_bio, isa_devtab_tty, isa_devtab_net,
@@ -2187,7 +2211,7 @@ visuserconfig(void)
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: userconfig.c,v 1.51 1996/10/03 01:22:22 jkh Exp $
+ * $Id: userconfig.c,v 1.52 1996/10/03 07:51:40 jkh Exp $
*/
#include "scbus.h"
@@ -2241,6 +2265,7 @@ static int set_device_enable(CmdParm *);
static int set_device_disable(CmdParm *);
static int quitfunc(CmdParm *);
static int helpfunc(CmdParm *);
+static int introfunc(CmdParm *);
static int lineno;
@@ -2269,6 +2294,7 @@ static Cmd CmdList[] = {
{ "ex", quitfunc, NULL }, /* exit (quit) */
{ "f", set_device_flags, int_parms }, /* flags dev mask */
{ "h", helpfunc, NULL }, /* help */
+ { "intro", introfunc, NULL }, /* intro screen */
{ "iom", set_device_mem, addr_parms }, /* iomem dev addr */
{ "ios", set_device_iosize, int_parms }, /* iosize dev size */
{ "ir", set_device_irq, int_parms }, /* irq dev # */
@@ -2292,7 +2318,7 @@ userconfig(void)
int rval;
Cmd *cmd;
- printf("\nFreeBSD Kernel Configuration Utility - Version 1.0\n"
+ printf("\nFreeBSD Kernel Configuration Utility - Version 1.1\n"
" Type \"help\" for help"
#ifdef VISUAL_USERCONFIG
" or \"visual\" to go to the visual\n"
@@ -2527,6 +2553,41 @@ helpfunc(CmdParm *parms)
return 0;
}
+static void
+center(int y, char *str)
+{
+ putxy((80 - strlen(str)) / 2, y, str);
+}
+
+static int
+introfunc(CmdParm *parms)
+{
+ int y = 3;
+
+ clear();
+ center(y, "!iKernel Configuration Editor!n");
+ y += 2;
+ putxy(2, y++, "In this next screen, you will be shown a full list of all the device");
+ putxy(2, y++, "drivers which are available in this copy of the OS kernel. This is");
+ putxy(2, y++, "!inot!n a list of devices which you necessarily have, simply those");
+ putxy(2, y++, "which this kernel is capable of supporting.");
+ ++y;
+ putxy(2, y++, "You should go through each device category and delete all entries");
+ putxy(2, y++, "(using the DELETE key) for devices that you do not have. This is an");
+ putxy(2, y++, "important step since it minimizes the chance of conflicts and also");
+ putxy(2, y++, "makes the kernel boot faster since there's no time wasted in trying to");
+ putxy(2, y++, "detect non-existant hardware. If you see an entry for a device which you");
+ putxy(2, y++, "you !ido!n have and it's not a PCI device (which will be auto-configured),");
+ putxy(2, y++, "be sure that its configuration parameters match your actual hardware.");
+ putxy(2, y++, "To edit a device's configuration, simply press ENTER while over it.");
+ putxy(2, y++, "Once you are satisfied with your device configuration, press Q to");
+ putxy(2, y++, "proceed with the booting process.");
+ ++y;
+ center(y, "!iPress a key to continue!n");
+ cngetc();
+ return 0;
+}
+
static int
lsdevtab(struct isa_device *dt)
{
diff --git a/usr.sbin/sade/Makefile b/usr.sbin/sade/Makefile
index 3ec6943..7105795 100644
--- a/usr.sbin/sade/Makefile
+++ b/usr.sbin/sade/Makefile
@@ -1,6 +1,6 @@
PROG= sysinstall
NOMAN= yes
-CLEANFILES+= makedevs.c rtermcap dumpnlist kern-nlist.h
+CLEANFILES+= makedevs.c rtermcap dumpnlist
.PATH: ${.CURDIR}/../disklabel ${.CURDIR}/../../usr.bin/cksum
@@ -22,7 +22,7 @@ DPADD= ${LIBDIALOG} ${LIBNCURSES} ${LIBMYTINFO} ${LIBUTIL} ${LIBDISK}
LDADD= -ldialog -lncurses -lmytinfo -lutil -ldisk
-makedevs.c: Makefile rtermcap dumpnlist
+makedevs.c: Makefile rtermcap
rm -f makedevs.tmp
echo '#include <sys/types.h>' > makedevs.tmp
./rtermcap cons25 | \
@@ -47,11 +47,6 @@ makedevs.c: Makefile rtermcap dumpnlist
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/install.c b/usr.sbin/sade/install.c
index 83f762f..88ec852 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.127 1996/10/04 13:33:43 jkh Exp $
+ * $Id: install.c,v 1.128 1996/10/04 14:53:50 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -920,14 +920,12 @@ save_userconfig_to_kernel(char *kern)
struct list *c_isa, *c_dev, *b_dev;
int i, d;
- core = uc_open("-incore");
- if (core < 0) {
+ if ((core = uc_open("-incore")) == NULL) {
msgDebug("Can't read in-core information for kernel.\n");
return;
}
- boot = uc_open(kern);
- if (boot < 0) {
+ if ((boot = uc_open(kern)) == NULL) {
msgDebug("Can't read device information for kernel image %s\n", kern);
return;
}
diff --git a/usr.sbin/sysinstall/Makefile b/usr.sbin/sysinstall/Makefile
index 3ec6943..7105795 100644
--- a/usr.sbin/sysinstall/Makefile
+++ b/usr.sbin/sysinstall/Makefile
@@ -1,6 +1,6 @@
PROG= sysinstall
NOMAN= yes
-CLEANFILES+= makedevs.c rtermcap dumpnlist kern-nlist.h
+CLEANFILES+= makedevs.c rtermcap dumpnlist
.PATH: ${.CURDIR}/../disklabel ${.CURDIR}/../../usr.bin/cksum
@@ -22,7 +22,7 @@ DPADD= ${LIBDIALOG} ${LIBNCURSES} ${LIBMYTINFO} ${LIBUTIL} ${LIBDISK}
LDADD= -ldialog -lncurses -lmytinfo -lutil -ldisk
-makedevs.c: Makefile rtermcap dumpnlist
+makedevs.c: Makefile rtermcap
rm -f makedevs.tmp
echo '#include <sys/types.h>' > makedevs.tmp
./rtermcap cons25 | \
@@ -47,11 +47,6 @@ makedevs.c: Makefile rtermcap dumpnlist
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/install.c b/usr.sbin/sysinstall/install.c
index 83f762f..88ec852 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.127 1996/10/04 13:33:43 jkh Exp $
+ * $Id: install.c,v 1.128 1996/10/04 14:53:50 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@@ -920,14 +920,12 @@ save_userconfig_to_kernel(char *kern)
struct list *c_isa, *c_dev, *b_dev;
int i, d;
- core = uc_open("-incore");
- if (core < 0) {
+ if ((core = uc_open("-incore")) == NULL) {
msgDebug("Can't read in-core information for kernel.\n");
return;
}
- boot = uc_open(kern);
- if (boot < 0) {
+ if ((boot = uc_open(kern)) == NULL) {
msgDebug("Can't read device information for kernel image %s\n", kern);
return;
}
OpenPOWER on IntegriCloud