The root floppy is now gone.  I shall not mourn its passing.
Everything we need is on boot.flp or the bindist.
This commit is contained in:
Jordan K. Hubbard 1996-05-29 01:35:33 +00:00
parent e413a1d50e
commit b53e8a34e6
21 changed files with 59 additions and 394 deletions

View File

@ -1,4 +1,4 @@
# $Id: Makefile,v 1.214 1996/05/02 08:18:28 jkh Exp $
# $Id: Makefile,v 1.215 1996/05/16 03:20:52 jkh Exp $
#
# How to roll a release:
#
@ -56,7 +56,7 @@ FD= ${RELEASEDIR}/ftp
CD= ${RELEASEDIR}/cdrom
.if !defined(WHICH_CRUNCH)
WHICH_CRUNCH= boot root fixit
WHICH_CRUNCH= boot fixit
.endif
rerelease release:
@ -119,7 +119,7 @@ whap:
sed "s/__RELEASE/${BUILDNAME}/" version.h > version.h.new && mv version.h.new version.h )
clean:
rm -rf root_crunch boot_crunch release.[0-9] release.1[0]
rm -rf boot_crunch release.[0-9] release.1[0]
# Clean out ${RELEASEDIR} and make the directory structure.
release.1:
@ -368,6 +368,8 @@ release.8: write_mfs_in_kernel
# add more stuff for the complete bootfd
tar --exclude CVS -cf - -C ${.CURDIR}/sysinstall help | \
tar xvf - -C ${RD}/mfsfd/stand
cp ${.CURDIR}/sysinstall/power.uu ${RD}/mfsfd/stand && \
cd ${RD}/mfsfd/stand && uudecode power.uu && rm power.uu
sh -e ${.CURDIR}/doFS.sh ${RD} ${MNT} ${BOOTMFSSIZE} ${RD}/mfsfd \
${MFSINODE} minimum
mv fs-image fs-image.std
@ -379,33 +381,10 @@ release.8: write_mfs_in_kernel
#rm -rf ${.CURDIR}/../sys/compile/BOOTMFS
touch release.8
#
# --==## Create a root floppy ##==--
#
release.9:
@cd ${.CURDIR} && $(MAKE) ckRELEASEDIR
rm -rf ${RD}/rootfd
mkdir ${RD}/rootfd
cd ${RD}/rootfd && \
mkdir stand stand/info
@cd ${.CURDIR} && $(MAKE) installCRUNCH CRUNCH=root \
DIR=${RD}/rootfd/stand ZIP=false
tar --exclude CVS -cf - -C ${RD} info | tar xvf - -C ${RD}/rootfd/stand
tar -cf - -C ${RD}/trees/bin/dev MAKEDEV | \
tar xvf - -C ${RD}/rootfd/stand
cp ${.CURDIR}/sysinstall/power.uu ${RD}/rootfd/stand && \
cd ${RD}/rootfd/stand && uudecode power.uu && rm power.uu
cd ${RD}/rootfd && \
( rm -f OK && find . -print && touch OK && echo OK ) | \
cpio -H newc -oa | gzip -9 -c | \
dd conv=osync > ${RD}/floppies/root.tmp
mv ${RD}/floppies/root.tmp ${RD}/floppies/root.flp
touch release.9
#
# --==## Create a fixit floppy ##==--
#
release.10:
release.9:
@cd ${.CURDIR} && $(MAKE) ckRELEASEDIR
rm -rf ${RD}/fixitfd
mkdir ${RD}/fixitfd
@ -421,7 +400,7 @@ release.10:
sh -e ${.CURDIR}/doFS.sh ${RD} ${MNT} ${FDSIZE} ${RD}/fixitfd \
10000 ${FDLABEL}
mv fs-image ${RD}/floppies/fixit.flp
touch release.10
touch release.9
#
# --==## Setup a suitable ftp-area ##==--
@ -471,17 +450,16 @@ doTARBALL:
${ZIPNSPLIT} ${RD}/dists/${TD}/$$tn. && \
cd ${RD}/info && \
mkdir -p ${TD} && \
sh ${.CURDIR}/info.sh ${RD}/dists/${TD}/$$tn > ${TD}/$$tn.inf \
sh ${.CURDIR}/info.sh ${RD}/dists/${TD}/$$tn > ${RD}/dists/${TD}/$$tn.inf \
)
doRELEASE: release.1 release.2 release.3 release.4 release.5 release.6 \
release.7 release.8 release.9 release.10
release.7 release.8 release.9
cd ${.CURDIR} && ${MAKE} cdrom.1 ftp.1
@echo "Release done"
floppies:
cd ${.CURDIR} && ${MAKE} boot.flp
cd ${.CURDIR} && ${MAKE} root.flp
cd ${.CURDIR} && ${MAKE} fixit.flp
cd ${RD} && find floppies -print | cpio -dumpl ${FD}
@ -489,13 +467,9 @@ boot.flp:
rm -f release.4 release.8
cd ${.CURDIR} && ${MAKE} release.4 release.8 WHICH_CRUNCH=boot
root.flp:
rm -f release.4 release.9
cd ${.CURDIR} && ${MAKE} release.4 release.9 WHICH_CRUNCH=root
fixit.flp:
rm -f release.4 release.10
cd ${.CURDIR} && ${MAKE} release.4 release.10 WHICH_CRUNCH=fixit
rm -f release.4 release.9
cd ${.CURDIR} && ${MAKE} release.4 release.9 WHICH_CRUNCH=fixit
write_mfs_in_kernel: ${.CURDIR}/write_mfs_in_kernel.c
${CC} ${CFLAGS} -o write_mfs_in_kernel ${.CURDIR}/write_mfs_in_kernel.c

View File

@ -1,6 +1,6 @@
# $Id: Makefile,v 1.214 1996/05/02 08:18:28 jkh Exp $
# $Id: Makefile,v 1.1 1996/05/21 01:12:20 julian Exp $
#
SUBDIR= boot root fixit
SUBDIR= boot fixit
PROG=write_mfs_in_kernel
NOMAN=yes

View File

@ -1,6 +0,0 @@
###
# $Id: Makefile,v 1.214 1996/05/02 08:18:28 jkh Exp $
#
SUBDIR= crunch image
.include <bsd.subdir.mk>

View File

@ -1,2 +0,0 @@
.include "../../makecrunch.mk"

View File

@ -1,38 +0,0 @@
# $Id: root_crunch.conf,v 1.6 1995/12/07 10:33:15 peter Exp $
# first, we list the source dirs that our programs reside in. These are
# searched in order listed to find the dir containing each program.
srcdirs /usr/src/gnu/usr.bin
srcdirs /usr/src/bin
srcdirs /usr/src/sbin/i386
srcdirs /usr/src/sbin
srcdirs /usr/src/usr.bin
srcdirs /usr/src/usr.sbin
# second, we list all the programs we want to include in our crunched binary.
# The order doesn't matter. Any program that needs hard links to it gets an
# `ln' directive.
# /bin stuff
progs ls cat df ee chmod cksum cp date dd echo ed expr grep hostname kill ln
progs mkdir mt mv rcp rm rmdir sleep stty sync test ft
ln test [
# /sbin stuff
progs badsect basename chown clri disklabel dmesg dump dmesg fdisk ft
progs getopt init mknod mount mount_cd9660 mount_msdos mount_nfs
progs ping reboot restore swapon umount
ln dump rdump
ln restore rrestore
ln reboot halt
# /usr/bin stuff
progs tar ftp rsh sed telnet rlogin
# finally, we specify the libraries to link in with our binary
libs -lcrypt -ltelnet -lutil -ll -ledit
libs -lgnuregex -lreadline -lncurses -lmytinfo -lkvm

View File

@ -1,16 +0,0 @@
###
# $Id: Makefile,v 1.214 1996/05/02 08:18:28 jkh Exp $
#
# What are we if we weren't told..
CRUNCH?= root
CRUNCHDIRS= ../crunch
TOP=${.CURDIR}/../../../..
FS_BIN=${.CURDIR}/../..
# the directories you want on the fs
FS_DIRS= dev stand bin sbin etc mnt mnt1 mnt2 mnt3 mnt4 tmp
# a subdir that contains a verbatim image to be copied to the fs
#VERBATIM= ../verbatim
.include "../../crunch_fs.mk"
all: fs_image

View File

@ -1,35 +0,0 @@
# $Id: root_crunch.conf,v 1.5.2.3 1995/10/05 09:31:38 jkh Exp $
# first, we list the source dirs that our programs reside in. These are
# searched in order listed to find the dir containing each program.
srcdirs /usr/src/gnu/usr.bin
srcdirs /usr/src/bin /usr/src/sbin /usr/src/sbin/i386 /usr/src/usr.bin
srcdirs /usr/src/usr.sbin
# second, we list all the programs we want to include in our crunched binary.
# The order doesn't matter. Any program that needs hard links to it gets an
# `ln' directive.
# /bin stuff
progs ls cat df ee chmod cksum cp date dd echo ed expr grep hostname kill ln
progs mkdir mt mv rcp rm rmdir sleep stty sync test ft
ln test [
# /sbin stuff
progs badsect basename chown clri disklabel dmesg dump dmesg fdisk ft
progs getopt init mknod mount mount_cd9660 mount_msdos mount_nfs
progs ping reboot restore swapon umount
ln dump rdump
ln restore rrestore
ln reboot halt
# /usr/bin stuff
progs tar ftp rsh sed telnet rlogin
# finally, we specify the libraries to link in with our binary
libs -lcrypt -ltelnet -lutil -ll -ledit
libs -lgnuregex -lreadline -lncurses -lmytinfo -lkvm

View File

@ -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.31 1996/05/16 11:47:26 jkh Exp $
* $Id: config.c,v 1.32 1996/05/23 16:34:24 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -432,6 +432,7 @@ configPackages(dialogMenuItem *self)
msgNotify("Attempting to fetch packages/INDEX file from selected media.");
fd = mediaDevice->get(mediaDevice, "packages/INDEX", TRUE);
if (fd < 0) {
dialog_clear();
msgConfirm("Unable to get packages/INDEX file from selected media.\n"
"This may be because the packages collection is not available at\n"
"on the distribution media you've chosen (most likely an FTP site\n"
@ -439,7 +440,7 @@ configPackages(dialogMenuItem *self)
"(or path to media) and try again. If your local site does not\n"
"carry the packages collection, then we recommend either a CD\n"
"distribution or the master distribution on ftp.freebsd.org.");
return DITEM_FAILURE;
return DITEM_FAILURE | DITEM_RESTORE;
}
msgNotify("Got INDEX successfully, now building packages menu..");
index_init(&top, &plist);

View File

@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
* $Id: dist.c,v 1.53 1996/05/23 16:34:25 jkh Exp $
* $Id: dist.c,v 1.54 1996/05/28 23:31:20 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -359,12 +359,13 @@ distExtract(char *parent, Distribution *me)
dist_attr = NULL;
numchunks = 0;
snprintf(buf, sizeof buf, "/stand/info/%s/%s.inf", path, dist);
if (file_readable(buf)) {
snprintf(buf, sizeof buf, "%s/%s.inf", path, dist);
fd = mediaDevice->get(mediaDevice, buf, TRUE);
if (fd >= 0) {
if (isDebug())
msgDebug("Parsing attributes file for distribution %s\n", dist);
dist_attr = safe_malloc(sizeof(Attribs) * MAX_ATTRIBS);
if (DITEM_STATUS(attr_parse_file(dist_attr, buf)) == DITEM_FAILURE)
if (DITEM_STATUS(attr_parse(dist_attr, fd)) == DITEM_FAILURE)
msgConfirm("Cannot load information file for %s distribution!\n"
"Please verify that your media is valid and try again.", dist);
else {
@ -375,8 +376,13 @@ distExtract(char *parent, Distribution *me)
numchunks = strtol(tmp, 0, 0);
}
safe_free(dist_attr);
mediaDevice->close(mediaDevice, fd);
}
else if (fd == -2) { /* Hard error, can't continue */
mediaDevice->shutdown(mediaDevice);
status = FALSE;
goto done;
}
if (!numchunks)
continue;
@ -519,6 +525,7 @@ distExtractAll(dialogMenuItem *self)
distExtract(NULL, DistTable);
if (Dists) {
buf[0] = '\0';
printSelected(buf, Dists, DistTable);
dialog_clear();
msgConfirm("Couldn't extract the following distributions. This may\n"

View File

@ -157,15 +157,6 @@ If you must install from floppy disks, either due to unsupported
hardware or just because you enjoy doing things the hard way, you must
first prepare some floppies for the install.
The first floppy you'll need in addition to the boot.flp image is
``floppies/root.flp'', which is somewhat special in that it's not a
DOS filesystem floppy at all, but rather a floppy "image" (it's
actually a gzip'd cpio file). You can create this floppy in the same
way that you created the boot floppy (see notes in section 2.1). Once
this floppy is made, you can go on to make the distribution set
floppies using ordinary DOS or UFS (if you're preparing the floppies
on another FreeBSD machine) formatted diskettes.
You will need, at minimum, as many 1.44MB or 1.2MB floppies as it
takes to hold all files in the bin (binary distribution) directory.
If you're preparing these floppies under DOS, then THESE floppies
@ -211,12 +202,9 @@ this:
C> MD C:\FREEBSD
C> XCOPY /S E:\DISTS\BIN C:\FREEBSD\BIN
C> XCOPY /S E:\FLOPPIES C:\FREEBSD\FLOPPIES
Asssuming that `C:' was where you had free space and `E:' was where
your CD was mounted. Note that you need the FLOPPIES directory
because the `root.flp' image is automatically looked for there when
you're doing a DOS installation.
your CD was mounted.
For as many `DISTS' as you wish to install from DOS (and you have free
space for), install each one in a directory under `C:\FREEBSD' - the
@ -232,11 +220,7 @@ all of the files for the distributions you're interested in, simply
tar them onto the tape with a command like:
cd /where/you/have/your/dists
tar cvf /dev/rwt0 (or /dev/rst0) floppies dist1 .. dist2
It's important to make sure that the `floppies/' directory is
specified along with the dists because the installation will look for
`floppies/root.flp' on the tape.
tar cvf /dev/rwt0 (or /dev/rst0) dist1 .. dist2
When you go to do the installation, you should also make sure that you
leave enough room in some temporary directory (which you'll be allowed

View File

@ -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.96 1996/05/02 10:09:45 jkh Exp $
* $Id: install.c,v 1.97 1996/05/16 11:47:30 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -455,7 +455,7 @@ installNovice(dialogMenuItem *self)
configPorts(self);
}
if (!msgYesNo("The FreeBSD package collection is a collection of over 300 ready-to-run\n"
if (!msgYesNo("The FreeBSD package collection is a collection of over 450 ready-to-run\n"
"applications, from text editors to games to WEB servers. Would you like\n"
"to browse the collection now?"))
configPackages(self);
@ -522,11 +522,6 @@ installCommit(dialogMenuItem *self)
return i;
if (DITEM_STATUS((i = configFstab())) == DITEM_FAILURE)
return i;
if (!rootExtract()) {
msgConfirm("Failed to load the ROOT distribution. Please correct\n"
"this problem and try again.");
return DITEM_FAILURE;
}
}
i = distExtractAll(self);
@ -827,67 +822,6 @@ copySelf(void)
return TRUE;
}
static Boolean loop_on_root_floppy(void);
Boolean
rootExtract(void)
{
int fd;
static Boolean alreadyExtracted = FALSE;
if (alreadyExtracted)
return TRUE;
if (mediaDevice) {
if (isDebug())
msgDebug("Attempting to extract root image from %s\n", mediaDevice->name);
switch(mediaDevice->type) {
case DEVICE_TYPE_FLOPPY:
alreadyExtracted = loop_on_root_floppy();
break;
default:
if (!mediaDevice->init(mediaDevice))
break;
fd = mediaDevice->get(mediaDevice, "floppies/root.flp", FALSE);
if (fd < 0) {
msgConfirm("Couldn't get root image from %s!\n"
"Will try to get it from floppy.", mediaDevice->name);
mediaDevice->shutdown(mediaDevice);
alreadyExtracted = loop_on_root_floppy();
}
else {
msgNotify("Loading root image from:\n%s", mediaDevice->name);
alreadyExtracted = mediaExtractDist("/", fd);
mediaDevice->close(mediaDevice, fd);
}
break;
}
}
else
alreadyExtracted = loop_on_root_floppy();
return alreadyExtracted;
}
static Boolean
loop_on_root_floppy(void)
{
int fd;
int status = FALSE;
while (1) {
fd = getRootFloppy();
if (fd != -1) {
msgNotify("Extracting root floppy..");
status = mediaExtractDist("/", fd);
close(fd);
break;
}
}
return status;
}
static void
create_termcap(void)
{

View File

@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
* $Id: installUpgrade.c,v 1.24 1996/04/28 20:54:02 jkh Exp $
* $Id: installUpgrade.c,v 1.25 1996/05/16 11:47:32 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -261,12 +261,6 @@ installUpgrade(dialogMenuItem *self)
chdir("/");
systemCreateHoloshell();
if (!rootExtract()) {
msgConfirm("Failed to load the ROOT distribution. Please correct\n"
"this problem and try again (the system will now reboot).");
systemShutdown(1);
}
if (extractingBin) {
while (!saved_etc) {
saved_etc = msgGetInput("/usr/tmp/etc", "Under which directory do you wish to save your current /etc?");

View File

@ -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.55 1996/04/28 20:54:07 jkh Exp $
* $Id: sysinstall.h,v 1.56 1996/05/16 11:47:44 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -456,7 +456,6 @@ extern int installUpgrade(dialogMenuItem *self);
extern int installFilesystems(dialogMenuItem *self);
extern int installVarDefaults(dialogMenuItem *self);
extern Boolean copySelf(void);
extern Boolean rootExtract(void);
/* installFinal.c */
extern int configGated(dialogMenuItem *self);

View File

@ -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.31 1996/05/16 11:47:26 jkh Exp $
* $Id: config.c,v 1.32 1996/05/23 16:34:24 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -432,6 +432,7 @@ configPackages(dialogMenuItem *self)
msgNotify("Attempting to fetch packages/INDEX file from selected media.");
fd = mediaDevice->get(mediaDevice, "packages/INDEX", TRUE);
if (fd < 0) {
dialog_clear();
msgConfirm("Unable to get packages/INDEX file from selected media.\n"
"This may be because the packages collection is not available at\n"
"on the distribution media you've chosen (most likely an FTP site\n"
@ -439,7 +440,7 @@ configPackages(dialogMenuItem *self)
"(or path to media) and try again. If your local site does not\n"
"carry the packages collection, then we recommend either a CD\n"
"distribution or the master distribution on ftp.freebsd.org.");
return DITEM_FAILURE;
return DITEM_FAILURE | DITEM_RESTORE;
}
msgNotify("Got INDEX successfully, now building packages menu..");
index_init(&top, &plist);

View File

@ -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.96 1996/05/02 10:09:45 jkh Exp $
* $Id: install.c,v 1.97 1996/05/16 11:47:30 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -455,7 +455,7 @@ installNovice(dialogMenuItem *self)
configPorts(self);
}
if (!msgYesNo("The FreeBSD package collection is a collection of over 300 ready-to-run\n"
if (!msgYesNo("The FreeBSD package collection is a collection of over 450 ready-to-run\n"
"applications, from text editors to games to WEB servers. Would you like\n"
"to browse the collection now?"))
configPackages(self);
@ -522,11 +522,6 @@ installCommit(dialogMenuItem *self)
return i;
if (DITEM_STATUS((i = configFstab())) == DITEM_FAILURE)
return i;
if (!rootExtract()) {
msgConfirm("Failed to load the ROOT distribution. Please correct\n"
"this problem and try again.");
return DITEM_FAILURE;
}
}
i = distExtractAll(self);
@ -827,67 +822,6 @@ copySelf(void)
return TRUE;
}
static Boolean loop_on_root_floppy(void);
Boolean
rootExtract(void)
{
int fd;
static Boolean alreadyExtracted = FALSE;
if (alreadyExtracted)
return TRUE;
if (mediaDevice) {
if (isDebug())
msgDebug("Attempting to extract root image from %s\n", mediaDevice->name);
switch(mediaDevice->type) {
case DEVICE_TYPE_FLOPPY:
alreadyExtracted = loop_on_root_floppy();
break;
default:
if (!mediaDevice->init(mediaDevice))
break;
fd = mediaDevice->get(mediaDevice, "floppies/root.flp", FALSE);
if (fd < 0) {
msgConfirm("Couldn't get root image from %s!\n"
"Will try to get it from floppy.", mediaDevice->name);
mediaDevice->shutdown(mediaDevice);
alreadyExtracted = loop_on_root_floppy();
}
else {
msgNotify("Loading root image from:\n%s", mediaDevice->name);
alreadyExtracted = mediaExtractDist("/", fd);
mediaDevice->close(mediaDevice, fd);
}
break;
}
}
else
alreadyExtracted = loop_on_root_floppy();
return alreadyExtracted;
}
static Boolean
loop_on_root_floppy(void)
{
int fd;
int status = FALSE;
while (1) {
fd = getRootFloppy();
if (fd != -1) {
msgNotify("Extracting root floppy..");
status = mediaExtractDist("/", fd);
close(fd);
break;
}
}
return status;
}
static void
create_termcap(void)
{

View File

@ -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.55 1996/04/28 20:54:07 jkh Exp $
* $Id: sysinstall.h,v 1.56 1996/05/16 11:47:44 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -456,7 +456,6 @@ extern int installUpgrade(dialogMenuItem *self);
extern int installFilesystems(dialogMenuItem *self);
extern int installVarDefaults(dialogMenuItem *self);
extern Boolean copySelf(void);
extern Boolean rootExtract(void);
/* installFinal.c */
extern int configGated(dialogMenuItem *self);

View File

@ -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.31 1996/05/16 11:47:26 jkh Exp $
* $Id: config.c,v 1.32 1996/05/23 16:34:24 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -432,6 +432,7 @@ configPackages(dialogMenuItem *self)
msgNotify("Attempting to fetch packages/INDEX file from selected media.");
fd = mediaDevice->get(mediaDevice, "packages/INDEX", TRUE);
if (fd < 0) {
dialog_clear();
msgConfirm("Unable to get packages/INDEX file from selected media.\n"
"This may be because the packages collection is not available at\n"
"on the distribution media you've chosen (most likely an FTP site\n"
@ -439,7 +440,7 @@ configPackages(dialogMenuItem *self)
"(or path to media) and try again. If your local site does not\n"
"carry the packages collection, then we recommend either a CD\n"
"distribution or the master distribution on ftp.freebsd.org.");
return DITEM_FAILURE;
return DITEM_FAILURE | DITEM_RESTORE;
}
msgNotify("Got INDEX successfully, now building packages menu..");
index_init(&top, &plist);

View File

@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
* $Id: dist.c,v 1.53 1996/05/23 16:34:25 jkh Exp $
* $Id: dist.c,v 1.54 1996/05/28 23:31:20 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -359,12 +359,13 @@ distExtract(char *parent, Distribution *me)
dist_attr = NULL;
numchunks = 0;
snprintf(buf, sizeof buf, "/stand/info/%s/%s.inf", path, dist);
if (file_readable(buf)) {
snprintf(buf, sizeof buf, "%s/%s.inf", path, dist);
fd = mediaDevice->get(mediaDevice, buf, TRUE);
if (fd >= 0) {
if (isDebug())
msgDebug("Parsing attributes file for distribution %s\n", dist);
dist_attr = safe_malloc(sizeof(Attribs) * MAX_ATTRIBS);
if (DITEM_STATUS(attr_parse_file(dist_attr, buf)) == DITEM_FAILURE)
if (DITEM_STATUS(attr_parse(dist_attr, fd)) == DITEM_FAILURE)
msgConfirm("Cannot load information file for %s distribution!\n"
"Please verify that your media is valid and try again.", dist);
else {
@ -375,8 +376,13 @@ distExtract(char *parent, Distribution *me)
numchunks = strtol(tmp, 0, 0);
}
safe_free(dist_attr);
mediaDevice->close(mediaDevice, fd);
}
else if (fd == -2) { /* Hard error, can't continue */
mediaDevice->shutdown(mediaDevice);
status = FALSE;
goto done;
}
if (!numchunks)
continue;
@ -519,6 +525,7 @@ distExtractAll(dialogMenuItem *self)
distExtract(NULL, DistTable);
if (Dists) {
buf[0] = '\0';
printSelected(buf, Dists, DistTable);
dialog_clear();
msgConfirm("Couldn't extract the following distributions. This may\n"

View File

@ -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.96 1996/05/02 10:09:45 jkh Exp $
* $Id: install.c,v 1.97 1996/05/16 11:47:30 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -455,7 +455,7 @@ installNovice(dialogMenuItem *self)
configPorts(self);
}
if (!msgYesNo("The FreeBSD package collection is a collection of over 300 ready-to-run\n"
if (!msgYesNo("The FreeBSD package collection is a collection of over 450 ready-to-run\n"
"applications, from text editors to games to WEB servers. Would you like\n"
"to browse the collection now?"))
configPackages(self);
@ -522,11 +522,6 @@ installCommit(dialogMenuItem *self)
return i;
if (DITEM_STATUS((i = configFstab())) == DITEM_FAILURE)
return i;
if (!rootExtract()) {
msgConfirm("Failed to load the ROOT distribution. Please correct\n"
"this problem and try again.");
return DITEM_FAILURE;
}
}
i = distExtractAll(self);
@ -827,67 +822,6 @@ copySelf(void)
return TRUE;
}
static Boolean loop_on_root_floppy(void);
Boolean
rootExtract(void)
{
int fd;
static Boolean alreadyExtracted = FALSE;
if (alreadyExtracted)
return TRUE;
if (mediaDevice) {
if (isDebug())
msgDebug("Attempting to extract root image from %s\n", mediaDevice->name);
switch(mediaDevice->type) {
case DEVICE_TYPE_FLOPPY:
alreadyExtracted = loop_on_root_floppy();
break;
default:
if (!mediaDevice->init(mediaDevice))
break;
fd = mediaDevice->get(mediaDevice, "floppies/root.flp", FALSE);
if (fd < 0) {
msgConfirm("Couldn't get root image from %s!\n"
"Will try to get it from floppy.", mediaDevice->name);
mediaDevice->shutdown(mediaDevice);
alreadyExtracted = loop_on_root_floppy();
}
else {
msgNotify("Loading root image from:\n%s", mediaDevice->name);
alreadyExtracted = mediaExtractDist("/", fd);
mediaDevice->close(mediaDevice, fd);
}
break;
}
}
else
alreadyExtracted = loop_on_root_floppy();
return alreadyExtracted;
}
static Boolean
loop_on_root_floppy(void)
{
int fd;
int status = FALSE;
while (1) {
fd = getRootFloppy();
if (fd != -1) {
msgNotify("Extracting root floppy..");
status = mediaExtractDist("/", fd);
close(fd);
break;
}
}
return status;
}
static void
create_termcap(void)
{

View File

@ -4,7 +4,7 @@
* This is probably the last program in the `sysinstall' line - the next
* generation being essentially a complete rewrite.
*
* $Id: installUpgrade.c,v 1.24 1996/04/28 20:54:02 jkh Exp $
* $Id: installUpgrade.c,v 1.25 1996/05/16 11:47:32 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -261,12 +261,6 @@ installUpgrade(dialogMenuItem *self)
chdir("/");
systemCreateHoloshell();
if (!rootExtract()) {
msgConfirm("Failed to load the ROOT distribution. Please correct\n"
"this problem and try again (the system will now reboot).");
systemShutdown(1);
}
if (extractingBin) {
while (!saved_etc) {
saved_etc = msgGetInput("/usr/tmp/etc", "Under which directory do you wish to save your current /etc?");

View File

@ -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.55 1996/04/28 20:54:07 jkh Exp $
* $Id: sysinstall.h,v 1.56 1996/05/16 11:47:44 jkh Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -456,7 +456,6 @@ extern int installUpgrade(dialogMenuItem *self);
extern int installFilesystems(dialogMenuItem *self);
extern int installVarDefaults(dialogMenuItem *self);
extern Boolean copySelf(void);
extern Boolean rootExtract(void);
/* installFinal.c */
extern int configGated(dialogMenuItem *self);