Xref: utzoo unix-pc.sources:531 comp.sys.att:10050 Path: utzoo!utgpu!watserv1!watmath!att!icus!lenny From: lenny@icus.ICUS.COM (Lenny Tropiano) Newsgroups: unix-pc.sources,comp.sys.att Subject: Create a Floppy UNIX kernel, 3.51m with the tape driver preloaded Keywords: kernel objects, recompile, tape driver (tp), backups, restorals Message-ID: <1222@icus.ICUS.COM> Date: 23 Jul 90 03:19:17 GMT Organization: ICUS Software Systems, Islip, New York Lines: 200 #! /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 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 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@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 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 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 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