SBC_builder/tmp/chroot.sh
2025-06-01 01:05:27 +02:00

56 lines
1.5 KiB
Bash

#!/bin/sh
do_chroot()
{
if [ -z "$1" ]
then
DDIR=${OS_DIR_DEF}
else
DDIR=$(realpath "$1")
mkdir -p ${DDIR}/var/db/pkg
mkdir -p ${DDIR}/var/db/repos
#mount --bind /media/1/H616/root/var/db/pkg ${DDIR}/var/db/pkg
#cp -r ${OS_DIR_DEF}/var/db/pkg/* ${DDIR}/var/db/pkg
mount --bind ${OS_DIR_DEF}/var/cache ${DDIR}/var/cache
mount --bind ${OS_DIR_DEF}/usr/portage ${DDIR}/usr/portage
fi
mkdir -p ${DDIR}/usr/src/linux-5.16-CB1
if [ -z "${DDIR}" ]
then
echo "No directory specified!"
exit 1
fi
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
mount --bind /var/db/repos ${DDIR}/var/db/repos
mount --bind ${DDIR}/../CB1-Kernel/kernel ${DDIR}/usr/src/linux-5.16-CB1
mount -t tmpfs tmpfs ${DDIR}/var/tmp/
cp -v "${ROOT_DIR}/scripts/qemu-aarch64" "${DDIR}/bin/"
if [ -z "$2" ]
then
chroot ${DDIR}/ /bin/bash
else
chroot ${DDIR}/ /bin/bash -c "$2"
fi
umount ${DDIR}/var/tmp
umount ${DDIR}/usr/src/linux-5.16-CB1
umount ${DDIR}/var/db/repos
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
umount ${DDIR}/var/cache
#umount ${DDIR}/var/db/pkg
rm -rf ${DDIR}/var/db/pkg
fi
}