aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorrn@wyvis.research.intel-research.net <rn@wyvis.research.intel-research.net>2003-03-14 16:38:30 +0000
committerrn@wyvis.research.intel-research.net <rn@wyvis.research.intel-research.net>2003-03-14 16:38:30 +0000
commitc329d4eb3cad3fcd7ae879d56b8417bff52164c3 (patch)
treeff0f6a7f009eadab7fb0f6326877a4b2f5d87a84 /tools
parent0ec37682a14624a0f5097be9ea1fec77453dc8c1 (diff)
parent613fef53128798bc1459ee493f0d6ee64e2c0a41 (diff)
downloadxen-c329d4eb3cad3fcd7ae879d56b8417bff52164c3.tar.gz
xen-c329d4eb3cad3fcd7ae879d56b8417bff52164c3.tar.bz2
xen-c329d4eb3cad3fcd7ae879d56b8417bff52164c3.zip
bitkeeper revision 1.127 (3e720586O6aVrNSfBP-JoasaybnNsg)
I have no idea what this is merges of merges....
Diffstat (limited to 'tools')
-rwxr-xr-xtools/domain_builder/mynewdom52
1 files changed, 52 insertions, 0 deletions
diff --git a/tools/domain_builder/mynewdom b/tools/domain_builder/mynewdom
new file mode 100755
index 0000000000..fd5d8763f6
--- /dev/null
+++ b/tools/domain_builder/mynewdom
@@ -0,0 +1,52 @@
+#!/bin/sh
+
+# mynewdom <size> <extra args>
+
+SIZE=${1:?"size missing"}
+
+shift;
+
+ARGS="$*"
+
+IMAGE=../../../xenolinux-2.4.21-pre4/arch/xeno/boot/image
+
+
+LASTDOM=`/bin/ls /proc/xeno/ | grep -v cmd | cut -c4- | sort -rn | head -1`
+DOM=$[LASTDOM+1]
+
+echo Domain ${DOM} looks free
+
+ADDR=`/sbin/ifconfig eth0 | grep inet.addr | sed -e 's/.*inet addr:\([0-9.]*\) .*/\1/'`
+LO=`echo $ADDR | sed -e 's/[0-9]\+\.[0-9]\+\.[0-9]\+\.\([0-9]\+\)/\1/'`
+HI=`echo $ADDR | sed -e 's/\([0-9]\+\.[0-9]\+\.[0-9]\+\)\.[0-9]\+/\1/'`
+NEWADDR=$HI.$[LO+DOM]
+
+echo New IP address : ${NEWADDR}
+
+CMDLINE=`cat /proc/cmdline`
+case $CMDLINE in
+*root=/dev/nfs*)
+ROOT_DIR=`echo $CMDLINE | sed -e 's,.*nfsroot=\([^ ]*\).*,\1,'`
+ROOT_PATH=`echo $ROOT_DIR | sed -e 's!^\(.*\)[0-9]\+$!\1!'`
+ROOT_NUM=`echo $ROOT_DIR | sed -e 's!^.*\([0-9]\+\)$!\1!'`
+NEWROOT_DEV="root=/dev/nfs nfsroot=${ROOT_PATH}$[ROOT_NUM+DOM]"
+;;
+*root=/dev/[hs]d[abcd][0-9]*|*root=/dev/x[hs]d[abcd][0-9]*)
+ROOT_DEV=`echo $CMDLINE | sed -e 's!^.*root=\(/dev/[x]*[hs]da[0-9]\+\).*$!\1!'`
+ROOT_DISK=`echo $ROOT_DEV | sed -e 's!\(/dev/[x]\?[hs]d[a-z]\)[0-9]\+!\1!'`
+ROOT_PART=`echo $ROOT_DEV | sed -e 's!/dev/[x]\?[hs]d[a-z]\([0-9]\+\)!\1!'`
+NEWROOT_DEV="root=${ROOT_DISK}$[ROOT_PART+DOM] ro"
+;;
+*)
+echo Could not determine root from /proc/cmdline
+exit
+;;
+esac
+
+echo New root arguments : ${NEWROOT_DEV}
+
+echo ./newdom ${SIZE} ${IMAGE} ${NEWADDR} ${NEWROOT_DEV} ${ARGS}
+
+./newdom ${SIZE} ${IMAGE} ${NEWADDR} ${NEWROOT_DEV} ${ARGS}
+
+