Added snapshot for debootstrap completion and when system is updated with extra packages before Whonix is installed for debugging only (SNAPSHOT must be set to "1"

Tweaked Whonix configurations some more so it should now run without errors
This commit is contained in:
Jason Mehring 2014-10-16 16:05:28 -04:00
parent 1334b8ae50
commit 4e2a9158a8
4 changed files with 40 additions and 20 deletions

View File

@ -10,15 +10,15 @@
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Configurations # Configurations
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
INSTALLDIR="$(readlink -m mnt)"
umount_kill "$INSTALLDIR" || :
if [ "$VERBOSE" -ge 2 -o "$DEBUG" == "1" ]; then if [ "$VERBOSE" -ge 2 -o "$DEBUG" == "1" ]; then
set -x set -x
else else
set -e set -e
fi fi
INSTALLDIR="$(readlink -m mnt)"
umount_kill "$INSTALLDIR" || :
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Execute any custom pre configuration scripts # Execute any custom pre configuration scripts
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------

View File

@ -13,10 +13,10 @@
################################################################################ ################################################################################
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Return if DEBUG is not "1" # Return if SNAPSHOT is not "1"
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# This script is only used if DEBUG is set # This script is only used if SNAPSHOT is set
if [ ! "$DEBUG" == "1" ]; then if [ ! "$SNAPSHOT" == "1" ]; then
exit 0 exit 0
fi fi
@ -39,10 +39,10 @@ INSTALLDIR="$(readlink -m mnt)"
umount_kill "$INSTALLDIR" || : umount_kill "$INSTALLDIR" || :
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Use an already prepared debian image to install Whonix (for DEBUGGING) # Use a snapshot of the debootstraped debian image to install Whonix (for DEBUGGING)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
splitPath "$IMG" path_parts splitPath "$IMG" path_parts
PREPARED_IMG="${path_parts[dir]}${path_parts[base]}-prepared${path_parts[dotext]}" PREPARED_IMG="${path_parts[dir]}${path_parts[base]}-debootstrap${path_parts[dotext]}"
if [ -f "$PREPARED_IMG" ]; then if [ -f "$PREPARED_IMG" ]; then
warn "Copying $PREPARED_IMG to $IMG" warn "Copying $PREPARED_IMG to $IMG"

View File

@ -2,10 +2,10 @@
# vim: set ts=4 sw=4 sts=4 et : # vim: set ts=4 sw=4 sts=4 et :
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Return if DEBUG is not "1" # Return if SNAPSHOT is not "1"
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# This script is only used if DEBUG is set # This script is only used if SNAPSHOT is set
if [ ! "$DEBUG" == "1" ]; then if [ ! "$SNAPSHOT" == "1" ]; then
exit 0 exit 0
fi fi
@ -25,10 +25,10 @@ else
fi fi
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# Create a copy of an already prepared bootstraped image if it does not exist # Create a snapshot of the already debootstraped image
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
splitPath "$IMG" path_parts splitPath "$IMG" path_parts
PREPARED_IMG="${path_parts[dir]}${path_parts[base]}-prepared${path_parts[dotext]}" PREPARED_IMG="${path_parts[dir]}${path_parts[base]}-debootstrap${path_parts[dotext]}"
if ! [ -f "$PREPARED_IMG" ]; then if ! [ -f "$PREPARED_IMG" ]; then
umount_kill "$INSTALLDIR" || : umount_kill "$INSTALLDIR" || :

View File

@ -16,6 +16,24 @@ else
set -e set -e
fi fi
# ------------------------------------------------------------------------------
# XXX: Create a snapshot - Only for DEBUGGING!
# ------------------------------------------------------------------------------
# Only execute if SNAPSHOT is set
if [ "$SNAPSHOT" == "1" ]; then
splitPath "$IMG" path_parts
PREPARED_IMG="${path_parts[dir]}${path_parts[base]}-updated${path_parts[dotext]}"
if ! [ -f "$PREPARED_IMG" ]; then
umount_kill "$INSTALLDIR" || :
warn "Copying $IMG to $PREPARED_IMG"
cp -f "$IMG" "$PREPARED_IMG"
mount -o loop "$IMG" "$INSTALLDIR" || exit 1
for fs in /dev /dev/pts /proc /sys /run; do mount -B $fs "$INSTALLDIR/$fs"; done
fi
fi
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
# chroot Whonix build script (Make sure set -e is not set) # chroot Whonix build script (Make sure set -e is not set)
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
@ -166,13 +184,6 @@ if ! [ -f "$INSTALLDIR/tmp/.prepared_whonix" ]; then
# Patch anon-meta-packages to not depend on grub-pc # Patch anon-meta-packages to not depend on grub-pc
# XXX: Seems like the error disappears, but then whonix updates to original code? # XXX: Seems like the error disappears, but then whonix updates to original code?
pushd "$WHONIX_DIR/packages/anon-meta-packages/debian"
{
sed -i 's/ grub-pc,//g' control || :;
su $USER -c "git commit -am 'removed grub-pc depend'" || :;
}
popd
pushd "$WHONIX_DIR" pushd "$WHONIX_DIR"
{ {
sed -i 's/grub-pc//g' grml_packages || :; sed -i 's/grub-pc//g' grml_packages || :;
@ -180,9 +191,18 @@ if ! [ -f "$INSTALLDIR/tmp/.prepared_whonix" ]; then
} }
popd popd
pushd "$WHONIX_DIR/packages/anon-meta-packages/debian"
{
sed -i 's/ grub-pc,//g' control || :;
su $USER -c "dpkg-source --commit" || :;
su $USER -c "git commit -am 'removed grub-pc depend'" || :;
}
popd
pushd "$WHONIX_DIR/packages/anon-shared-build-fix-grub/usr/lib/anon-dist/chroot-scripts-post.d" pushd "$WHONIX_DIR/packages/anon-shared-build-fix-grub/usr/lib/anon-dist/chroot-scripts-post.d"
{ {
sed -i 's/update-grub/:/g' 85_update_grub || :; sed -i 's/update-grub/:/g' 85_update_grub || :;
su $USER -c "dpkg-source --commit" || :;
su $USER -c "git commit -am 'removed grub-pc depend'" || :; su $USER -c "git commit -am 'removed grub-pc depend'" || :;
} }
popd popd