These are the TODO items for the next LFS release (3.0): * When installing Glibc in chapter 6 we are only missing two files: pt_chown and mtrace. See if we can find the cause of these missing. * Rewrite all of the mailinglist info (book and website) and give more information how you can set to things like digest, digest2, vacation and other useful modes. * Move the explanations in MAKEDEV's installation to the "Command * explanation" section (also move from chap6 to chap5) * Unmount $LFS/proc when done with chapter 7 * Check out alternative findutils patch in * http://download.linuxfromscratch.org/misc/findutils-4.1.alternative-patch * Check to see if the man pages from the ld.so package also come with the man-pages package. * Incorporate LFS FAQ in the book * In console-tools-0.2.3/doc/man, there are more files ending in *.in that need to be renamed and copied to /usr/share/man. But before we copy any files we should modify them first and change the @datadir@ occurances in those files to it's proper location (/usr/share IIRC) * Work on intel/preface/whoread.sgml and change the working to make it flow and sound nicer. Use http://download.linuxfromscratch.org/misc/whoread-draft.txt as a base (this is a draft by Oren Byer, based on an earlier draft by Gerard Beekmans). * After entering chroot check the $TERM variable and set it properly if needed * 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. * 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). * 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 and the patch to the 'patch' package at: http://download.linuxfromscratch.org/misc/ppc-patch.patch * 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. * Transform SGML DocBook into XML DocBook