Annotation of embedaddon/strongswan/testing/scripts/build-rootimage, revision 1.1.1.1

1.1       misho       1: #!/bin/bash
                      2: # Create guest root image
                      3: #
                      4: # Copyright (C) 2004  Eric Marchionni, Patrik Rayo
                      5: # Zuercher Hochschule Winterthur
                      6: #
                      7: # This program is free software; you can redistribute it and/or modify it
                      8: # under the terms of the GNU General Public License as published by the
                      9: # Free Software Foundation; either version 2 of the License, or (at your
                     10: # option) any later version.  See <http://www.fsf.org/copyleft/gpl.txt>.
                     11: #
                     12: # This program is distributed in the hope that it will be useful, but
                     13: # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
                     14: # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
                     15: # for more details.
                     16: 
                     17: echo "Building root image"
                     18: 
                     19: DIR=$(dirname `readlink -f $0`)
                     20: . $DIR/../testing.conf
                     21: . $DIR/function.sh
                     22: 
                     23: [ `id -u` -eq 0 ] || die "You must be root to run $0"
                     24: [ -f "$BASEIMG" ] || die "Base image $BASEIMG not found"
                     25: running_any $STRONGSWANHOSTS && die "Please stop test environment before running $0"
                     26: 
                     27: check_commands partprobe qemu-img qemu-nbd
                     28: 
                     29: load_qemu_nbd
                     30: 
                     31: mkdir -p $LOOPDIR
                     32: mkdir -p $SHAREDDIR/compile
                     33: mkdir -p $IMGDIR
                     34: 
                     35: log_action "Creating root image $ROOTIMG"
                     36: execute "qemu-img create -b $BASEIMG -f $IMGEXT $ROOTIMG"
                     37: 
                     38: log_action "Connecting root image to NBD device $NBDEV"
                     39: execute "qemu-nbd -c $NBDEV $ROOTIMG"
                     40: do_on_exit qemu-nbd -d $NBDEV
                     41: partprobe $NBDEV
                     42: 
                     43: log_action "Mounting $NBDPARTITION to $LOOPDIR"
                     44: execute "mount $NBDPARTITION $LOOPDIR"
                     45: do_on_exit umount $LOOPDIR
                     46: 
                     47: log_action "Mounting proc filesystem to $LOOPDIR/proc"
                     48: execute "mount -t proc none $LOOPDIR/proc"
                     49: do_on_exit umount $LOOPDIR/proc
                     50: 
                     51: mkdir -p $LOOPDIR/root/shared
                     52: log_action "Mounting $SHAREDDIR as /root/shared"
                     53: execute "mount -o bind $SHAREDDIR $LOOPDIR/root/shared"
                     54: do_on_exit umount $LOOPDIR/root/shared
                     55: 
                     56: echo "Installing software from source"
                     57: RECPDIR=$DIR/recipes
                     58: if [ -d "$RECPDIR/patches" ]
                     59: then
                     60:        execute "cp -r $RECPDIR/patches $LOOPDIR/root/shared/compile" 0
                     61: fi
                     62: RECIPES=`ls $RECPDIR/*.mk | xargs -n1 basename`
                     63: for r in $RECIPES
                     64: do
                     65:        cp $RECPDIR/$r ${LOOPDIR}/root/shared/compile
                     66:        log_action "Installing from recipe $r"
                     67:        execute_chroot "make SWANVERSION=$SWANVERSION -C /root/shared/compile -f $r"
                     68: done
                     69: 
                     70: log_action "Removing /etc/resolv.conf"
                     71: execute "rm -f $LOOPDIR/etc/resolv.conf"

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>