Home | History | Annotate | Line # | Download | only in crunch
README revision 1.1
      1  1.1  cgd 
      2  1.1  cgd CRUNCH 0.3 README				7/23/94
      3  1.1  cgd 
      4  1.1  cgd Crunch is available via anonymous ftp to ftp.cs.umd.edu in
      5  1.1  cgd 		pub/bsd/crunch-0.3.tar.gz
      6  1.1  cgd 
      7  1.1  cgd WHAT'S NEW IN 0.3
      8  1.1  cgd 
      9  1.1  cgd * The prototype awk script has been replaced by a more capable and
     10  1.1  cgd   hopefully more robust C program.
     11  1.1  cgd * No fragile template makefiles or dependencies on the details of the
     12  1.1  cgd   bsd build environment.
     13  1.1  cgd * You can build crunched binaries even with no sources on-line, you
     14  1.1  cgd   just need the .o files.  Crunchgen still will try to figure out as
     15  1.1  cgd   much as possible on its own, but you can override its guessing by
     16  1.1  cgd   specifying the list of .o files explicitly.
     17  1.1  cgd * Crunch itself has been bmake'd and some man pages written, so it
     18  1.1  cgd   should be ready to install.
     19  1.1  cgd * Added patch for FreeBSD from Jordan Hubbard, plus the .conf files used
     20  1.1  cgd   for the FreeBSD install floppies as examples.
     21  1.1  cgd 
     22  1.1  cgd 
     23  1.1  cgd INTRODUCTION
     24  1.1  cgd 
     25  1.1  cgd Crunch is a little package that helps create "crunched" binaries for use
     26  1.1  cgd on boot, install, and fixit floppies.  A crunched binary in this case is
     27  1.1  cgd one where many programs have been linked together into one a.out file.
     28  1.1  cgd The different programs are run depending on the value of argv[0], so
     29  1.1  cgd hard links to the crunched binary suffice to simulate a perfectly normal
     30  1.1  cgd system.
     31  1.1  cgd 
     32  1.1  cgd As an example, I have created an 980K crunched "fixit" binary containing
     33  1.1  cgd the following programs in their entirety:
     34  1.1  cgd 
     35  1.1  cgd 	cat chmod cp date dd df echo ed expr hostname kill ln ls mkdir
     36  1.1  cgd 	mt mv pwd rcp rm rmdir sh sleep stty sync test [ badsect chown
     37  1.1  cgd 	clri disklabel dump rdump dmesg fdisk fsck halt ifconfig init
     38  1.1  cgd 	mknod mount newfs ping reboot restore rrestore swapon umount
     39  1.1  cgd 	ftp rsh sed telnet rlogin vi cpio gzip gunzip gzcat
     40  1.1  cgd 
     41  1.1  cgd Note carefully: vi, cpio, gzip, ed, sed, dump/restore, some networking
     42  1.1  cgd utilities, and the disk management utilities, all in a binary small
     43  1.1  cgd enough to fit on a 1.2 MB root filesystem floppy (albeit with the kernel
     44  1.1  cgd on its own boot floppy).  A more reasonable subset can be made to fit
     45  1.1  cgd easily with a kernel for a decent one-disk fixit filesystem.
     46  1.1  cgd 
     47  1.1  cgd The linking together of different programs by hand is an old
     48  1.1  cgd space-saving technique.  Crunch automates the process by building the
     49  1.1  cgd necessary stub files and makefile for you (via the crunchgen program),
     50  1.1  cgd and by doctoring the symbol tables of the component .o files to allow
     51  1.1  cgd them to link without "symbol multiply defined" conflicts (via the
     52  1.1  cgd crunchide program).
     53  1.1  cgd 
     54  1.1  cgd 
     55  1.1  cgd BUILDING CRUNCH
     56  1.1  cgd 
     57  1.1  cgd Just type make, then make install.
     58  1.1  cgd 
     59  1.1  cgd Crunch was written and tested under NetBSD/i386, but should work under
     60  1.1  cgd other PC BSD systems that use GNU ld.
     61  1.1  cgd 
     62  1.1  cgd The crunchgen(1) and crunchide(1) man pages have more details on using
     63  1.1  cgd crunch, and the examples subdirectory contains some working .conf files
     64  1.1  cgd and a sample Makefile.
     65  1.1  cgd 
     66  1.1  cgd CREDITS
     67  1.1  cgd 
     68  1.1  cgd Thanks to the NetBSD team for a consistently high quality effort in
     69  1.1  cgd bringing together a solid, state of the art development environment.
     70  1.1  cgd 
     71  1.1  cgd Thanks to the FreeBSD guys; Rod Grimes, Nate Williams and Jordan
     72  1.1  cgd Hubbard; and to Bruce Evans, for immediate and detailed feedback on
     73  1.1  cgd crunch 0.1, and for pressing me to make the prototype more useable.
     74  1.1  cgd 
     75  1.1  cgd Crunch was written for the Maruti Hard Real-Time Operating System
     76  1.1  cgd project at the University of Maryland, to help make for better install
     77  1.1  cgd and recovery procedures for our NetBSD-based development environment. It
     78  1.1  cgd is copyright (c) 1994 by the University of Maryland under a UCB-style
     79  1.1  cgd freely- redistributable notice.  See the file COPYRIGHT for details.
     80  1.1  cgd 
     81  1.1  cgd Please let me know of any problems or of enhancements you make to this
     82  1.1  cgd package.  I'm particularly interested in the details of what you found
     83  1.1  cgd was good to put on your fixit or install disks.  Thanks!
     84  1.1  cgd 
     85  1.1  cgd Share and Enjoy,
     86  1.1  cgd Jaime
     87  1.1  cgd ............................................................................
     88  1.1  cgd : Stand on my shoulders, : jds (a] cs.umd.edu  :                  James da Silva
     89  1.1  cgd : not on my toes.        : uunet!mimsy!jds : http://www.cs.umd.edu/users/jds
     90