These are the TODO items for the next LFS release (3.0): * Add dedicated package version number entities (to avoid having to make changes to 2-7 files to just change the version number of a package). * Get rid of the codes 'pp' in chapter 5 entities, 'in' in chapter 6 entities and the like with other chapters. * Re-arrange the list in chapter 3 to match the order in which packages are installed. * Find out why zoneinfo file are not installed when installing Glibc in chapter 6 * Full dependency list. This list isn't a list of "package a depends on package b" but a list like "package b depends on the files c, d and e from package f". * Bring the book up to speed with the current FHS specs. * Mention security patches that can be applied to packages. * At the end of the book suggest the user create the /etc/lfs- file and give a few reasons why the user would want such a file (example: it's easy to forget after a while which LFS version you run; it makes debugging easier for us knowing which LFS version a user is running). * Check to see if we need the configparms file when installing Glibc. Rumours have it that the --prefix=/usr we use causes slibdir=/lib and sysconfdir=/etc to be assumed. * Explain how changing runlevels works. Use the file written by Simon Perreault at http://download.linuxfromscratch.org/misc/runlevels.txt * Don't run lilo from inside chroot anymore. This causes severe problems sometimes including LILO not bootstrapping properly. * Bring back the PPC book (recreate from scratch using current intel book) using Jesse McCrosky's notes at http://download.linuxfromscratch.org/misc/ppc-notes.txt * Add descriptions what the patches do we use (like the console-tools and gzip patches) * Try out Slackware's MAKEDEV script and see if it's any better than the currently used one. A copy can be found at http://download.linuxfromscratch.org/misc/Slackware-MAKEDEV * Sed'ing the MAKEDEV script gives us hda[1-20], hdb[1-20] and so forth. Mention that all of these can't actually be used due to kernel limitations (IDE goes to 16 max for example). * Type in chapter 2 - how to install software: Last paragraph: s/There is on exception/There is one exception/ * Rewrite chapter 2 a little bit. Add that export LFS=/mnt/lfs could be added to root's .bash_profile/.bashrc (outside chroot) to make sure that between build sessions the variable is still set. * Add to chapter 2 how to use .gz files (not just .tar.gz) * Mention LFS should be installed as user root * 'init S' has been reported not to work properly. Test this. * Add netkit-base and net-tools to Appendix A. * Use /etc/HOSTNAME for setting the hostname. This is a bit more compliant with other distributions and therefore less confusing to people. * Suggest using this command to strip debug symbols after you finish chapter 6: find $LFS -type f -exec strip --strip-debug '{}' ';' * Modify the killproc function in the functions script. Right now it works roughly as follows: killl, wait 2 secs, check if pid's are gone. If not, kill with -KILL (aka -9), wait 2 secs, checkif pid's are gone. If no, print error message. Change this into: kill, don't wait 2 secs but check for pid's right away. If pid's are still there, then wait 2 seconds and kill -KILL, wait, if pid's still there, print error. Most daemons will exit immediately and the 2 second wait for every daemon slows things down unnessary.