Bizarre. Let's try this.
Reboot with the live CD that I've made, make an SSH connection to it.
Then do this (remember, just copy and paste)
You should only have /dev/sda1 for swap, and all the rest into /dev/sda2 or the grub instructions at the end of the manual won't work. If you haven't partitioned that way, please redo from scratch with that partitioning in mind..
export LFS=/mnt/lfs
mkdir -pv $LFS
mount -v -t ext3 /dev/sda2 $LFS
/sbin/swapon -v /dev/sda1
cd $LFS
groupadd lfs
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
passwd lfs
**** STOP COPY HERE AS YOU NEED TO PUT THE NEW PASSWORD ****
**** WHEN COMPLETED, CONTINUE COPYING AND PASTING ****
chown -v lfs $LFS/tools
chown -v lfs $LFS/sources
su - lfs
cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF
cat > ~/.bashrc << "EOF"
set +h
umask 022
LFS=/mnt/lfs
LC_ALL=POSIX
LFS_TGT=$(uname -m)-lfs-linux-gnu
PATH=/tools/bin:/bin:/usr/bin
export LFS LC_ALL LFS_TGT PATH
EOF
source ~/.bash_profile
export LFS=/mnt/lfs
... and give it another shot. Make sure when you copy and paste to hit enter if the see the last line of the pasted items so that it can be executed as well.
SPECS=`dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/specs
$LFS_TGT-gcc -dumpspecs | sed -e 's@/lib\(64\)\?/ld@/tools&@g' -e "/^\*cpp:$/{n;s,$, -isystem /tools/include,}" > $SPECS
echo "New specs file is: $SPECS"
unset SPECS
What I have indicated above (minus chapter 5.8 instructions) needs to be done every time you reboot the LiveCD before an SSH connection
for chapter 5 only. If not, problem occurs (including permissions) and you'll need to recompile what has been missed, which is really hard to find sometimes....