You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.3 KiB
Bash

#!/bin/sh -ex
dir_depth() {
dir="$1"
while [ "$dir" != "." ] && [ "$dir" != "/" ]; do
dir=`dirname "$dir"`
echo -n ../
done
}
if [ "$#" -ne 1 ]; then
echo 1>&2 "you have to specify the new board name"
exit 1
fi
BOARD="$1"
if [ -e "$BOARD" ]; then
echo 1>&2 "board already exists"
exit 1
fi
mkdir -p $BOARD/
mkdir -p $BOARD/packages/
mkdir -p $BOARD/root/etc/network/
mkdir -p $BOARD/hooks/
cp default/config $BOARD
cp default/multistrap.conf $BOARD
cp default/debconfseed.txt $BOARD
for f in packages/base \
root/usr/sbin/policy-rc.d \
root/usr/bin/ldd \
root/etc/apt/apt.conf.d/99no-install-recommends \
root/etc/apt/apt.conf.d/99no-pdiffs \
root/etc/ld.so.conf \
root/etc/ssh/ssh_host_ecdsa_key \
root/etc/ssh/ssh_host_rsa_key \
root/etc/ssh/ssh_host_dsa_key \
root/sbin/ldconfig \
hooks/create_user \
hooks/serial_tty \
hooks/firstboot \
hooks/empty_password; do
mkdir -p `dirname $BOARD/$f`
ln -s `dir_depth $f`default/$f $BOARD/$f
done
cat << __END__ > $BOARD/root/etc/hosts
127.0.0.1 localhost
127.0.0.1 $BOARD
__END__
echo $BOARD > $BOARD/root/etc/hostname
cp default/root/etc/fstab $BOARD/root/etc/
cp default/root/etc/network/interfaces $BOARD/root/etc/network/