SBC_builder/scripts/chroot.sh
2025-07-04 19:02:30 +02:00

47 lines
1.0 KiB
Bash

#!/bin/sh
OS_DIR_DEF="./root/"
DDIR=$(realpath "$1")
ROOT_DIR="$2"
if [ -z "${DDIR}" ]
then
echo "No directory specified!"
exit 1
fi
mkdir -p ${DDIR}/usr/portage
mount --bind ${ROOT_DIR}/files/portage ${DDIR}/usr/portage
mkdir -p ${DDIR}/usr/src/linux-6.14-rc7
mount --bind ${ROOT_DIR}/build/common/kernel ${DDIR}/usr/src/linux-6.14-rc7
mount --bind /dev ${DDIR}/dev
mount --bind /dev/shm ${DDIR}/dev/shm
mount --bind /dev/pts ${DDIR}/dev/pts
mount --bind /sys ${DDIR}/sys
mount --bind /proc ${DDIR}/proc
if [ -d "/var/db/repos" ]; then
mount --bind /var/db/repos ${DDIR}/var/db/repos
fi
mount -t tmpfs tmpfs ${DDIR}/var/tmp/
if [ -z "$3" ]
then
chroot ${DDIR}/ /bin/bash
else
chroot ${DDIR}/ /bin/bash -c "${@:3}"
fi
umount ${DDIR}/var/tmp
umount ${DDIR}/usr/src/linux-6.14-rc7
if [ -d "/var/db/repos" ]; then
umount ${DDIR}/var/db/repos
fi
umount ${DDIR}/proc
umount ${DDIR}/sys
umount ${DDIR}/dev/pts
umount ${DDIR}/dev/shm
umount ${DDIR}/dev
if [ -n "$1" ]
then
umount ${DDIR}/usr/portage
fi