don't use arch-chroot
This commit is contained in:
parent
729e2cc9de
commit
ef4fe46700
1 changed files with 30 additions and 6 deletions
36
unbox.sh
36
unbox.sh
|
@ -56,11 +56,7 @@ function unbox_outer_stage(){
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if type -t chroot > /dev/null; then
|
if type -t chroot > /dev/null; then
|
||||||
if type -t arch-chroot > /dev/null; then
|
CHROOT=chroot
|
||||||
CHROOT=arch-chroot
|
|
||||||
else
|
|
||||||
CHROOT=chroot
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
echo ERROR: no chroot found 1>&2
|
echo ERROR: no chroot found 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -70,7 +66,35 @@ function unbox_outer_stage(){
|
||||||
mount -o bind . target/root/unbox
|
mount -o bind . target/root/unbox
|
||||||
mkdir -p target/root/unbox_data
|
mkdir -p target/root/unbox_data
|
||||||
mount -o bind /data target/root/unbox_data
|
mount -o bind /data target/root/unbox_data
|
||||||
$CHROOT target /root/unbox/unbox.sh unbox_inner_stage
|
(
|
||||||
|
mount -obind /sys target/sys
|
||||||
|
mount -obind /proc target/proc
|
||||||
|
mount -obind /dev target/dev
|
||||||
|
mount -obind /dev/pts target/dev/pts
|
||||||
|
|
||||||
|
if [[ -L target/etc/resolv.conf ]]; then
|
||||||
|
|
||||||
|
resolv_conf=$(readlink "target/etc/resolv.conf")
|
||||||
|
if [[ $resolv_conf = /* ]]; then
|
||||||
|
resolv_conf=target$resolv_conf
|
||||||
|
else
|
||||||
|
resolv_conf=target/etc/$resolv_conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ensure file exists to bind mount over
|
||||||
|
if [[ ! -f $resolv_conf ]]; then
|
||||||
|
install -Dm644 /dev/null "$resolv_conf" || return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -e target/etc/resolv.conf ]]; then
|
||||||
|
cp -L /etc/resolv.conf $resolv_conf
|
||||||
|
fi
|
||||||
|
|
||||||
|
$CHROOT target /root/unbox/unbox.sh unbox_inner_stage
|
||||||
|
umount /dev/pts
|
||||||
|
umount /dev /sys /proc
|
||||||
|
)
|
||||||
umount target/root/unbox target/root/unbox_data
|
umount target/root/unbox target/root/unbox_data
|
||||||
|
|
||||||
if type -t post_install_stage > /dev/null; then
|
if type -t post_install_stage > /dev/null; then
|
||||||
|
|
Loading…
Reference in a new issue