11.2Sperry$NetBSD: README,v 1.2 1997/08/02 21:30:08 perry Exp $
21.1Scgd
31.1ScgdCRUNCH 0.3 README				7/23/94
41.1Scgd
51.1ScgdCrunch is available via anonymous ftp to ftp.cs.umd.edu in
61.1Scgd		pub/bsd/crunch-0.3.tar.gz
71.1Scgd
81.1ScgdWHAT'S NEW IN 0.3
91.1Scgd
101.1Scgd* The prototype awk script has been replaced by a more capable and
111.1Scgd  hopefully more robust C program.
121.1Scgd* No fragile template makefiles or dependencies on the details of the
131.1Scgd  bsd build environment.
141.1Scgd* You can build crunched binaries even with no sources on-line, you
151.1Scgd  just need the .o files.  Crunchgen still will try to figure out as
161.1Scgd  much as possible on its own, but you can override its guessing by
171.1Scgd  specifying the list of .o files explicitly.
181.1Scgd* Crunch itself has been bmake'd and some man pages written, so it
191.1Scgd  should be ready to install.
201.1Scgd* Added patch for FreeBSD from Jordan Hubbard, plus the .conf files used
211.1Scgd  for the FreeBSD install floppies as examples.
221.1Scgd
231.1Scgd
241.1ScgdINTRODUCTION
251.1Scgd
261.1ScgdCrunch is a little package that helps create "crunched" binaries for use
271.1Scgdon boot, install, and fixit floppies.  A crunched binary in this case is
281.1Scgdone where many programs have been linked together into one a.out file.
291.1ScgdThe different programs are run depending on the value of argv[0], so
301.1Scgdhard links to the crunched binary suffice to simulate a perfectly normal
311.1Scgdsystem.
321.1Scgd
331.1ScgdAs an example, I have created an 980K crunched "fixit" binary containing
341.1Scgdthe following programs in their entirety:
351.1Scgd
361.1Scgd	cat chmod cp date dd df echo ed expr hostname kill ln ls mkdir
371.1Scgd	mt mv pwd rcp rm rmdir sh sleep stty sync test [ badsect chown
381.1Scgd	clri disklabel dump rdump dmesg fdisk fsck halt ifconfig init
391.1Scgd	mknod mount newfs ping reboot restore rrestore swapon umount
401.1Scgd	ftp rsh sed telnet rlogin vi cpio gzip gunzip gzcat
411.1Scgd
421.1ScgdNote carefully: vi, cpio, gzip, ed, sed, dump/restore, some networking
431.1Scgdutilities, and the disk management utilities, all in a binary small
441.1Scgdenough to fit on a 1.2 MB root filesystem floppy (albeit with the kernel
451.1Scgdon its own boot floppy).  A more reasonable subset can be made to fit
461.1Scgdeasily with a kernel for a decent one-disk fixit filesystem.
471.1Scgd
481.1ScgdThe linking together of different programs by hand is an old
491.1Scgdspace-saving technique.  Crunch automates the process by building the
501.1Scgdnecessary stub files and makefile for you (via the crunchgen program),
511.1Scgdand by doctoring the symbol tables of the component .o files to allow
521.1Scgdthem to link without "symbol multiply defined" conflicts (via the
531.1Scgdcrunchide program).
541.1Scgd
551.1Scgd
561.1ScgdBUILDING CRUNCH
571.1Scgd
581.1ScgdJust type make, then make install.
591.1Scgd
601.1ScgdCrunch was written and tested under NetBSD/i386, but should work under
611.1Scgdother PC BSD systems that use GNU ld.
621.1Scgd
631.1ScgdThe crunchgen(1) and crunchide(1) man pages have more details on using
641.1Scgdcrunch, and the examples subdirectory contains some working .conf files
651.1Scgdand a sample Makefile.
661.1Scgd
671.1ScgdCREDITS
681.1Scgd
691.1ScgdThanks to the NetBSD team for a consistently high quality effort in
701.1Scgdbringing together a solid, state of the art development environment.
711.1Scgd
721.1ScgdThanks to the FreeBSD guys; Rod Grimes, Nate Williams and Jordan
731.1ScgdHubbard; and to Bruce Evans, for immediate and detailed feedback on
741.1Scgdcrunch 0.1, and for pressing me to make the prototype more useable.
751.1Scgd
761.1ScgdCrunch was written for the Maruti Hard Real-Time Operating System
771.1Scgdproject at the University of Maryland, to help make for better install
781.1Scgdand recovery procedures for our NetBSD-based development environment. It
791.1Scgdis copyright (c) 1994 by the University of Maryland under a UCB-style
801.1Scgdfreely- redistributable notice.  See the file COPYRIGHT for details.
811.1Scgd
821.1ScgdPlease let me know of any problems or of enhancements you make to this
831.1Scgdpackage.  I'm particularly interested in the details of what you found
841.1Scgdwas good to put on your fixit or install disks.  Thanks!
851.1Scgd
861.1ScgdShare and Enjoy,
871.1ScgdJaime
881.1Scgd............................................................................
891.1Scgd: Stand on my shoulders, : jds@cs.umd.edu  :                  James da Silva
901.1Scgd: not on my toes.        : uunet!mimsy!jds : http://www.cs.umd.edu/users/jds
911.2Sperry
92