Command explanations
--enable-static-link: This configure
option causes Bash to be linked statically
--prefix=$LFS/usr: This configure option installs
all of Bash's files under the $LFS/usr directory, which becomes the /usr
directory after the user chroot'ed into $LFS or when he rebooted
the system into LFS.
--bindir=$LFS/bin: This installs the executable
files in $LFS/bin. We do this because we want bash to be in /bin, not in
/usr/bin. One reason being: the /usr partition might be on a separate
partition which has to be mounted at some point. Before that partition is
mounted a user needs and will want to have bash available (it will be hard to
execute the boot scripts without a shell for instance).
ln -sf bash sh: This command creates the sh
symlink that points to bash. Most scripts run themselves via 'sh'
(invoked by the #!/bin/sh as the first line in the scripts) which
invokes a special bash mode. Bash will then behave (as closely as
possible) as the original Bourne shell.
The &&'s at the end of every line cause
the next command to be executed only if the previous command exists
with a return value of 0 indicating success. In case all of these
commands are copy&pasted
on the shell, is is important to be ensured that if
./configure fails, make isn't being executed and, likewise, if make fails,
that make install isn't being executed, and so forth.