#!/bin/bash
# Begin ~/bin/lfs-chroot.sh
# Silly script to mount/umount kernel filesystems with state

LFS=/media/lfs

ls /tmp/lfs-chroot.* > /dev/null 2>&1
RESULT=${?}

TEMPFILE=$(mktemp /tmp/lfs-chroot.XXX)

if test ${RESULT} != 0; then
    sudo mount --bind /dev ${LFS}/dev
    sudo mount -t devpts devpts -o gid=5,mode=0620 ${LFS}/dev/pts
    sudo mount -t proc proc ${LFS}/proc
    sudo mount -t sysfs sysfs ${LFS}/sys
    sudo mount -t tmpfs tmpfs ${LFS}/run
    sudo mount -t tmpfs -o nosuid,nodev tmpfs ${LFS}/dev/shm
fi
sudo chroot "${LFS}" /usr/bin/env -i   \
    HOME=/root                  \
    TERM="${TERM}"                \
    PS1='[\u@\h \W]\$ ' \
    PATH=/usr/bin:/usr/sbin     \
    MAKEFLAGS="-j$(nproc)"      \
    TESTSUITEFLAGS="-j$(nproc)" \
    /bin/bash --login

rm -f ${TEMPFILE}

ls /tmp/lfs-chroot.* > /dev/null 2>&1
RESULT=${?}
if test ${RESULT} != 0; then
    sudo umount ${LFS}/dev/shm 2>/dev/null
    sudo umount ${LFS}/run
    sudo umount ${LFS}/sys
    sudo umount ${LFS}/proc
    sudo umount ${LFS}/dev/pts
    sudo umount ${LFS}/dev
fi

