11722Sjkh
21722SjkhCRUNCH 0.2 README				6/14/94
31722Sjkh
41722SjkhCrunch is available via anonymous ftp to ftp.cs.umd.edu in
51722Sjkh		pub/bsd/crunch-0.2.tar.gz
61722Sjkh
71722Sjkh
81722SjkhWHAT'S NEW IN 0.2
91722Sjkh
101722Sjkh* The prototype awk script has been replaced by a more capable and
111722Sjkh  hopefully more robust C program.
121722Sjkh* No fragile template makefiles or dependencies on the details of the
131722Sjkh  bsd build environment.
141722Sjkh* You can build crunched binaries even with no sources on-line, you
151722Sjkh  just need the .o files.  Crunchgen still will try to figure out as
161722Sjkh  much as possible on its own, but you can override its guessing by
171722Sjkh  specifying the list of .o files explicitly.
181722Sjkh* Crunch itself has been bmake'd and some man pages written, so it
191722Sjkh  should be ready to install.
201722Sjkh
211722Sjkh
221722SjkhINTRODUCTION
231722Sjkh
241722SjkhCrunch is a little package that helps create "crunched" binaries for use
251722Sjkhon boot, install, and fixit floppies.  A crunched binary in this case is
261722Sjkhone where many programs have been linked together into one a.out file.
271722SjkhThe different programs are run depending on the value of argv[0], so
281722Sjkhhard links to the crunched binary suffice to simulate a perfectly normal
291722Sjkhsystem.
301722Sjkh
311722SjkhAs an example, I have created an 980K crunched "fixit" binary containing
321722Sjkhthe following programs in their entirety:
331722Sjkh
341722Sjkh	cat chmod cp date dd df echo ed expr hostname kill ln ls mkdir
351722Sjkh	mt mv pwd rcp rm rmdir sh sleep stty sync test [ badsect chown
361722Sjkh	clri disklabel dump rdump dmesg fdisk fsck halt ifconfig init
371722Sjkh	mknod mount newfs ping reboot restore rrestore swapon umount
381722Sjkh	ftp rsh sed telnet rlogin vi cpio gzip gunzip gzcat
391722Sjkh
401722SjkhNote carefully: vi, cpio, gzip, ed, sed, dump/restore, some networking
411722Sjkhutilities, and the disk management utilities, all in a binary small
421722Sjkhenough to fit on a 1.2 MB root filesystem floppy (albeit with the kernel
431722Sjkhon its own boot floppy).  A more reasonable subset can be made to fit
441722Sjkheasily with a kernel for a decent one-disk fixit filesystem.
451722Sjkh
461722SjkhThe linking together of different programs by hand is an old
471722Sjkhspace-saving technique.  Crunch automates the process by building the
481722Sjkhnecessary stub files and makefile for you (via the crunchgen program),
491722Sjkhand by doctoring the symbol tables of the component .o files to allow
501722Sjkhthem to link without "symbol multiply defined" conflicts (via the
511722Sjkhcrunchide program).
521722Sjkh
531722Sjkh
541722SjkhBUILDING CRUNCH
551722Sjkh
561722SjkhJust type make, then make install.
571722Sjkh
581722SjkhCrunch was written and tested under NetBSD/i386, but should work under
591722Sjkhother PC BSD systems that use GNU ld.
601722Sjkh
611722SjkhThe crunchgen(1) and crunchide(1) man pages have more details on using
621722Sjkhcrunch, and the examples subdirectory contains some working .conf files
631722Sjkhand a sample Makefile.
641722Sjkh
651722SjkhCREDITS
661722Sjkh
671722SjkhThanks to the NetBSD team for a consistently high quality effort in
681722Sjkhbringing together a solid, state of the art development environment.
691722Sjkh
701722SjkhThanks to the FreeBSD guys; Rod Grimes, Nate Williams and Jordan
711722SjkhHubbard; and to Bruce Evans, for immediate and detailed feedback on
721722Sjkhcrunch 0.1, and for pressing me to make the prototype more useable.
731722Sjkh
741722SjkhCrunch was written for the Maruti Hard Real-Time Operating System
751722Sjkhproject at the University of Maryland, to help make for better install
761722Sjkhand recovery procedures for our NetBSD-based development environment. It
771722Sjkhis copyright (c) 1994 by the University of Maryland under a UCB-style
781722Sjkhfreely- redistributable notice.  See the file COPYRIGHT for details.
791722Sjkh
801722SjkhPlease let me know of any problems or of enhancements you make to this
811722Sjkhpackage.  I'm particularly interested in the details of what you found
821722Sjkhwas good to put on your fixit or install disks.  Thanks!
831722Sjkh
841722SjkhShare and Enjoy,
851722SjkhJaime
861722Sjkh............................................................................
871722Sjkh: Stand on my shoulders, : jds@cs.umd.edu  :                  James da Silva
881722Sjkh: not on my toes.        : uunet!mimsy!jds : http://www.cs.umd.edu/users/jds
89