From dd3aca64b0b650a9e79b783e085f586f6782315a Mon Sep 17 00:00:00 2001 From: Marc Fiuczynski Date: Wed, 2 Mar 2005 21:19:30 +0000 Subject: [PATCH] moved to emu repository --- emsetup.sh | 376 ----------------------------------------------------- 1 file changed, 376 deletions(-) delete mode 100755 emsetup.sh diff --git a/emsetup.sh b/emsetup.sh deleted file mode 100755 index d7235a55..00000000 --- a/emsetup.sh +++ /dev/null @@ -1,376 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2005 The Trustees of Princeton University (Trustees). -# All Rights Reserved. -# -# Original from Mark Huang to setup uml -# Adapted by Marc Fiucznski to support qemu -# -# umsetup is used to create a filesystem image, kernel, and related -# files needed to run either UML or qemu. It is intended to be used -# either by individuals for their own testing purposes, or as a -# nightly script on an build/qa system for automated testing. -# -# $Id:$ - -STEPS="Mkfs Install InstallKernel InstallVRef Config" - -usage () -{ - echo "usage: $0 [-s $STEPS] [-t uml|qemu] [-y yum.conf] [kernelbuilddir] [installroot] [package ...]" - exit 1 -} - -# default filesystem setup for uml -TYPE="qemu" - -# defaults -YUMCONF= -UTS_RELEASE= - -# Must be root for some tasks -if [ $UID -ne 0 ] ; then - echo "Must be root to run $0" - exit 1 -fi - -# Get options -while getopts 's:i:t:y:h' OPT ; do - case "$OPT" in - s) - STEPS=$OPTARG - ;; - - t) - case "$OPTARG" in - uml) - TYPE="uml" - ;; - qemu) - TYPE="qemu" - ;; - *) - echo "expecting 'uml' or 'qemu', got $OPTARG" - usage - ;; - esac - ;; - - y) - YUMCONF=$OPTARG - if [ ! -f "$YUMCONF" ]; then - echo "yum configuration file $YUMCONF not found" - usage - fi - ;; - - h) - usage - ;; - esac -done - -# Get arguments -shift $(($OPTIND - 1)) -KERNEL=$1 -shift -INSTALLROOT=$1 -PACKAGE="$@" - - -# setup the UTS_RELEASE -if [ -d "$KERNEL" -a -f "$KERNEL/include/linux/version.h" ] ; then - eval UTS_RELEASE=$(echo "#include " | cpp -I "$KERNEL/include" -dM - | awk '/UTS_RELEASE/ { print $3 }') -else - echo "$KERNEL is not a valid linux kernel directory" - exit 0 -fi - -# set installation mount point -if [ -z "$INSTALLROOT" ] ; then - INSTALLROOT=$(mktemp -d "/tmp/mountpoint.XXXXXX") -fi -# Convert to absolute path -INSTALLROOT=$(cd $INSTALLROOT && pwd) - -# set packages -if [ -z "$PACKAGE" ] ; then - PACKAGE=PlanetLab -fi - -# Bail on any simple error -set -e - -# Be verbose -set -x - -Unmount () -{ - # Unmount / image - if grep -q $INSTALLROOT /etc/mtab ; then - umount $INSTALLROOT - rmdir $INSTALLROOT - fi -} - -Mount () -{ - # Mount / image - if ! grep -q $INSTALLROOT /etc/mtab ; then - mkdir -p $INSTALLROOT - modprobe loop - mount -o loop fs.img $INSTALLROOT - fi -} - -Mkfs () -{ - # Make / image - if [ ! -f fs.img ] ; then - dd bs=1M count=2048 < /dev/zero > fs.img - fi - /sbin/mkfs.ext2 -F -j fs.img -} - -MakeDevs () -{ - FAKEROOT=$1 - if [ ! -z "$FAKEROOT" -a "$FAKEROOT" != "/" ] ; then - rm -rf $FAKEROOT/dev - mkdir -p $FAKEROOT/dev - mknod -m 666 $FAKEROOT/dev/null c 1 3 - mknod -m 666 $FAKEROOT/dev/zero c 1 5 - mknod -m 666 $FAKEROOT/dev/full c 1 7 - mknod -m 644 $FAKEROOT/dev/random c 1 8 - mknod -m 644 $FAKEROOT/dev/urandom c 1 9 - mknod -m 666 $FAKEROOT/dev/tty c 5 0 - mknod -m 666 $FAKEROOT/dev/ptmx c 5 2 - mkdir -p $FAKEROOT/dev/pts - # well, /proc really is not in /dev - mkdir -p $FAKEROOT/proc - fi -} - -Install () -{ - Mount - - # Bootstrap RPM - mkdir -p $INSTALLROOT/var/lib/rpm - mkdir -p $INSTALLROOT/etc/rpm - - # Only install English language locale files - cat > $INSTALLROOT/etc/rpm/macros < $INSTALLROOT/etc/fstab < $INSTALLROOT/etc/fstab <> $INSTALLROOT/etc/fstab < $VROOT/etc/fstab < $VROOT/etc/rpm/macros < $INSTALLROOT/etc/hosts <