README 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. The /rescue build system here has three goals:
  2. 1) Produce a reliable standalone set of /rescue tools.
  3. The contents of /rescue are all statically linked and do not depend on
  4. anything in /bin or /sbin. In particular, they'll continue to
  5. function even if you've hosed your dynamic /bin and /sbin. For
  6. example, note that /rescue/mount runs /rescue/mount_nfs and not
  7. /sbin/mount_nfs. This is more subtle than it looks.
  8. As an added bonus, /rescue is fairly small (thanks to crunchgen) and
  9. includes a number of tools (such as gzip, bzip2, vi) that are not
  10. normally found in /bin and /sbin.
  11. 2) Demonstrate robust use of crunchgen.
  12. These Makefiles recompile each of the crunchgen components and include
  13. support for overriding specific library entries. Such techniques
  14. should be useful elsewhere.
  15. 3) Produce a toolkit suitable for small distributions.
  16. Install /rescue on a CD or CompactFlash disk, and symlink /bin and
  17. /sbin to /rescue to produce a small and fairly complete FreeBSD
  18. system.
  19. These tools have one big disadvantage: being statically linked, they
  20. cannot use some advanced library functions that rely on dynamic
  21. linking. In particular, nsswitch, locales, and pam all
  22. rely on dynamic linking.
  23. To compile:
  24. # cd /usr/src/rescue
  25. # make obj
  26. # make
  27. # make install
  28. Note that rebuilds don't always work correctly; if you run into
  29. trouble, try 'make clean' before recompiling.