Newer
Older
Robert Nelson
committed
# Copyright (c) 2012-2016 Robert Nelson <robertcnelson@gmail.com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
DIR=$PWD
host_arch="$(uname -m)"
OIB_DIR="$(dirname "$( cd "$(dirname "$0")" ; pwd -P )" )"
chroot_completed="false"
. "${DIR}/.project"
check_defines () {
if [ ! "${tempdir}" ] ; then
echo "scripts/deboostrap_first_stage.sh: Error: tempdir undefined"
exit 1
fi
cd "${tempdir}/" || true
cd "${DIR}/" || true
if [ ! "x${tempdir}" = "x${test_tempdir}" ] ; then
tempdir="${test_tempdir}"
echo "Log: tempdir is really: [${test_tempdir}]"
if [ ! "${export_filename}" ] ; then
echo "scripts/deboostrap_first_stage.sh: Error: export_filename undefined"
exit 1
fi
if [ ! "${deb_distribution}" ] ; then
echo "scripts/deboostrap_first_stage.sh: Error: deb_distribution undefined"
if [ ! "${deb_codename}" ] ; then
echo "scripts/deboostrap_first_stage.sh: Error: deb_codename undefined"
if [ ! "${deb_arch}" ] ; then
echo "scripts/deboostrap_first_stage.sh: Error: deb_arch undefined"
exit 1
fi
if [ ! "${apt_proxy}" ] ; then
apt_proxy=""
fi
case "${deb_distribution}" in
debian)
deb_components=${deb_components:-"main contrib non-free"}
Robert Nelson
committed
deb_mirror=${deb_mirror:-"httpredir.debian.org/debian/"}
;;
ubuntu)
deb_components=${deb_components:-"main universe multiverse"}
deb_mirror=${deb_mirror:-"ports.ubuntu.com/ubuntu-ports/"}
;;
esac
Robert Nelson
committed
if [ ! "${rfs_username}" ] ; then
##Backwards compat pre variables.txt doc
if [ "${user_name}" ] ; then
rfs_username="${user_name}"
else
rfs_username="${deb_distribution}"
Robert Nelson
committed
echo "rfs_username: undefined using: [${rfs_username}]"
fi
fi
if [ ! "${rfs_fullname}" ] ; then
##Backwards compat pre variables.txt doc
if [ "${full_name}" ] ; then
rfs_fullname="${full_name}"
else
rfs_fullname="Demo User"
echo "rfs_fullname: undefined using: [${rfs_fullname}]"
fi
Robert Nelson
committed
if [ ! "${rfs_password}" ] ; then
##Backwards compat pre variables.txt doc
if [ "${password}" ] ; then
rfs_password="${password}"
else
rfs_password="temppwd"
echo "rfs_password: undefined using: [${rfs_password}]"
fi
Robert Nelson
committed
if [ ! "${rfs_hostname}" ] ; then
##Backwards compat pre variables.txt doc
if [ "${image_hostname}" ] ; then
rfs_hostname="${image_hostname}"
else
rfs_hostname="arm"
echo "rfs_hostname: undefined using: [${rfs_hostname}]"
fi
Robert Nelson
committed
if [ "x${deb_additional_pkgs}" = "x" ] ; then
Robert Nelson
committed
##Backwards compat pre configs
deb_additional_pkgs="$(echo ${base_pkg_list} | sed 's/,/ /g')"
Robert Nelson
committed
fi
else
deb_additional_pkgs="$(echo ${deb_additional_pkgs} | sed 's/,/ /g')"
Robert Nelson
committed
fi
Robert Nelson
committed
if [ ! "x${deb_include}" = "x" ] ; then
include=$(echo ${deb_include} | sed 's/,/ /g')
deb_additional_pkgs="${deb_additional_pkgs} ${include}"
fi
if [ "x${repo_rcnee}" = "xenable" ] ; then
if [ ! "x${repo_rcnee_pkg_list}" = "x" ] ; then
deb_additional_pkgs="${deb_additional_pkgs} ${repo_rcnee_pkg_list}"
fi
fi
echo "Log: Size of: [${tempdir}]: $(du -sh ${tempdir} 2>/dev/null | awk '{print $1}')"
chroot_mount_run () {
if [ ! -d "${tempdir}/run" ] ; then
sudo mkdir -p ${tempdir}/run || true
fi
if [ "$(mount | grep ${tempdir}/run | awk '{print $3}')" != "${tempdir}/run" ] ; then
sudo mount -t tmpfs run "${tempdir}/run"
fi
}
if [ "$(mount | grep ${tempdir}/sys | awk '{print $3}')" != "${tempdir}/sys" ] ; then
sudo mount -t sysfs sysfs "${tempdir}/sys"
if [ "$(mount | grep ${tempdir}/proc | awk '{print $3}')" != "${tempdir}/proc" ] ; then
sudo mount -t proc proc "${tempdir}/proc"
if [ ! -d "${tempdir}/dev/pts" ] ; then
sudo mkdir -p ${tempdir}/dev/pts || true
fi
if [ "$(mount | grep ${tempdir}/dev/pts | awk '{print $3}')" != "${tempdir}/dev/pts" ] ; then
sudo mount -t devpts devpts "${tempdir}/dev/pts"
fi
}
chroot_umount () {
if [ "$(mount | grep ${tempdir}/dev/pts | awk '{print $3}')" = "${tempdir}/dev/pts" ] ; then
echo "Log: umount: [${tempdir}/dev/pts]"
sudo umount -fl "${tempdir}/dev/pts"
if [ "$(mount | grep ${tempdir}/dev/pts | awk '{print $3}')" = "${tempdir}/dev/pts" ] ; then
echo "Log: ERROR: umount [${tempdir}/dev/pts] failed..."
exit 1
if [ "$(mount | grep ${tempdir}/proc | awk '{print $3}')" = "${tempdir}/proc" ] ; then
echo "Log: umount: [${tempdir}/proc]"
sudo umount -fl "${tempdir}/proc"
if [ "$(mount | grep ${tempdir}/proc | awk '{print $3}')" = "${tempdir}/proc" ] ; then
echo "Log: ERROR: umount [${tempdir}/proc] failed..."
exit 1
fi
if [ "$(mount | grep ${tempdir}/sys | awk '{print $3}')" = "${tempdir}/sys" ] ; then
Loading full blame...