diff options
author | Reto Buerki <reet@codelabs.ch> | 2012-11-19 10:43:42 +0100 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2012-12-18 16:00:21 +0100 |
commit | aa5803e0e3368172d7674ff760983c568118df16 (patch) | |
tree | 000b01af72c7a8599c066224c7c819540124f428 /testing/scripts/build-umlrootfs | |
parent | 0080daa78789bb7012bc0f80dd6b4ff0d47e41a3 (diff) | |
download | strongswan-aa5803e0e3368172d7674ff760983c568118df16.tar.bz2 strongswan-aa5803e0e3368172d7674ff760983c568118df16.tar.xz |
testing: Switch to Debian based guest images
Instead of extracting a downloaded Gentoo filesystem tree into a file
containing a reiserfs filesystem, create an ext3 filesystem inside a
sparse file, mount it and debootstrap an up-to-date Debian system. Use
this image as base for all UML guest images.
Also, drop support for the various consoles and use xterm
unconditionally.
Diffstat (limited to 'testing/scripts/build-umlrootfs')
-rwxr-xr-x | testing/scripts/build-umlrootfs | 100 |
1 files changed, 49 insertions, 51 deletions
diff --git a/testing/scripts/build-umlrootfs b/testing/scripts/build-umlrootfs index 523a3b536..647c929ea 100755 --- a/testing/scripts/build-umlrootfs +++ b/testing/scripts/build-umlrootfs @@ -34,7 +34,7 @@ else exit fi -cecho-n " * Looking for gentoo root filesystem at '$ROOTFS'.." +cecho-n " * Looking for root image at '$ROOTFS'.." if [ -f "$ROOTFS" ] then cecho "found it" @@ -45,19 +45,6 @@ fi [ -d $BUILDDIR ] || die "!! Directory '$BUILDDIR' does not exist" -HOSTCONFIGDIR=$BUILDDIR/hosts - -[ -d $HOSTCONFIGDIR ] || die "!! Directory '$HOSTCONFIGDIR' does not exist" - -LOGFILE=$BUILDDIR/testing.log - -if [ ! -f $LOGFILE ] -then - cecho-n " * Logfile '$LOGFILE' does not exist..creating.." - touch $LOGFILE - cgecho "done" -fi - ROOTFSDIR=$BUILDDIR/root-fs if [ ! -d $ROOTFSDIR ] @@ -69,22 +56,18 @@ fi cd $ROOTFSDIR -LOOPDIR=$ROOTFSDIR/loop - if [ ! -d $LOOPDIR ] then mkdir $LOOPDIR fi ###################################################### -# creating reiser-based uml root filesystem +# mount root image # - -cecho-n " * Building basic root filesystem (gentoo).." -dd if=/dev/zero of=gentoo-fs count=$ROOTFSSIZE bs=1M >> $LOGFILE 2>&1 -mkreiserfs -q -f gentoo-fs >> $LOGFILE 2>&1 -mount -o loop gentoo-fs $LOOPDIR >> $LOGFILE 2>&1 -tar xjpf $ROOTFS -C $LOOPDIR >> $LOGFILE 2>&1 +BASE=$BUILDDIR/base.img +cecho-n " * Mounting base image $BASE.." +cp $ROOTFS $BASE +mount -o loop $BASE $LOOPDIR >> $LOGFILE 2>&1 cgecho "done" ###################################################### @@ -93,12 +76,6 @@ cgecho "done" cecho " * Removing /etc/resolv.conf" rm -f $LOOPDIR/etc/resolv.conf -###################################################### -# copying default /etc/hosts to the root filesystem -# -cecho " * Copying '$HOSTCONFIGDIR/default/etc/hosts' to the root filesystem" -cp -fp $HOSTCONFIGDIR/default/etc/hosts $LOOPDIR/etc/hosts - ##################################################### # extracting strongSwan into the root filesystem # @@ -291,7 +268,7 @@ if [ "$USE_KERNEL_PFKEY" = "yes" ] then echo -n " --enable-kernel-pfkey" >> $INSTALLSHELL fi - + if [ "$USE_INTEGRITY_TEST" = "yes" ] then echo -n " --enable-integrity-test" >> $INSTALLSHELL @@ -408,7 +385,7 @@ then fi echo "" >> $INSTALLSHELL -echo "make -j" >> $INSTALLSHELL +echo "make -j5" >> $INSTALLSHELL echo "make install" >> $INSTALLSHELL echo "ldconfig" >> $INSTALLSHELL @@ -417,16 +394,50 @@ chroot $LOOPDIR /bin/bash /install.sh >> $LOGFILE 2>&1 rm -f $INSTALLSHELL cgecho "done" -###################################################### -# copying default /etc/ipsec.d/tables.sql to the root filesystem +##################################### +# preparing ssh for PK authentication # -cecho " * Copying '$HOSTCONFIGDIR/default/etc/ipsec.d/tables.sql' to the root filesystem" -cp -fp $HOSTCONFIGDIR/default/etc/ipsec.d/tables.sql $LOOPDIR/etc/ipsec.d/tables.sql +if [ ! -d ~/.ssh ] +then + cecho-n " * Creating directory '~/.ssh'.." + mkdir ~/.ssh + cgecho "done" +fi + +cecho-n " * Checking for ssh rsa key '~/.ssh/id_rsa.pub'.." +if [ -f ~/.ssh/id_rsa.pub ] +then + cecho "already exists" +else + cecho "not found" + cecho-n " * Generating ssh rsa key pair.." + echo "" | ssh-keygen -N "" -t rsa -f ~/.ssh/id_rsa >> $LOGFILE 2>&1 + cgecho "done" +fi + +if [ -f ~/.ssh/known_hosts ] +then + cecho-n " * Backing up ~/.ssh/known_hosts to '~/.ssh/known_hosts.before_uml'.." + cp -fp ~/.ssh/known_hosts ~/.ssh/known_hosts.before_uml + cgecho "done" +fi +rm ~/.ssh/known_hosts +cecho-n " * Creating new '~/.ssh/known_hosts'.." +touch ~/.ssh/known_hosts +cgecho "done" + +for host in $HOSTNAMEIPV4 +do + HOSTNAME=`echo $host | awk -F, '{ print $1 }'` + IP=`echo $host | awk -F, '{ print $2 }'` + cecho-n " * Adding uml host $HOSTNAME ($IP) to '~/.ssh/known_hosts'.." + echo "$HOSTNAME,$IP `cat $LOOPDIR/etc/ssh/ssh_host_rsa_key.pub`" >> ~/.ssh/known_hosts + cgecho "done" +done ###################################################### # copying the host's ssh public key # - if [ ! -d $LOOPDIR/root/.ssh ] then mkdir $LOOPDIR/root/.ssh @@ -441,21 +452,8 @@ cp $LOOPDIR/etc/ssh/ssh_host_rsa_key $LOOPDIR/root/.ssh/id_rsa for host in $STRONGSWANHOSTS do eval ip="`echo $HOSTNAMEIPV4 | sed -n -e "s/^.*${host},//gp" | awk -F- '{ print $1 }' | awk '{ print $1 }'`" - echo "$host,$ip `cat $HOSTCONFIGDIR/ssh_host_rsa_key.pub`" >> $LOOPDIR/root/.ssh/known_hosts - echo "`cat $HOSTCONFIGDIR/ssh_host_rsa_key.pub` root@$host" >> $LOOPDIR/root/.ssh/authorized_keys + echo "$host,$ip `cat $LOOPDIR/etc/ssh/ssh_host_rsa_key.pub`" >> $LOOPDIR/root/.ssh/known_hosts + echo "`cat $LOOPDIR/etc/ssh/ssh_host_rsa_key.pub` root@$host" >> $LOOPDIR/root/.ssh/authorized_keys done -###################################################### -# defining an empty modules.dep -# - -if [ $UMLPATCH ] -then - mkdir $LOOPDIR/lib/modules/`basename $UMLPATCH .bz2 | sed s/uml-patch-//`um - touch $LOOPDIR/lib/modules/`basename $UMLPATCH .bz2 | sed s/uml-patch-//`um/modules.dep -else - mkdir $LOOPDIR/lib/modules/$KERNELVERSION - touch $LOOPDIR/lib/modules/$KERNELVERSION/modules.dep -fi - umount $LOOPDIR |