Continuing my LFS adventures, it is time to check that the base system (in this case, the LFS 6.3-r2160 live CD) has the necessary tools for successfully compiling LFS.
There is a handy version check
bash script on page xviii of the LFS book that I ran. I typed it in by hand, but it was satisfying work because I learned some interesting text processing tidbits in the process. It turns out that everything on the live CD is the exact version that LFS 6.8 requires, except that
grep is version 2.5.1, but the book lists the minimum required version as 2.5.1a — hopefully everything will work anyway.
Next, I set up the
$LFS variable in
$LFS variable is important because it is used throughout the book (trust me, I’ve looked) while building and installing LFS. I haven’t deviated from the book yet, so I was able to type in all the commands verbatim.
Then I created the
$LFS/tools directory, which I will use while I build the temporary toolchain. Then I created a
/tools symlink on the live CD
/ (root directory) — this means the toolchain will install its files to
$LFS/tools), even though thanks to the symlink, they think they installed them in
/tools. That way, when the first toolchain is completed and ready to build the second (clean) toolchain, and I have to chroot into
$LFS, the toolchain can still look at
/tools and find everything it needs.
Next, I followed the instructions for creating a new user —
lfs — and setting up a known-good
bash environment. I then used the
source command to enter into my newly created bash environment: spartan, but effective.
Finally, the LFS book addresses SBUs (Standard Build Units) and test suites before beginning the first toolchain. SBUs are a rough measure of how long a particular package will take to compile. Skipping ahead some, my SBU is 49 minutes and 5 seconds, a far cry from the 3-odd minutes of the “fastest” systems the LFS book speaks of. The book also recommends skipping the test suites that are usually run on the first toolchain, since they offer near-zero benefit at this point.
I am now ready to build the first LFS toolchain. Onward, ho!