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