|
|
|
@ -54,16 +54,16 @@ shift $(($OPTIND - 1))
|
|
|
|
|
|
|
|
|
|
[ "$#" -ne 1 ] && { echo "too many positional arguments" >&2; usage; exit 1; }
|
|
|
|
|
|
|
|
|
|
PLATFORM="$1"
|
|
|
|
|
BOARD="$1"
|
|
|
|
|
|
|
|
|
|
[ ! -r "$PLATFORM" ] && { echo "cannot find target directory: $PLATFORM" >&2; exit 1; }
|
|
|
|
|
[ ! -r "$PLATFORM/multistrap.conf" ] && { echo "cannot read multistrap config: $PLATFORM/multistrap.conf" >&2; exit 1; }
|
|
|
|
|
[ ! -r "$BOARD" ] && { echo "cannot find target directory: $BOARD" >&2; exit 1; }
|
|
|
|
|
[ ! -r "$BOARD/multistrap.conf" ] && { echo "cannot read multistrap config: $BOARD/multistrap.conf" >&2; exit 1; }
|
|
|
|
|
|
|
|
|
|
# source default options
|
|
|
|
|
. "default/config"
|
|
|
|
|
|
|
|
|
|
# overwrite default options by target options
|
|
|
|
|
[ -r "$PLATFORM/config" ] && . "$PLATFORM/config"
|
|
|
|
|
[ -r "$BOARD/config" ] && . "$BOARD/config"
|
|
|
|
|
|
|
|
|
|
# overwrite target options by commandline options
|
|
|
|
|
SUITE=${_SUITE:-$SUITE}
|
|
|
|
@ -71,9 +71,9 @@ ARCH=${_ARCH:-$ARCH}
|
|
|
|
|
ROOTDIR=${_ROOTDIR:-$ROOTDIR}
|
|
|
|
|
MIRROR=${_MIRROR:-$MIRROR}
|
|
|
|
|
|
|
|
|
|
if [ "$_PACKAGES" = "" ] && [ -r "$PLATFORM/packages" ]; then
|
|
|
|
|
if [ "$_PACKAGES" = "" ] && [ -r "$BOARD/packages" ]; then
|
|
|
|
|
# if no packages were given by commandline, read from package files
|
|
|
|
|
for f in $PLATFORM/packages/*; do
|
|
|
|
|
for f in $BOARD/packages/*; do
|
|
|
|
|
while read line; do PACKAGES="$PACKAGES $line"; done < "$f"
|
|
|
|
|
done
|
|
|
|
|
else
|
|
|
|
@ -101,7 +101,7 @@ MULTISTRAPCONF=`tempfile -d . -p multistrap`
|
|
|
|
|
echo -n > "$MULTISTRAPCONF"
|
|
|
|
|
while read line; do
|
|
|
|
|
eval echo $line >> "$MULTISTRAPCONF"
|
|
|
|
|
done < $PLATFORM/multistrap.conf
|
|
|
|
|
done < $BOARD/multistrap.conf
|
|
|
|
|
|
|
|
|
|
# download and extract packages
|
|
|
|
|
echo "I: run multistrap" >&2
|
|
|
|
@ -116,15 +116,15 @@ mv $ROOTDIR/sbin/ldconfig $ROOTDIR/sbin/ldconfig.REAL
|
|
|
|
|
mv $ROOTDIR/usr/bin/ldd $ROOTDIR/usr/bin/ldd.REAL
|
|
|
|
|
|
|
|
|
|
# copy initial directory tree - dereference symlinks
|
|
|
|
|
echo "I: copy initial directory root tree $PLATFORM/root/ to $ROOTDIR/"
|
|
|
|
|
if [ -r "$PLATFORM/root" ]; then
|
|
|
|
|
cp --recursive --dereference $PLATFORM/root/* $ROOTDIR/
|
|
|
|
|
echo "I: copy initial directory root tree $BOARD/root/ to $ROOTDIR/"
|
|
|
|
|
if [ -r "$BOARD/root" ]; then
|
|
|
|
|
cp --recursive --dereference $BOARD/root/* $ROOTDIR/
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# preseed debconf
|
|
|
|
|
echo "I: preseed debconf"
|
|
|
|
|
if [ -r "$PLATFORM/debconfseed.txt" ]; then
|
|
|
|
|
cp "$PLATFORM/debconfseed.txt" $ROOTDIR/tmp/
|
|
|
|
|
if [ -r "$BOARD/debconfseed.txt" ]; then
|
|
|
|
|
cp "$BOARD/debconfseed.txt" $ROOTDIR/tmp/
|
|
|
|
|
fakechroot chroot $ROOTDIR debconf-set-selections /tmp/debconfseed.txt
|
|
|
|
|
rm $ROOTDIR/tmp/debconfseed.txt
|
|
|
|
|
fi
|
|
|
|
@ -141,8 +141,8 @@ echo "I: configure packages"
|
|
|
|
|
fakechroot chroot $ROOTDIR /usr/bin/dpkg --configure -a || fakechroot chroot $ROOTDIR /usr/bin/dpkg --configure -a
|
|
|
|
|
|
|
|
|
|
# source hooks
|
|
|
|
|
if [ -r "$PLATFORM/hooks" ]; then
|
|
|
|
|
for f in $PLATFORM/hooks/*; do
|
|
|
|
|
if [ -r "$BOARD/hooks" ]; then
|
|
|
|
|
for f in $BOARD/hooks/*; do
|
|
|
|
|
echo "I: run hook $f"
|
|
|
|
|
. $f
|
|
|
|
|
done
|
|
|
|
|