Create a Floppy UNIX kernel, 3.51m with the tape driver preloaded

Lenny Tropiano lenny at icus.ICUS.COM
Mon Jul 23 13:19:17 AEST 1990


#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of shell archive."
# Contents:  README.funix floppyunix.mk conf.c.patch init.h.patch
# Wrapped by lenny at icus on Sun Jul 22 23:17:43 1990
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f README.funix -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"README.funix\"
else
echo shar: Extracting \"README.funix\" \(1689 characters\)
sed "s/^X//" >README.funix <<'END_OF_README.funix'
X
XThis shar file, in addition to the kernel object files (kern.cpio.Z), and
Xconf.shar (by Mark Dapoz) will help those who want to create a 3.51m
Xfloppy UNIX that has the tape driver (floppy tape) compiled in, and 
Xinitialized.
X
XBasically included here are:
X
X-rw-r--r--   1 lenny    icus         1689 Jul 22 23:16 README.funix
X-rw-r--r--   1 lenny    icus          421 Jul 22 23:07 floppyunix.mk
X-rw-r--r--   1 lenny    icus         1855 Jul 22 23:03 conf.c.patch
X-rw-r--r--   1 lenny    icus          496 Jul 22 23:08 init.h.patch
X
XPatch <sys/init.h> with init.h.patch, and patch Mark's conf.c with 
Xconf.c.patch.
X
XThen type:
X
X# make -f floppyunix.mk
X
XIt will create a, stripped kernel that when booted will have the tape
Xdriver loaded and usable:
X
X-rwxr-xr-x   1 root     root       144852 Jul 22 21:18 fpUNIX3.51m.tp
X
XCopy this kernel to a floppy:
X
X# fdfmt10.sl				# format a floppy with the silent loader
X# mount /dev/fp021 /mnt			# mount the floppy
X# cp fpUNIX3.51m.tp /mnt		# copy the unix to the floppy
X# ln /mnt/fpUNIX3.51m.tp /mnt/unix	# link it to unix
X# dismount -f
X
XThe tape driver is at major number 9, so you need to do this on the
Xfloppy filesystem:
X
X# fpcp					# copy the floppy filesystem, disk 3 
X
X# mount /dev/fp021 /mnt
X# cp /etc/fsck /mnt/etc
X# mknod /mnt/dev/rft0 c 9 0
X# mknod /mnt/dev/rft3 c 9 3
X# dismount -f
X
XFor those who want to create a floppy unix boot, and floppy filesystem
Xpair, for tape backup recovery, this will help.  
X
X| Lenny Tropiano           ICUS Software Systems        lenny at icus.ICUS.COM |
X| {ames,pacbell,decuac,sbcs,hombre,rayssd}!icus!lenny   attmail!icus!lenny  |
X+------ ICUS Software Systems --  PO Box 1;  Islip Terrace, NY  11752 ------+
END_OF_README.funix
if test 1689 -ne `wc -c <README.funix`; then
    echo shar: \"README.funix\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f floppyunix.mk -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"floppyunix.mk\"
else
echo shar: Extracting \"floppyunix.mk\" \(424 characters\)
sed "s/^X//" >floppyunix.mk <<'END_OF_floppyunix.mk'
X#sccs	"@(#)uts/kern:Makefile	1.0"
X
X# workaround for System V make bug
XSHELL	= /bin/sh
XCOPTS	= -O
XCFLAGS 	= $(COPTS) -DFLOPPY_UNIX -DFLOPPY_TAPE
XLIBS	= lib1 lib2 lib3 lib4 
XTAPE	= tp.o
X
Xall:	fpUNIX3.51m.tp
X
XfpUNIX3.51m.tp: $(LIBS) $(TAPE) conf.o id.o linesw.o locore.o low.o name.o
X	$(LD) -s -x -N cf/ifile.0407 -o fpUNIX3.51m.tp low.o locore.o conf.o \
X		linesw.o $(LIBS) $(TAPE) name.o id.o
X
X$(TAPE):
X	cp /etc/lddrv/tp.o .
END_OF_floppyunix.mk
if test 424 -ne `wc -c <floppyunix.mk`; then
    echo shar: \"floppyunix.mk\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f conf.c.patch -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"conf.c.patch\"
else
echo shar: Extracting \"conf.c.patch\" \(1855 characters\)
sed "s/^X//" >conf.c.patch <<'END_OF_conf.c.patch'
X*** ../conf.c	Sun Jul 22 23:01:36 1990
X--- conf.c	Sun Jul 22 23:03:46 1990
X***************
X*** 38,45 ****
X--- 38,52 ----
X  #undef	NOSTREAMS			/* streams are supported */
X  #undef	SLAN_0				/* ...but no network card */
X  #define	NSWBUF		12
X+ 
X+ #ifdef FLOPPY_UNIX
X+ #define	ROOTDEV		33		/* device minor number of root filesys*/
X+ #define	PIPEDEV		33		/* device minor number of pipe device */
X+ #else
X  #define	ROOTDEV		2		/* device minor number of root filesys*/
X  #define	PIPEDEV		2		/* device minor number of pipe device */
X+ #endif
X+ 
X  #define	SWAPDEV		1		/* device minor number of swapping dev*/
X  #define	NSWAP		8000		/* size of swap space (in 1K blocks) */
X  
X***************
X*** 123,128 ****
X--- 130,137 ----
X  extern lpopen(), lpclose(), lpwrite(), lpioctl();
X  		/* on board modem handler */
X  extern phopen(), phclose(), phread(), phwrite(), phioctl();
X+ 		/* floppy tape handler */
X+ extern tpopen(), tpclose(), tpread(), tpwrite(), tpioctl();
X  
X  #define	NCDEVSW	24	/* number of entries in following table */
X  
X***************
X*** 136,142 ****
X  	{	lpopen, lpclose, nodev, lpwrite, lpioctl, NULL, NULL},
X  	{	nodev, nodev, nodev, nodev, nodev, NULL, NULL},
X  	{	phopen, phclose, phread, phwrite, phioctl, NULL, NULL},
X! 	{	nodev, nodev, nodev, nodev, nodev, NULL, NULL},
X  	{	nodev, nodev, nodev, nodev, nodev, NULL, NULL},
X  	{	nodev, nodev, nodev, nodev, nodev, NULL, NULL},
X  	{	nodev, nodev, nodev, nodev, nodev, NULL, NULL},
X--- 145,151 ----
X  	{	lpopen, lpclose, nodev, lpwrite, lpioctl, NULL, NULL},
X  	{	nodev, nodev, nodev, nodev, nodev, NULL, NULL},
X  	{	phopen, phclose, phread, phwrite, phioctl, NULL, NULL},
X! 	{	tpopen, tpclose, tpread, tpwrite, tpioctl, NULL, NULL},
X  	{	nodev, nodev, nodev, nodev, nodev, NULL, NULL},
X  	{	nodev, nodev, nodev, nodev, nodev, NULL, NULL},
X  	{	nodev, nodev, nodev, nodev, nodev, NULL, NULL},
END_OF_conf.c.patch
if test 1855 -ne `wc -c <conf.c.patch`; then
    echo shar: \"conf.c.patch\" unpacked with wrong size!
fi
# end of overwriting check
fi
if test -f init.h.patch -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"init.h.patch\"
else
echo shar: Extracting \"init.h.patch\" \(496 characters\)
sed "s/^X//" >init.h.patch <<'END_OF_init.h.patch'
X*** /usr/include/sys/init.h	Sun Jul 22 23:08:04 1990
X--- init.h	Sun Jul 22 23:07:43 1990
X***************
X*** 34,39 ****
X--- 34,42 ----
X  #endif	
X  #endif STAR_0
X  #endif NOSTREAMS
X+ #ifdef FLOPPY_TAPE
X+ 	extern tpinit ();
X+ #endif
X  
X  /*	Array containing the addresses of the various initializing	*/
X  /*	routines executed by "main" at boot time.			*/
X***************
X*** 77,81 ****
X--- 80,87 ----
X  #endif	
X  #endif STAR_0
X  #endif NOSTREAMS
X+ #ifdef FLOPPY_TAPE
X+ 	tpinit,
X+ #endif 
X  	0
X  };
END_OF_init.h.patch
if test 496 -ne `wc -c <init.h.patch`; then
    echo shar: \"init.h.patch\" unpacked with wrong size!
fi
# end of overwriting check
fi
echo shar: End of shell archive.
exit 0
-- 
| Lenny Tropiano           ICUS Software Systems        lenny at icus.ICUS.COM |
| {ames,pacbell,decuac,sbcs,hombre,rayssd}!icus!lenny   attmail!icus!lenny  |
+------ ICUS Software Systems --  PO Box 1;  Islip Terrace, NY  11752 ------+



More information about the Comp.sys.att mailing list