17 program=$(basename $0)
19 echo " $program kernel.rpm vnet.rpm"
20 echo " where kernel.rpm and vnet.rpm are the corresponding rpm files,"
21 echo " which might live in ./RPMS/..."
28 if [ -f "$filename" -a $(rpm -qip $filename | wc -l) -eq 1 ] ; then
29 echo "$filename not a valid rpm file"
34 [ -z "$kernelrpm" -o -z "$vnetrpm" ] && usage
38 isofs=/plc/root/usr/share/bootcd/build/isofs
39 tmpdir=$(mktemp -d /tmp/bootcd.XXXXXX)
41 if [ -f ${cur}/merge_hw_tables.py ] ; then
42 MERGE=${cur}/merge_hw_tables.py
43 chmod +x ${cur}/merge_hw_tables.py
45 echo "fetching merge_hw_tables.py from cvs repository"
46 cvs -d :pserver:anonymous@cvs.planet-lab.org:/cvs co -p bootmanager/source/merge_hw_tables.py > ${cur}/merge_hw_tables.py
47 chmod +x ${cur}/merge_hw_tables.py
48 MERGE=${cur}/merge_hw_tables.py
51 myplcwebdir=/plc/data/var/www/html
53 echo -n "Updating myplc planetlab yum repository with $kernelrpm"
54 rm -f ${myplcwebdir}/install-rpms/planetlab/kernel-*
55 cp $cur/$kernelrpm ${myplcwebdir}/install-rpms/planetlab
57 echo -n " and $vnetrpm"
58 rm -f ${myplcwebdir}/install-rpms/planetlab/vnet-*
59 cp $cur/$vnetrpm ${myplcwebdir}/install-rpms/planetlab
63 echo "Updating bootcd image with $kernelrpm"
67 gzip -d -c $isofs/bootcd.img | cpio -diu
70 rpm2cpio $cur/$kernelrpm | cpio -diu
71 version=$(cd ./boot && ls vmlinuz* | sed 's,vmlinuz-,,')
73 pci_map_file=./lib/modules/${version}/modules.pcimap
74 module_dep_file=./lib/modules/${version}/modules.dep
75 pci_table=./usr/share/hwdata/pcitable
76 $MERGE $module_dep_file $pci_map_file $pci_table ./etc/pl_pcitable
77 cp boot/vmlinuz* ${tmpdir}/kernel
78 find . | cpio --quiet -c -o | gzip -9 > ${tmpdir}/bootcd.img
81 mv ${tmpdir}/kernel $isofs
82 mv ${tmpdir}/bootcd.img $isofs
87 echo -n "update PlanetLab-Bootstrap.tar.bz2 with $kernelrpm"
88 tmpdir=$(mktemp -d ${myplcwebdir}/boot/bootstrap.XXXXXX)
91 cp $cur/$kernelrpm ${tmpdir}/kernel.rpm
92 cp $cur/$vnetrpm ${tmpdir}/vnet.rpm
93 echo -n " ... untarring PlanetLab-Bootstrap.tar.bz2"
95 tar -jxpf ${myplcwebdir}/boot/PlanetLab-Bootstrap.tar.bz2
97 chroot $tmpdir rpm -e --allmatches --nodeps --noscripts vnet
98 chroot $tmpdir rpm -e --allmatches --nodeps kernel
99 files="${tmpdir}/kernel.rpm ${tmpdir}/vnet.rpm"
100 chroot $tmpdir rpm -Uvh kernel.rpm
101 chroot $tmpdir rpm -Uvh vnet.rpm
104 echo -n " ... tarring PlanetLab-Bootstrap.tar.bz2"
106 tar -jcpf ${myplcwebdir}/boot/PlanetLab-Bootstrap.tar.bz2.new ./
108 mv ${myplcwebdir}/boot/PlanetLab-Bootstrap.tar.bz2.new ${myplcwebdir}/boot/PlanetLab-Bootstrap.tar.bz2