Home | History | Annotate | only in /src/usr.bin/crunch
Up to higher level directory
NameDateSize
COPYRIGHT02-Aug-19971.3K
crunchgen/05-Feb-2024
crunchide/09-Nov-2022
examples/24-May-2023
Makefile02-Aug-1997112
Makefile.inc18-Oct-1997153
README02-Aug-19973.8K

README

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