LFS/README.txt
created Sat Apr 13 00:45:23 CEST 2002 by Yann Guidon (whygee@f-cpu.org)

This directory is the root directory for Whygee's Linux Factory System,
a sort of automated LFS ("Linux From Scratch") adapted to Whygee's
domestic needs.

It should contain all you need for building a LFS system image
with much less pain and efforts than a normal (manual) LFS but
previous use of LFS is necessary to understand what happens here.

You can find the doc at src/YGLFS-BOOK.txt, please read it completely
before starting (i know it's long but absolutely necessary).

Before you start, know your glibc version and verify the integrity
of the archive and the source tree (you can mount root_XXX to
another partion but mount once at a time).

This "pseudo-distro" contains other directories :
 - root_base/, root_chmod/ etc. contain the generated system images
   at different points (they are generated by the main scripts
   if they are absent)
 - src/lfs-commands/ contains all the little scripts from the LFS book
   but be warned : some of them are a bit modified, either to update
   them or to split them (some parts are duplicated because they
   have to deal with different glibc versions, but can't be executed
   as is, i had to split and rename some of them). If you see that a
   file has since been modified, please update it carefully (if needed).
 - src/uname-trick/ contains a small kernel module that makes your computer
   look like another one, for example if you want to compile 586 code
   on a 686 platform. Very useful and simple.
 - tmp/ contains the unpacked source archives: they are all unpacked,
   configured, compiled and erased there, one by one (so only one
   archive is open at a time to spare HDD room). It also contains
   some "flag" files to indicate if and where an error
   occured, and the output of the last tar commands (so the computer knows
   they have already been executed). This means that you can restart
   the compilation of a package without re-untaring the source.
   It's useful when you deal with glibc, gcc or the linux source tree,
   an error has occured during the configuration and you don't have
   to repack the sources before you restart the damn machinery.
   This directory is erased completely after a package has been
   installed, this flushes both the sources and the temporary flags.
 - log/ contains the output of the commands, makefiles etc., so everybody
   knows what sources have been completed and if/how/why/where something
   failed. There's an error file/flag that indicates which source package
   to re-process and other persistent informations (it's not erased
   like the tmp directory).
 - finally, src/pkgs/ contains all the sourcec packages, either in
   gzip or bzip2 tar'ed format.

The scripts are :
General :
  - time_all.sh : builds LFS chapters 4, 5 and 6 and logs the messages
    to time.output.txt. It call the other scripts in the correct order.
    It can be restarted because the called scripts are restartable.
    This is the user's entry point.
Common files :
  - message_functions : pretty-print messages and logs them when possible.
  - install_functions : performs the archive unpack, command execution etc.
Base :
  - clean_base.sh : wipe the logs, tmp and root_base
  - make_base.sh : run the build of the base (the big part)
Chroot :
  - enter_chroot.sh : enters in chroot'ed environment and run
    the second step of the build.
  - under_chroot.sh : called by enter_chroot.sh, performs the rest of chapter 6.
  - build_glibc.sh : separate ("clean") script to compile glibc.
    If it's done in the main script with a the other functions, it fails.
  - log_chroot.sh : simply logs into the chrooted environment for
    administration/manual tasks.

For other informations, read the docs and the scripts' comments.

Have fun and be careful,
YG
