#!/bin/sh -e

remount_root_rw()
{
    mntpt=$1;
    rest=$2;
    if [ -d $mntpt ]; then
        [ -z "$rest" ] || rest="-o $rest"
	(cd $mntpt && tar cp . 2> /dev/null) |\
	(mount -n -ttmpfs $rest /dev/shm $mntpt && tar x -m -C $mntpt/)
    fi
}

mount -n -t proc proc /proc
mount -n -t sysfs sysfs /sys
mount -n -t tmpfs tmpfs /tmp
remount_root_rw /dev
remount_root_rw /var

install2-x11-qt || /bin/sh

echo -n "Waiting for unfinished jobs... "
sync
wait
sleep 3
echo done.

mount -n -o remount,ro /mnt/destination
mount -n --move /image /mnt/destination/media ||:

umount -n /var
umount -n /dev
umount -n /tmp
umount -n /sys
umount -n /proc

cd /mnt/destination
pivot_root . ./mnt
exec chroot . /bin/sh -c "umount -n /mnt; exec /sbin/init 7" < dev/console > dev/console 2>&1
