diff options
author | gordon <gordon@FreeBSD.org> | 2003-06-29 18:35:37 +0000 |
---|---|---|
committer | gordon <gordon@FreeBSD.org> | 2003-06-29 18:35:37 +0000 |
commit | 9beb6458f555f771d27552db74510cbe89a6ea38 (patch) | |
tree | 0754f4a5c813bf14e8452456b036099cbbec48c5 /rescue/README | |
parent | 040430fc2ed1d135a2c65f1768d48eb7e4df625a (diff) | |
download | FreeBSD-src-9beb6458f555f771d27552db74510cbe89a6ea38.zip FreeBSD-src-9beb6458f555f771d27552db74510cbe89a6ea38.tar.gz |
Add /rescue bits. This basically encompasses all of bin and sbin along
with a couple of bits from usr.bin in a crunchgen'd binary.
Submitted by: Tim Kientzle <kientzle@acm.org>
Diffstat (limited to 'rescue/README')
-rw-r--r-- | rescue/README | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/rescue/README b/rescue/README new file mode 100644 index 0000000..3a8cb46 --- /dev/null +++ b/rescue/README @@ -0,0 +1,44 @@ +The /rescue build system here has three goals: + +1) Produce a reliable standalone set of /rescue tools. + +The contents of /rescue are all statically linked and do not depend on +anything in /bin or /sbin. In particular, they'll continue to +function even if you've hosed your dynamic /bin and /sbin. For +example, note that /rescue/mount runs /rescue/mount_nfs and not +/sbin/mount_nfs. This is more subtle than it looks. + +As an added bonus, /rescue is fairly small (thanks to crunchgen) and +includes a number of tools (such as gzip, bzip2, vi) that are not +normally found in /bin and /sbin. + +2) Demonstrate robust use of crunchgen. + +These Makefiles recompile each of the crunchgen components and include +support for overriding specific library entries. Such techniques +should be useful elsewhere. For example, boot floppies could use this +to conditionally compile out features to reduce executable size. + +3) Produce a toolkit suitable for small distributions. + +Install /rescue on a CD or CompactFlash disk, and symlink /bin and +/sbin to /rescue to produce a small and fairly complete FreeBSD +system. + +These tools have one big disadvantage: being statically linked, they +cannot use some advanced library functions that rely on dynamic +linking. In particular, nsswitch, locales, and pam are likely to all +rely on dynamic linking in the near future. + + +To compile: + +# cd /usr/src/rescue +# make obj +# make +# make install + +Note that rebuilds don't always work correctly; if you run into +trouble, try 'make clean' before recompiling. + +$FreeBSD$ |