userinstall

Annotated uml-populate-image

32:deda6d07bdc4
2011-07-12 Paul Boddie Added a script which controls access to the UML image. Reorganised the image making script to delegate work to other scripts using the image access script.
paul@32 1
#!/bin/sh
paul@32 2
paul@32 3
# Configuration:
paul@32 4
if [ -e userinstall-defaults-uml ]; then
paul@32 5
        . "$PWD/userinstall-defaults-uml"
paul@32 6
elif [ -e /etc/default/userinstall-uml ]; then
paul@32 7
        . /etc/default/userinstall-uml
paul@32 8
else
paul@32 9
        echo "No defaults found for userinstall (UML)." 1>&2
paul@32 10
        exit 1
paul@32 11
fi
paul@32 12
paul@32 13
if [ ! -e "$PACKAGEROOT" ]; then
paul@32 14
	echo "A package root must first be made using user-setup." 1>&2
paul@32 15
	exit 1
paul@32 16
fi
paul@32 17
paul@32 18
if [ ! "$IMAGEDIR" ]; then
paul@32 19
	echo "An image directory must be defined." 1>&2
paul@32 20
	exit 1
paul@32 21
fi
paul@32 22
paul@32 23
THISDIR=`dirname "$0"`
paul@32 24
paul@32 25
echo "Installing the package root..." 1>&2
paul@32 26
cp -a "$PACKAGEROOT/"* "$IMAGEDIR"/
paul@32 27
paul@32 28
echo "Removing any linked /dev entry..." 1>&2
paul@32 29
if [ -h "$IMAGEDIR/dev" ]; then
paul@32 30
        rm "$IMAGEDIR/dev"
paul@32 31
fi
paul@32 32
paul@32 33
if [ ! -e "$IMAGEDIR/dev" ]; then
paul@32 34
        mkdir "$IMAGEDIR/dev"
paul@32 35
fi
paul@32 36
paul@32 37
cp "/dev/MAKEDEV" "$IMAGEDIR/dev"
paul@32 38
paul@32 39
echo "Removing any linked /proc entry..." 1>&2
paul@32 40
if [ -h "$IMAGEDIR/proc" ]; then
paul@32 41
        rm "$IMAGEDIR/proc"
paul@32 42
fi
paul@32 43
paul@32 44
if [ ! -e "$IMAGEDIR/proc" ]; then
paul@32 45
        mkdir "$IMAGEDIR/proc"
paul@32 46
fi
paul@32 47
paul@32 48
echo "Using a special fstab..." 1>&2
paul@32 49
if [ -e "$IMAGEDIR/etc/fstab" ]; then
paul@32 50
        if [ ! -e "$IMAGEDIR/etc/fstab.orig" ]; then
paul@32 51
                mv "$IMAGEDIR/etc/fstab" "$IMAGEDIR/etc/fstab.orig"
paul@32 52
        fi
paul@32 53
fi
paul@32 54
cp "$THISDIR/UML/fstab" "$IMAGEDIR/etc/fstab"
paul@32 55
paul@32 56
# Tweak the inittab to only use tty0 and add it to securetty.
paul@32 57
echo "Reconfiguring the console settings..." 1>&2
paul@32 58
if [ ! -e "$IMAGEDIR/etc/inittab.orig" ]; then
paul@32 59
	if [ -e "$IMAGEDIR/etc/inittab" ]; then
paul@32 60
		cp "$IMAGEDIR/etc/inittab" "$IMAGEDIR/etc/inittab.orig"
paul@32 61
		grep -v "getty" "$IMAGEDIR/etc/inittab.orig" > "$IMAGEDIR/etc/inittab"
paul@32 62
	fi
paul@32 63
	echo "# We launch just one console for UML:" >> "$IMAGEDIR/etc/inittab"
paul@32 64
	echo "c0:1235:respawn:/sbin/getty 38400 tty0 linux" >> "$IMAGEDIR/etc/inittab"
paul@32 65
paul@32 66
	echo "# UML modification: use tty0 or vc/0" >> "$IMAGEDIR/etc/securetty"
paul@32 67
	echo "tty0" >> "$IMAGEDIR/etc/securetty"
paul@32 68
	echo "vc/0" >> "$IMAGEDIR/etc/securetty"
paul@32 69
fi
paul@32 70
paul@32 71
sudo "$THISDIR/uml-make-devices" "$IMAGEDIR"