First thing is to mount all the necessary systems, not just the new partition but the dynamic directories it's going to need (/dev, /proc, /sys, etc.). See section 6.2 for details. Better still, put all this into a permanent script which you can run whenever you need it. For example, here's mine:
Code:
# Script to enter LFS chroot environment
#!/bin/bash
export LFS=/mnt/newlfs
mount /dev/sda9
# Dynamic filesystems
mount -v --bind /dev $LFS/dev
mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys
mount -vt tmpfs tmpfs $LFS/run
# and now chroot...
chroot "$LFS" /tools/bin/env -i \
HOME=/root \
TERM="$TERM" \
PS1='(lfs chroot) \u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin \
/tools/bin/bash --login +h
As you can see, this defines LFS, does all the mounting and then chroots. I keep it in root's home directory so that I can run it whenever I want to do a bit of LFS building. Note that all the mounts have to be done
before you chroot. They can't be done from inside the new system.
Then go to
/sources and
delete the directory you were working in. I assume that is glibc. Delete it completely. Then untar the package and start again. That is a universal rule. Never work in a directory that is partially filled with earlier work.
If you follow these rules, interruptions won't hurt you and you can spread your build over as many sessions as you like.