Gerard Beekmans wrote: > 1) Simplifying too much does not illustrate what has become a very > common setup on almost every system you encounter these days. The idea > of LFS has always been to educate as to what is going on. If a just > finished LFS system can't begin to explain how a regular distribution > works, what the deal is with their initramfs setups and so on, then LFS > has missed the mark, its primary purpose. It makes it less relevant in > today's climate.
Learning needs to be an incremental process. Once you learn the basics, you can go on to more advanced topics. The initramfs has one purpose in life - getting the rootfs mounted so that we can transition to the real rootfs. This is all driven by device availability. For a simple ext3 rootfs partition, the initramfs is certainly not necessary. It's only when we get to more advanced topics: LVM, software raid, encrypted file systems, network mounted filesystems, etc where an initramfs is needed. We discuss none of these in LFS. Right now, the only place in BLFS that these areas are discussed is NFS and Samba and then we don't mention it with respect to the root fs. Generally we have taken the approach in LFS/BLFS that we are not trying to show the user how to use the software -- only how it's built with relation to other packages. There are some exceptions of course. We go into a (very) little detail for GRUB and discuss our own boot scripts in LFS. We go into a little more detail about configuration for inputrc, vimrc, iptables, xorg, subversion, dhcp, Trinity/KDE3, and Gnome. However, each of these configuration pages stand alone. On the other hand, setting up a initramfs may require a lot more. There have been mentions of RAID, encrypted filesystems, LVM, and networked FS. We could leave something out, but some have said they want something that will work anywhere. The packages that are needed beyond LFS include: lvm2 - We have this in BLFS under device-mapper. We only build a subset but that's easily fixed. Note to that if we want to put lvm into LFS, we have to ask the user to run it from the host system before starting to build Chapter 5. This IMO is not "From Scratch". I suppose that the argument can be made that running fdisk from the host is not "From Scratch" either, but it feels much closer to me. All kernel network drivers All kernel disk drivers in module form for virtually every filesystem Kernel disk drivers don't, strictly speaking, have to be included, but if they aren't, what's the point? reiserfsprogs xfsprogs other FS utilities? dmraid madm cryptsetup I'll note here that it's not hard to copy an LFS system to another partition and boot that. That would be my recommendation for a first time LFS builder. nfs-utilities libtirpc pkg-config glib libffi Python openssl libffi bdb tcl java (IcedTea of JDK) sharutils pcre attr rpcbind TCP Wrappers libevent (not in BLFS) libnfsidmap (not in BLFS) libgssapi (not in BLFS) SPKM-3 (not in BLFS) samba popt PAM cups ldap acl libcap2 tdb (not in BLFS) gamin libunwind avahi openAFS (not in BLFS) gnutls sqlite3 There are others. Clearly we don't have to build everything, but the first decision is what to omit. Do we ask the user to build a subset just for an initramfs and then go back later if a full installation is desired? I'll note here that on my system Ubuntu's initramfs is 7.5M. My largest LFS kernel is 3.9M. My overall impression is that BLFS is the right place for this with links to the appropriate packages that need to be built. Forward references in Chapter 2 and 8.3 (Kernel) and 8.4 (Grub Config) would be appropriate. Using Bryan's hint as a starting point, a page in Chapter 3 in BLFS for the description would be reasonable. Alternatively, we could insert a whole new Chapter with the appropriate packages. I've run on enough. However, we need to decide how to go forward. -- Bruce -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page