Hi: I am back:) For the past year or so I have been using Ubuntu Linux mainly because of lack of time. For the past month I have been updating my scripts to match the current LFS setup so that I can be a happy LFSer again.
I recently received a question from a user who inquired why we did the things in LFS the way were are doing them now. That got me thinking that though not-so-old-timers like me know how LFS evolved over the years, new comers may not know about these. For example, how many folks remember that X, httpd, etc use to be part of LFS? I would like to suggest adding an appendix on "Evolution of LFS" in the book. The following is the short reply that I sent to the person. So it might be a good start on what to include in the book. A very good question:) I will propose that the details be added to the book. The initial versions of LFS were build exactly the way you mentioned. But LFS has been evolving since its initial release. The build methodology that you see now came about due to the shortcomings found in the previous versions. I will go over the changes briefly based on my memory (so it might be a bit off) but if you need detailed info, check out <http://archive.linuxfromscratch.org/lfs-museum/>. Initially, the executables that would be needed for a new LFS were built statically on the host system and then copied to the LFS partition in the appropriate locations. Then the system would be rebooted into LFS for installing the tool-chain and to install all the remaining packages (which would also overwrite the executables that were statically built on the host). The next evolution was to avoid the rebooting into LFS. So once the static executables were built in the LFS partition, instead of rebooting, chroot was used to build the base system. It was felt that installing executables in the LFS partition and then overwriting with the dynamically linked executables is "unclean". An approach suggested by MSB was used to install executables into a separate directory $LFS/static. At the same time, importance was placed on the dependencies instead of the mostly alphabetical approach in the previous versions. The above method still had occasional breakage when the glibc on the host was incompatible with the glibc that would be used for LFS. A new approach was designed by Greg Schafer and Ryan Oliver (known as Pure LFS) that introduced building a dynamically linked tool-chain in $LFS/tools. A concept known as ICA was also introduced (search the LFS lists for ICA for more info). This is essentially the current build methodology. -- Tushar Teredesai mailto:[EMAIL PROTECTED] http://www.linuxfromscratch.org/~tushar/ -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page