Changelog &version; - &releasedate; Updated to: MAKEDEV-1.3 autoconf-2.52 automake-1.5 binutils-2.11.2 e2fsprogs-1.23 file-3.36 gcc-2.95.3 gettext-0.10.39 glibc-2.2.4 groff-1.17.2 linux-2.4.8 man-pages-1.39 modutils-2.4.7 sysvinit-2.81 util-linux-2.11h August 29th, 2001 [gerard]: Various updates to the text through the entire book (mostly grammatical fixes and such). August 28th, 2001 [gerard]: Chapter 6-Texinfo: Added the explanation of the make TEXMF=/usr/share/texmf install-tex command. August 28th, 2001 [gerard]: Chapter 6-M4: Removed the note about linking m4 statically outside of chroot. LFS doesn't use Glibc-2.1.x anymore, so this claim may not be true. It'll have to be tested again. August 28th, 2001 [gerard]: Chapter 5+6+*: Removed the -f flags from cp commands. cp's behaviour has changed with fileutils-4.1, doing something totally different than expected. August 28th, 2001 [gerard]: Chapter 5+6: Removed some unnecessary line breaks (so a command continues on a next line). August 27th, 2001 [gerard]: Chapter 5: The former two sed operations are combined into one sed operation now. August 27th, 2001 [gerard]: Preface: Inserted the currrent LFS website's introduction into "Who wants to read this book". August 27th, 2001 [gerard]: Chapter 1: Synchronized the changelog, http and ftp mirrors with the LFS website. August 27th, 2001 [gerard]: Chapter 6-Glibc and Bash: simplified the installation instructions. We no longer exit chroot to finish the installation. This _may_ not work properly if your host distribution is an old 2.0.x based kernel, but we have no way of testing this at the moment. We'll deal with that when bug reports come in. August 27th, 2001 [gerard]: Moved rebooting into LFS from chapter 8 to chapter 9, after we run that find command. August 27th, 2001 [gerard]: Updated the find command in chapter 9. August 27th, 2001 [markh]: upgraded to e2fsprogs-1.23 and MAKEDEV-1.3. August 27th, 2001 [gerard]: Added dependency lists for all installed packages. You now can see which programs from which packages you need in order to compile and install a package. August 27th, 2001 [markh]: After a discussion on #lfs, we've downgraded the book to linux-2.4.8 due to performance problems with 2.4.9. August 26th, 2001 [markh]: Moved appendix c --> appendix d and appendix b --> appendix c in order to create room for the dependency information to go into appendix b. After much testing and discussing, it's been decided to downgrade to gcc-2.95.3 for the time being, until problems with the new gcc-3.0 version have been fixed. Chapter 5: sed commands for bzip2 and mawk static compiles have been replaced with a simpler flag to gcc. Chapter 5: A sed for fileutils-4.1 static has been added to avoid Segmentation Fault problems on glibc-2.2.3 systems. Chapter 5: Binutils doens't require us passing -e to make in order for LDFLAGS=-static to work properly. Chapter 5: GCC isn't statically linked anymore by using make -e LDFLAGS=-static, but by make BOOT_LDFLAGS=-static. Chapter 5: Removed kernel patch for gcc-3.0 compilation Chapter 5: Added gcc-patch to fix re_max_failure compile problems Chapter 5: Added missing chown root.root $LFS/usr/include/linux to kernel installation Chapter 5 & 6: Changed tar patch to use -j for bzip2 files instead of -y in order to be compatible with next tar release. Also renamed patch file to tar-1.13.patch Chapters 5 & 6: Added a new patch for gcc-2.95.3 which fixes various problems such as the weak symbol bug. Chapter 6: Bzip2 and shadowutils static libraries are now put in /usr/lib instead of /lib. There are now also links from /usr/lib to their dynamic libraries in /lib to enable the linker to still find the dynamic versions. Chapter 6: ncurses patch totally removed. Static libraries now moved to /usr/lib and libcurses.a symlink created manually. A symlink is also created from /usr/lib to the dynamic libraries in /lib so that the linker still sees them. Chapter 6: Yacc script in bison page now uses exec bison which replaces the shell. Chapter 6: Util-linux sed command has been replaced with a flag to make. Chapter 6: Man patch replaced with sed command. Chapter 6: Removed shadow-utils patch in favour of a sed command Chapter 6: Removed sysvinit patch in favour of a sed command. Chapter 6: Removed the Groff command explanation regarding CXXFLAGS which has been made obsolete with the update to groff-1.17.1 Chapter 6: Moved the net-tools installation until after sh-utils so that net-tools can replace sh-utils's /bin/hostname. Chapter 6: After installing Glibc, run exec /bin/bash --login instead of exiting and re-entering the chroot'ed environment. Chapter 7: Changed $* into "$@" in the functions and rc scripts. "$@" allows usage of quoted arguments with blanks. Chapter 7: Added print_error_msg from the rcS script as it appears in the rc script as well. 3.0-pre4 - June 22nd, 2001 Chapter 5: Reordered the installations alphabetically. Chapter 6: Moved the installations of ed and patch into their alphabetical positions. Chapter 7: Added [ ATTN ] warning message to the functions script. When you attemp to start a service that's already running or stop a service that's not running, it'll not print FAILED anymore but [ ATTN ] along with "Already running" or "Not running". Chapter 9: Renamed the network-scripts directory in nic-config. 3.0-pre3 - May 12th, 2001 Added numerous FHS compliance notes. These instructions can be followed if one wishes to build a fully FHS-compliant system. Chapter 4: Updated the directory list to be more FHS compliant. Mainly this meant adding the opt directories and removing /usr/tmp and /usr/local/tmp Chapter 5: We now copy the kernel include directories instead of linking to them. This is theoretically safer if we plan on upgrading the kernel. Chapter 5+6: Removed fileutils-patch. After upgrading to fileutils-4.1 the patch isn't needed anymore. Chapter 5+6: Put back the instructions on how to copy/remove the old NSS library files, in case the original distribution uses glibc-2.0.x. Chapter 5: Added the notice about an old version of install-info. Chapter 5: Removed the installation of a static gettext. Chapter 6: Changed bin86's installation from "make PREFIX=/usr install" to "make INSTALL_OPTS="-m 755" PREFIX=/usr install". This will prevent install from invoking strip -s on the files. This fails because a couple of the installed files are shell scripts rather than programs, so they can't be stripped. Chapter 6: Removed the ld.so section since we only used the man pages and replaced it with a patch to man-pages. Chapter 7+8: Moved the creation of /etc/fstab to chapter 8. Appendix A: Added missing descriptions of frcode, code and bigram in the findutils-4.1 package. 3.0-pre2 - April 14th, 2001 Chapter 5: Simplified ln commands. Chapter 5: Removed prefix=$LFS/usr from tar's make install. Chapter 5+6: Removed --disable-nls from configuration of programs that don't need it (bash, diffutils, gzip, sed, m4). Chapter 5+6: Changed from "cd dir && make" to "make -C dir" (gettext-static, sysvinit). Chapter 5: Beautified the static link process for mawk. Chapter 5: Changed the links we create during gcc-installation to $LFS/usr/bin/cpp. Chapter 6: Changed the procps installation from sed'ing to an easier way. Chapter 6: Changed all "rm file && ln -s dest file" into "ln -sf file" (in glibc, bzip2 and gzip installations). Chapter 6: Added a sed to fix a problem during glibc-installation. pt_chown can not be installed setuid root, because "root" is not known by glibc yet (kind of hen and egg-problem). Chapter 6: Changed consoledata/tools to kbd, which is more actively developed, and less of a pain to install. Appendix A: Added the description of the Netkit-base and Net-tools packages. 3.0-pre1 - February 27th, 2001 Converted the SGML source to XML. Chapter 4: Tell the user to use cfdisk rather than fdisk. The fdisk man page recommends cfdisk over fdisk because it's more stable. Chapter 4: Changed the wording to make it more general as ext2 no longer is the only used file system. Reiser for example is often used too now. Chapter 5: Added static mawk, texinfo and partially gettext to faciliate the move of Glibc from Chapter 5 to Chapter 6. Chapter 5: Added Makedev to chapter 5. We don't create the device files here, only copy the MAKEDEV script and make a temp copy which will be used to create device files. This second file (MAKEDEV-temp) doesn't contain user names and group names but only user id's and group id's. We need a few device files to get Glibc installed, but before GLibc is installed user and group names are not recognized yet; only the numeric id's. This requires a slightly modified MAKEDEV script which will be generated by patching the original one. This patching is done here in chapter 5. Also, fixed the explanations on both makedev installations. Chapter 5: Recommended to install all the software while logged in (or su'ed to) user root. Chapter 5+6: Added the fileutils-4.0 patch which is needed to compile the fileutils package on Glibc-2.2 based systems (such as the upcoming LFS-3.0 system). Chapter 5+6: Upgraded from gcc-2.95.2 to gcc-2.95.2.1 Chapter 5+6: Moved Glibc from chapter 5 to chapter 6 Chapter 6: Changed libexecdir=/usr/bin in fileutils to libexecdir=/bin Chapter 6: Updated Glibc installation instructions. 'configparms' file creation has been deleted. No need to pick a compiler (either distro's native or the /usr/local/gcc2952/bin/gcc one); we're in chroot now so we'll use the one we have Chapter 6: Only copy the man pages from the ld.so package. We don't need the ldconfig and ldd programs anymore; Glibc-2.2.1 comes with good working versions. Chapter 6: Added the creation of the lex symlink to the flex installation. Chapter 6: Changed $* into "$@" in the yacc script during bison's installation. "$@" allows usage of quoted arguments with blanks. Chapter 6: Fixed the man page installation during console-tools' installation. Chapter 6: When entering chroot the $TERM variable inside chroot is set properly. This is accomplished by: chroot ... -i HOME=/root TERM=$TERM... Chapter 6: Merged the different sulogin lines from the inittab file into one line. Chapter 7: Fixed the delays in the killproc function in the functions script. Now after kill, first check PIDs, then sleep 2 if needed. More details can be read in the comments in the script itself. Chapter 7: Added the explanation how the runlevels and boot process works when using the LFS scripts. Chapter 10: Added this chapter. It contains "thanks and good luck"notes and suggest creating the /etc/lfs-&version; file