ia64/xen-unstable

view tools/misc/xen-clone @ 850:17e177bd54a9

bitkeeper revision 1.528 (3f8fc167wdsskH7154hC5n8rpjKSAw)

Merge labyrinth.cl.cam.ac.uk:/auto/groups/xeno/BK/xeno.bk
into labyrinth.cl.cam.ac.uk:/auto/anfs/scratch/labyrinth/iap10/xeno-clone/xeno.bk
author iap10@labyrinth.cl.cam.ac.uk
date Fri Oct 17 10:16:07 2003 +0000 (2003-10-17)
parents a0dc1607eee5 78052a1d23cf
children afd42c11240f
line source
1 #!/bin/sh -x
3 # usage: xen-clone bk_repository dest_dir orig_linux_dir
4 #
5 # this script contains some CL site specific details, but can easily be adapted
6 #
8 # test which site we're on
9 [ -d /usr/groups/xeno/ -a -d /usr/groups/srgboot ] && SITE=UCCL
11 case "$SITE" in
12 UCCL)
13 BK_REP=${1:-/usr/groups/xeno/BK/xeno.bk}
14 # BK_REP=${1:-xeno-master/xeno.bk}
15 LINUX_DIR=${3:-/usr/groups/xeno/archive/}
16 ;;
17 *)
18 BK_REP=${1:-bk://xen.bkbits.net/xeno-1.0.bk}
19 # BK_REP=${1:-ssh://xen@xen.bkbits.net/xeno-1.0.bk}
20 LINUX_DIR=${3:-..}
21 ;;
22 esac
24 DEST_DIR=${2:-xeno-clone}
25 DEST_BK_REP=`basename "${BK_REP}"`
27 echo usage: xen-clone bk_repository dest_dir orig_linux_dir
28 echo Source BK Repository : ${BK_REP}
29 echo Destination Dir/Repository : ${DEST_DIR}/${DEST_BK_REP}
30 echo Pristine Linux Source directory : ${LINUX_DIR}
32 mkdir -p ${DEST_DIR}
33 cd ${DEST_DIR}
34 TOP=`/bin/pwd`
36 # site-specific set up of installation directories
37 case "$SITE" in
38 UCCL)
39 PATH=$PATH:/usr/groups/xeno/build_tools/bin
40 mkdir -p install/boot
41 cd install/boot
42 ln -sf ../../../xeno-roots/roots .
43 ln -sf ../../../xeno-roots/usr .
44 ln -sf ../lib .
45 ln -sf ../bin .
46 ln -sf /usr/groups/srgboot/${USER}/xenoboot.sh .
47 ln -sf `pwd` /usr/groups/srgboot/${USER}/${DEST_DIR}
48 cd ../..
49 ;;
50 esac
52 # clone the master repository (now checked-out by default)
53 if [ ! -d ${DEST_BK_REP} ]
54 then
55 bk clone ${BK_REP} ${DEST_BK_REP}
56 else
57 cd ${DEST_BK_REP}
58 bk pull
59 cd ${TOP}
60 fi
62 # identify this version of linux
63 LINUX_VER=`( /bin/ls -ld ${DEST_BK_REP}/xenolinux-sparse || /bin/ls -ld xenolinux-*-sparse ) 2>/dev/null | sed -e 's!^.*xenolinux-\([0-9.]\+\)-sparse!\1!'`
65 # copy in the master Linux tree for this kernel
66 if [ ! -d linux-${LINUX_VER} ]
67 then
68 tar -jxf ${LINUX_DIR}/linux-${LINUX_VER}.tar.bz2 || tar -zxf ${LINUX_DIR}/linux-${LINUX_VER}.tar.gz || tar -zxf ${LINUX_DIR}/linux-${LINUX_VER}.tgz || cp -a ${LINUX_DIR}/linux-${LINUX_VER} . || wget ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-${LINUX_VER}.tar.gz -O- | tar -zxf - || exit -1
69 fi
71 # build and install Xen and tools
72 cd ${DEST_BK_REP}
73 make install
75 # Turn linux into xenolinux then build it
76 cd xenolinux-${LINUX_VER}-sparse
77 ./mkbuildtree ../../linux-${LINUX_VER}
78 cd ../..
79 mv linux-${LINUX_VER} xenolinux-${LINUX_VER}
80 cd xenolinux-${LINUX_VER}
81 export ARCH=xeno
82 export INSTALL_MOD_PATH=${TOP}/install
83 make oldconfig
84 make dep
85 make bzImage
86 make install
87 make modules
88 make modules_install
89 cd ..