view more/chroot-splice.sh @ 1284:095c9652525e

Second try at a chroot-splice script, combining a root-filesystem and a control image into a chroot directory. (Useful for working out new control images.)
author Rob Landley <rob@landley.net>
date Thu, 11 Nov 2010 06:36:33 -0600
parents
children aabc07905de3
line wrap: on
line source

#!/bin/bash

# Combine a root filesystem directory and a control image into an $ARCH-specific
# chroot containing native build control files, suitable for chrooting into.

if [ $# -ne 2 ]
then
  echo 'usage: ./control-in-chroot.sh $ARCH $CONTROL_IMAGE' >&2
  exit 1
fi

# Make sure prerequisites exist

for i in "build/root-filesystem-$1" "build/control-images/$2"
do
  if [ ! -d "$i" ]
  then
    echo "No $i" >&2
    exit 1
  fi
done

# Zap old stuff (if any)

if [ -e "build/chroot-$1-$2" ]
then
  more/zapchroot.sh "build/chroot-$1-$2" &&
  rm -rf "build/chroot-$1-$2" ||
    exit 1
fi

# Copy root filesystem and splice in control image
cp -la "build/root-filesystem-$1" "build/chroot-$1-$2" &&
cp -la "build/control-images/$2/." "build/chroot-$1-$2/mnt/." ||
  exit 1

# Tar it up

# Output some usage hints

echo "export CPUS=1 HOST=$1 && cd /home && /mnt/init" &&
echo "sudo chroot build/chroot-$1-$2" "/sbin/init.sh"