Several improvements to the `fixit' configuration:

. Don't gzip the crunched binary by now; it just fits, and execution is
  a lot faster this way (it's truly demand-paged again).

. Add more(1), ft(8), protocols(5), a stripped down services(5).

. Improve the .profile, and make sysinstall actually use it again.

Still no go for a 4 MB configuration though. :-(
This commit is contained in:
Joerg Wunsch 1996-11-09 16:25:47 +00:00
parent 501d86efdd
commit 518c7f2a9a
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=19571
8 changed files with 174 additions and 37 deletions

View File

@ -1,4 +1,4 @@
# $Id: Makefile,v 1.250 1996/11/07 14:50:28 joerg Exp $
# $Id: Makefile,v 1.251 1996/11/08 19:09:45 jkh Exp $
#
# How to roll a release:
#
@ -41,8 +41,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= 1200
BOOTMFSSIZE= 1250
MFSINODE= 42000
FIXITINODE= 28000
# Things which will get you into trouble if you change them
DISTRIBUTIONS= bin ${EXTRA_DISTS}
@ -414,14 +415,16 @@ release.9:
cd ${RD}/fixitfd && \
mkdir dev stand bin sbin etc mnt mnt1 mnt2 mnt3 mnt4 tmp
@cd ${.CURDIR} && $(MAKE) installCRUNCH CRUNCH=fixit \
DIR=${RD}/fixitfd/stand ZIP=true
DIR=${RD}/fixitfd/stand ZIP=false
( cd ${RD}/fixitfd/dev && \
cp ${RD}/trees/bin/dev/MAKEDEV . && \
sh MAKEDEV all )
cp ${RD}/trees/bin/etc/spwd.db ${RD}/fixitfd/etc
cp ${RD}/trees/bin/etc/spwd.db ${RD}/trees/bin/etc/group \
${RD}/trees/bin/etc/protocols ${RD}/fixitfd/etc
cp ${.CURDIR}/fixit.profile ${RD}/fixitfd/.profile
cp ${.CURDIR}/fixit.services ${RD}/fixitfd/etc/services
sh -e ${.CURDIR}/doFS.sh ${RD} ${MNT} ${FDSIZE} ${RD}/fixitfd \
10000 ${FDLABEL}
${FIXITINODE} ${FDLABEL}
mv fs-image ${RD}/floppies/fixit.flp
touch release.9

View File

@ -1,4 +1,4 @@
# $Id: fixit_crunch.conf,v 1.8.2.1 1996/11/06 22:48:03 joerg Exp $
# $Id: fixit_crunch.conf,v 1.9 1996/11/09 12:08:57 joerg 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.
@ -20,10 +20,11 @@ ln test [
# /sbin stuff
progs badsect chown clri disklabel dump dmesg fdisk
progs badsect chown clri disklabel dump dmesg fdisk ft
progs mknod mount newfs ping reboot restore scsi swapon umount
progs mount_msdos mount_cd9660 mount_nfs
ln dump rdump
ln restore rrestore
ln newfs mount_mfs
@ -31,7 +32,7 @@ ln chown chgrp
# /usr/bin stuff
progs ftp rsh sed telnet rlogin vi find grep
progs ftp more rsh sed telnet rlogin vi find grep
ln vi view
ln vi ex

View File

@ -1,15 +1,30 @@
:
# $Id$
PATH=/stand
BLOCKSIZE=K
PS1="Fixit# "
# $Id: fixit.profile,v 1.1 1995/03/15 06:14:19 phk Exp $
echo '+---------------------------------------------------+'
echo '| You are now running from a FreeBSD "fixit" floppy |'
echo '+---------------------------------------------------+'
export BLOCKSIZE=K
export PS1="Fixit# "
export EDITOR="/mnt2/stand/vi"
export PAGER="/mnt2/stand/more"
alias ls="ls -F"
alias ll="ls -l"
alias m="more -e"
echo '+---------------------------------------------------------------+'
echo '| You are now running from a FreeBSD "fixit" floppy. |'
echo '| ------------------------------------------------------------- |'
echo "| When you're finished with this shell, please type exit. |"
echo '| The fixit floppy itself is mounted as /mnt2. |'
echo '| |'
echo '| You might want to symlink /mnt/etc/*pwd.db and /mnt/etc/group |'
echo '| to /etc after mounting a root filesystem from your disk. |'
echo '| tar(1) will not restore all permissions correctly otherwise! |'
echo '+---------------------------------------------------------------+'
echo
echo 'Good Luck!'
echo
export PATH BLOCKSIZE PS1
# Make the arrow keys work; everybody will love this.
set -o emacs 2>/dev/null
cd /

108
release/fixit.services Normal file
View File

@ -0,0 +1,108 @@
#
# Network services, Internet style
#
# Stripped-down version.
#
# $Id$
#
# WELL KNOWN PORT NUMBERS
#
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users #Active Users
systat 11/udp users #Active Users
daytime 13/tcp
daytime 13/udp
chargen 19/tcp ttytst source #Character Generator
chargen 19/udp ttytst source #Character Generator
ftp-data 20/tcp #File Transfer [Default Data]
ftp-data 20/udp #File Transfer [Default Data]
ftp 21/tcp #File Transfer [Control]
ftp 21/udp #File Transfer [Control]
ssh 22/tcp #Secure Shell Login
ssh 22/udp #Secure Shell Login
telnet 23/tcp
telnet 23/udp
# 24/tcp any private mail system
# 24/udp any private mail system
smtp 25/tcp mail #Simple Mail Transfer
smtp 25/udp mail #Simple Mail Transfer
time 37/tcp timserver
time 37/udp timserver
domain 53/tcp #Domain Name Server
domain 53/udp #Domain Name Server
bootps 67/tcp dhcps #Bootstrap Protocol Server
bootps 67/udp dhcps #Bootstrap Protocol Server
bootpc 68/tcp dhcpc #Bootstrap Protocol Client
bootpc 68/udp dhcpc #Bootstrap Protocol Client
tftp 69/tcp #Trivial File Transfer
tftp 69/udp #Trivial File Transfer
gopher 70/tcp
gopher 70/udp
finger 79/tcp
finger 79/udp
http 80/tcp www www-http #World Wide Web HTTP
http 80/udp www www-http #World Wide Web HTTP
sunrpc 111/tcp rpcbind #SUN Remote Procedure Call
sunrpc 111/udp rpcbind #SUN Remote Procedure Call
auth 113/tcp ident tap #Authentication Service
auth 113/udp ident tap #Authentication Service
nntp 119/tcp usenet #Network News Transfer Protocol
nntp 119/udp usenet #Network News Transfer Protocol
rmt 411/tcp #Remote MT Protocol
rmt 411/udp #Remote MT Protocol
https 443/tcp
https 443/udp
#
# Berkeley-specific services
#
exec 512/tcp #remote process execution;
# authentication performed using
# passwords and UNIX loppgin names
biff 512/udp comsat #used by mail system to notify users
# of new mail received; currently
# receives messages only from
# processes on the same machine
login 513/tcp #remote login a la telnet;
# automatic authentication performed
# based on priviledged port numbers
# and distributed data bases which
# identify "authentication domains"
who 513/udp whod #maintains data bases showing who's
# logged in to machines on a local
# net and the load average of the
# machine
cmd 514/tcp shell #like exec, but automatic
# authentication is performed as for
# login server
syslog 514/udp
printer 515/tcp spooler
printer 515/udp spooler
talk 517/tcp #like tenex link, but across
# machine - unfortunately, doesn't
# use link protocol (this is actually
# just a rendezvous port from which a
# tcp connection is established)
talk 517/udp #like tenex link, but across
# machine - unfortunately, doesn't
# use link protocol (this is actually
# just a rendezvous port from which a
# tcp connection is established)
ntalk 518/tcp
ntalk 518/udp
utime 519/tcp unixtime
utime 519/udp unixtime
efs 520/tcp #extended file name server
router 520/udp route routed #local routing process (on site);
# uses variant of Xerox NS routing
# information protocol
uucp 540/tcp uucpd
uucp 540/udp uucpd
uucp-rlogin 541/tcp
uucp-rlogin 541/udp
klogin 543/tcp # Kerberos (v4/v5)
klogin 543/udp # Kerberos (v4/v5)
kshell 544/tcp krcmd # Kerberos (v4/v5)
kshell 544/udp krcmd # Kerberos (v4/v5)

View File

@ -1,4 +1,4 @@
# $Id: fixit_crunch.conf,v 1.8.2.1 1996/11/06 22:48:03 joerg Exp $
# $Id: fixit_crunch.conf,v 1.9 1996/11/09 12:08:57 joerg 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.
@ -20,10 +20,11 @@ ln test [
# /sbin stuff
progs badsect chown clri disklabel dump dmesg fdisk
progs badsect chown clri disklabel dump dmesg fdisk ft
progs mknod mount newfs ping reboot restore scsi swapon umount
progs mount_msdos mount_cd9660 mount_nfs
ln dump rdump
ln restore rrestore
ln newfs mount_mfs
@ -31,7 +32,7 @@ ln chown chgrp
# /usr/bin stuff
progs ftp rsh sed telnet rlogin vi find grep
progs ftp more rsh sed telnet rlogin vi find grep
ln vi view
ln vi ex

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.137 1996/11/08 05:38:27 jkh Exp $
* $Id: install.c,v 1.138 1996/11/09 11:57:40 joerg Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -285,11 +285,13 @@ installFixitFloppy(dialogMenuItem *self)
"be essentially usable.");
}
}
/* Link the spwd.db file */
/* Link the /etc/ files */
if (DITEM_STATUS(Mkdir("/etc")) != DITEM_SUCCESS)
msgConfirm("Unable to create an /etc directory! Things are weird on this floppy..");
else if (symlink("/mnt2/etc/spwd.db", "/etc/spwd.db") == -1 && errno != EEXIST)
msgConfirm("Couldn't symlink the /etc/spwd.db file! I'm not sure I like this..");
else if ((symlink("/mnt2/etc/spwd.db", "/etc/spwd.db") == -1 && errno != EEXIST) ||
(symlink("/mnt2/etc/protocols", "/etc/protocols") == -1 && errno != EEXIST) ||
(symlink("/mnt2/etc/services", "/etc/services") == -1 && errno != EEXIST))
msgConfirm("Couldn't symlink the /etc/ files! I'm not sure I like this..");
if (!file_readable(TERMCAP_FILE))
create_termcap();
if (!(child = fork())) {
@ -303,9 +305,10 @@ installFixitFloppy(dialogMenuItem *self)
}
else
msgDebug("fixit shell: Unable to get terminal attributes!\n");
printf("When you're finished with this shell, please type exit.\n");
printf("The fixit floppy itself is mounted as /mnt2\n");
setenv("PATH", "/bin:/sbin:/usr/bin:/usr/sbin:/stand:/mnt2/stand", 1);
/* use the .profile from the fixit floppy */
setenv("HOME", "/mnt2", 1);
chdir("/mnt2");
execlp("sh", "-sh", 0);
msgDebug("fixit shell: Failed to execute shell!\n");
return -1;

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.137 1996/11/08 05:38:27 jkh Exp $
* $Id: install.c,v 1.138 1996/11/09 11:57:40 joerg Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -285,11 +285,13 @@ installFixitFloppy(dialogMenuItem *self)
"be essentially usable.");
}
}
/* Link the spwd.db file */
/* Link the /etc/ files */
if (DITEM_STATUS(Mkdir("/etc")) != DITEM_SUCCESS)
msgConfirm("Unable to create an /etc directory! Things are weird on this floppy..");
else if (symlink("/mnt2/etc/spwd.db", "/etc/spwd.db") == -1 && errno != EEXIST)
msgConfirm("Couldn't symlink the /etc/spwd.db file! I'm not sure I like this..");
else if ((symlink("/mnt2/etc/spwd.db", "/etc/spwd.db") == -1 && errno != EEXIST) ||
(symlink("/mnt2/etc/protocols", "/etc/protocols") == -1 && errno != EEXIST) ||
(symlink("/mnt2/etc/services", "/etc/services") == -1 && errno != EEXIST))
msgConfirm("Couldn't symlink the /etc/ files! I'm not sure I like this..");
if (!file_readable(TERMCAP_FILE))
create_termcap();
if (!(child = fork())) {
@ -303,9 +305,10 @@ installFixitFloppy(dialogMenuItem *self)
}
else
msgDebug("fixit shell: Unable to get terminal attributes!\n");
printf("When you're finished with this shell, please type exit.\n");
printf("The fixit floppy itself is mounted as /mnt2\n");
setenv("PATH", "/bin:/sbin:/usr/bin:/usr/sbin:/stand:/mnt2/stand", 1);
/* use the .profile from the fixit floppy */
setenv("HOME", "/mnt2", 1);
chdir("/mnt2");
execlp("sh", "-sh", 0);
msgDebug("fixit shell: Failed to execute shell!\n");
return -1;

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.137 1996/11/08 05:38:27 jkh Exp $
* $Id: install.c,v 1.138 1996/11/09 11:57:40 joerg Exp $
*
* Copyright (c) 1995
* Jordan Hubbard. All rights reserved.
@ -285,11 +285,13 @@ installFixitFloppy(dialogMenuItem *self)
"be essentially usable.");
}
}
/* Link the spwd.db file */
/* Link the /etc/ files */
if (DITEM_STATUS(Mkdir("/etc")) != DITEM_SUCCESS)
msgConfirm("Unable to create an /etc directory! Things are weird on this floppy..");
else if (symlink("/mnt2/etc/spwd.db", "/etc/spwd.db") == -1 && errno != EEXIST)
msgConfirm("Couldn't symlink the /etc/spwd.db file! I'm not sure I like this..");
else if ((symlink("/mnt2/etc/spwd.db", "/etc/spwd.db") == -1 && errno != EEXIST) ||
(symlink("/mnt2/etc/protocols", "/etc/protocols") == -1 && errno != EEXIST) ||
(symlink("/mnt2/etc/services", "/etc/services") == -1 && errno != EEXIST))
msgConfirm("Couldn't symlink the /etc/ files! I'm not sure I like this..");
if (!file_readable(TERMCAP_FILE))
create_termcap();
if (!(child = fork())) {
@ -303,9 +305,10 @@ installFixitFloppy(dialogMenuItem *self)
}
else
msgDebug("fixit shell: Unable to get terminal attributes!\n");
printf("When you're finished with this shell, please type exit.\n");
printf("The fixit floppy itself is mounted as /mnt2\n");
setenv("PATH", "/bin:/sbin:/usr/bin:/usr/sbin:/stand:/mnt2/stand", 1);
/* use the .profile from the fixit floppy */
setenv("HOME", "/mnt2", 1);
chdir("/mnt2");
execlp("sh", "-sh", 0);
msgDebug("fixit shell: Failed to execute shell!\n");
return -1;