#!/bin/sh umask 022 set -e if [ "$(id -u)" != "0" ]; then echo "Please run this script as root" 1>&2 exit 1 fi if [ ! "$rocket" ]; then echo 'Please set the $rocket variable' 1>&2 exit 1 fi rocket="$(realpath "$rocket")" checkmount() { local point="$(eval echo \${$#})" if cut -d' ' -f2 /proc/mounts | grep "$point" > /dev/null; then true else mount $@ fi } mkdir -p "$rocket/dev" "$rocket/proc" "$rocket/sys" "$rocket/run" checkmount --bind /dev "$rocket/dev" checkmount -t devpts devpts "$rocket/dev/pts" checkmount -t proc proc "$rocket/proc" checkmount -t tmpfs tmpfs "$rocket/run" if [ -h "$rocket/dev/shm" ]; then mkdir -p "$rocket/$(readlink "$rocket/dev/shm")" fi mkdir -p "$rocket/etc" cp /etc/resolv.conf "$rocket/etc/resolv.conf" chroot "$rocket" /tools/bin/env -i \ HOME=/root \ TERM="$TERM" \ PS1="(buildenv) \u:\w \$ " \ PATH=/bin:/sbin:/usr/bin:/usr/sbin:/tools/bin \ MAKEFLAGS="$MAKEFLAGS" \ /tools/bin/ash -l umount "$rocket/dev/pts" umount "$rocket/dev" umount "$rocket/proc" umount "$rocket/run"