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