17 echo "$0 kernel.rpm vnet.rpm"
24 if [ -f "$filename" -a $(rpm -qip $filename | wc -l) -eq 1 ] ; then
25 echo "$filename not a valid rpm file"
30 [ -z "$kernelrpm" -o -z "$vnetrpm" ] && usage
34 isofs=/plc/root/usr/share/bootcd/build/isofs
35 tmpdir=$(mktemp -d /tmp/bootcd.XXXXXX)
37 if [ -d ../bootmanager ] ; then
38 MERGE=${cur}/../bootmanager/source/merge_hw_tables.py
40 echo "cannot find merge_hw_tables.py"
44 myplcwebdir=/plc/data/var/www/html
46 echo -n "Updating myplc planetlab yum repository with $kernelrpm"
47 rm -f ${myplcwebdir}/install-rpms/planetlab/kernel-*
48 cp $cur/$kernelrpm ${myplcwebdir}/install-rpms/planetlab
50 echo -n " and $vnetrpm"
51 rm -f ${myplcwebdir}/install-rpms/planetlab/vnet-*
52 cp $cur/$vnetrpm ${myplcwebdir}/install-rpms/planetlab
56 echo "Updating bootcd image with $kernelrpm"
60 gzip -d -c $isofs/bootcd.img | cpio -diu
63 rpm2cpio $cur/$kernelrpm | cpio -diu
64 version=$(cd ./boot && ls vmlinuz* | sed 's,vmlinuz-,,')
66 pci_map_file=./lib/modules/${version}/modules.pcimap
67 module_dep_file=./lib/modules/${version}/modules.dep
68 pci_table=./usr/share/hwdata/pcitable
69 $MERGE $module_dep_file $pci_map_file $pci_table ./etc/pl_pcitable
70 cp boot/vmlinuz* ${tmpdir}/kernel
71 find . | cpio --quiet -c -o | gzip -9 > ${tmpdir}/bootcd.img
74 mv ${tmpdir}/kernel $isofs
75 mv ${tmpdir}/bootcd.img $isofs
80 echo -n "update PlanetLab-Bootstrap.tar.bz2 with $kernelrpm"
81 tmpdir=$(mktemp -d ${myplcwebdir}/boot/bootstrap.XXXXXX)
84 cp $cur/$kernelrpm ${tmpdir}/kernel.rpm
85 cp $cur/$vnetrpm ${tmpdir}/vnet.rpm
86 echo -n " ... untarring PlanetLab-Bootstrap.tar.bz2"
88 tar -jxpf ${myplcwebdir}/boot/PlanetLab-Bootstrap.tar.bz2
90 chroot $tmpdir rpm -e --allmatches --nodeps --noscripts vnet
91 chroot $tmpdir rpm -e --allmatches --nodeps kernel
92 files="${tmpdir}/kernel.rpm ${tmpdir}/vnet.rpm"
93 chroot $tmpdir rpm -Uvh kernel.rpm
94 chroot $tmpdir rpm -Uvh vnet.rpm
97 echo -n " ... tarring PlanetLab-Bootstrap.tar.bz2"
99 tar -jcpf ${myplcwebdir}/boot/PlanetLab-Bootstrap.tar.bz2.new ./
101 mv ${myplcwebdir}/boot/PlanetLab-Bootstrap.tar.bz2.new ${myplcwebdir}/boot/PlanetLab-Bootstrap.tar.bz2