Skip to content

Instantly share code, notes, and snippets.

@justindthomas
Last active February 19, 2016 22:54
Show Gist options
  • Save justindthomas/c24ec192a8b45e108b89 to your computer and use it in GitHub Desktop.
Save justindthomas/c24ec192a8b45e108b89 to your computer and use it in GitHub Desktop.
## Prepare VyOS image
VYOS_URL="http://mirror.tuxhelp.org/vyos/iso/release/1.1.7/vyos-1.1.7-i586-virt.iso"
if [ ! -f $ROOT_DIR/tmp/vyos.iso.dist ]; then
echo "Preparing base VyOS image..."
wget $VYOS_URL -O $ROOT_DIR/tmp/vyos.iso.dist
mkdir -p $ROOT_DIR/tmp/mnt
sudo mount -o loop -t iso9660 $ROOT_DIR/tmp/vyos.iso.dist $ROOT_DIR/tmp/mnt
mkdir -p $ROOT_DIR/tmp/vyos-orig
cp -r $ROOT_DIR/tmp/mnt/* $ROOT_DIR/tmp/vyos-orig/
### Clean-up
sudo umount $ROOT_DIR/tmp/mnt
fi
...FURTHER DOWN IN THE SCRIPT...
elif [ $base == "vyos" ] || [ $base == "vyos-dev" ]; then
DEV_FLAG=''
if [ $base == "vyos-dev" ]; then
DEV_FLAG='-dev'
fi
echo "Building VyOS instance..."
## Customize VyOS image
mkdir -p $ROOT_DIR/tmp/$name-work/
cp -r $ROOT_DIR/tmp/vyos"${DEV_FLAG}"-orig/* $ROOT_DIR/tmp/$name-work/
cd $ROOT_DIR/tmp/$name-work && sudo unsquashfs live/filesystem.squashfs
sudo cp $ROOT_DIR/instance-files/$name/config.boot $ROOT_DIR/tmp/$name-work/squashfs-root/opt/vyatta/etc/config/
sudo rm $ROOT_DIR/tmp/$name-work/live/filesystem.squashfs
sudo mksquashfs $ROOT_DIR/tmp/$name-work/squashfs-root $ROOT_DIR/tmp/$name-work/live/filesystem.squashfs -b 1024k -e boot
cd $ROOT_DIR && sudo rm -rf $ROOT_DIR/tmp/$name-work/squashfs-root
cd $ROOT_DIR/tmp/$name-work && sudo mkisofs -o $ROOT_DIR/tmp/"${name}_${now}.iso" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -l .
### Clean-up
cd $ROOT_DIR && sudo rm -rf $ROOT_DIR/tmp/$name-work $ROOT_DIR/tmp/mnt
storage="{\"cdrom\":{\"image\":\"${ROOT_DIR}/tmp/${name}_${now}.iso\",\"type\":\"raw\"}}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment