home *** CD-ROM | disk | FTP | other *** search
/ Chip 1998 February / CHIP_2_98.iso / misc / src / trees / updboots < prev    next >
Text File  |  1997-08-29  |  3KB  |  130 lines

  1. #!/bin/sh
  2.  
  3. SCSIMODULES="
  4.     53c7,8xx.o BusLogic.o NCR53c406a.o advansys.o aha152x.o aha1542.o 
  5.     aha1740.o aic7xxx.o dtc.o eata_dma.o eata_pio.o fdomain.o 
  6.     g_NCR5380.o in2000.o pas16.o ppa.o qlogicfas.o qlogicisp.o 
  7.     seagate.o t128.o wd7000.o ultrastor.o u14-34f.o ncr53c8xx.o"
  8.  
  9. NETMODULES="apricot.o e2100.o eexpress.o eepro100.o
  10.     de4x5.o ewrk3.o hp-plus.o hp.o hp100.o ibmtr.o ne.o smc-ultra.o 
  11.     smc9194.o tulip.o wd.o plip.o 3c501.o 3c503.o 3c509.o 3c59x.o
  12.     8390.o de600.o de620.o depca.o arcnet.o at1700.o eepro.o ni52.o ni65.o"
  13.  
  14. CDMODULES="aztcd.o gscd.o mcd.o mcdx.o optcd.o sbpcd.o sjcd.o sonycd535.o
  15.       cdrom.o cdu31a.o cm206.o isp16.o bpcd.o"
  16.  
  17. BLOCKMODULES="loop.o"
  18.  
  19. LIBS="libnss_files libnss_dns libresolv"
  20.  
  21. MISCMODULES="lp.o"
  22.  
  23. FSMODULES="isofs.o nfs.o smbfs.o"
  24.  
  25. PCMCIAMODULES="pcmcia_core.o tcic.o ds.o i82365.o"
  26.  
  27. UNGZMODULES="8390.o.gz"
  28.  
  29. SBIN='$1/misc/src/install/install $1/misc/src/installinit/init /bin/cpio'
  30.  
  31. usage () {
  32.     echo "updboots: <imagetree> <kernel-version>" 2>&1
  33.     exit 1
  34. }
  35.  
  36. if [ -z "$1" -o -z "$2" ]; then
  37.     usage
  38. fi
  39.  
  40. if [ ! -d "$1/misc/src/install" ]; then
  41.     echo "$1 is not a valid directory" 2>&1
  42.     usage
  43. fi
  44.  
  45. if [ ! -d "/lib/modules/$2/scsi" ]; then
  46.     echo "$2 is not a valid modules directory" 2>&1
  47.     usage
  48. fi
  49.  
  50. if [ ! -f "/boot/vmlinuz-$2" ]; then
  51.     echo "/boot/vmlinuz-$2 does not exist"
  52.     usage
  53. fi
  54.  
  55. rm -rf initrd/modules
  56. mkdir initrd/modules
  57.  
  58. for n in $SCSIMODULES; do 
  59.     cp /lib/modules/$2/scsi/$n ./initrd/modules
  60. done
  61.  
  62. for n in $NETMODULES; do 
  63.     cp /lib/modules/$2/net/$n ./initrd/modules
  64. done
  65.  
  66. for n in $CDMODULES; do 
  67.     cp /lib/modules/$2/cdrom/$n ./initrd/modules
  68. done
  69.     
  70. for n in $MISCMODULES; do 
  71.     cp /lib/modules/$2/misc/$n ./initrd/modules
  72. done
  73.     
  74. for n in $FSMODULES; do 
  75.     cp /lib/modules/$2/fs/$n ./initrd/modules
  76. done
  77.  
  78. for n in $BLOCKMODULES; do 
  79.     cp /lib/modules/$2/block/$n ./initrd/modules
  80. done
  81.  
  82. SPACE1=`du -s initrd | awk '{print $1}'`
  83. #echo -n "Stripping modules... "
  84. #for n in initrd/modules/*.o; do
  85.     #strip `nm $n | grep ' [a-z] '| awk '{ print "--strip-symbol=" $3}'` $n
  86. #done
  87. SPACE2=`du -s initrd | awk '{print $1}'`
  88. #DIFF=`expr $SPACE1 - $SPACE2`
  89. #echo "done (saved ${DIFF}k)"
  90.  
  91. echo -n "Compressing modules... "
  92. (cd initrd/modules; gzip -9n *.o)
  93. (cd initrd/modules; gunzip $UNGZMODULES)
  94. SPACE1=`du -s initrd | awk '{print $1}'`
  95. SPACE1=`du -s initrd | awk '{print $1}'`
  96. DIFF=`expr $SPACE2 - $SPACE1`
  97. echo "done (saved ${DIFF}k)"
  98.  
  99. for n in $PCMCIAMODULES; do 
  100.     ln -s /lib/modules/$2/pcmcia/$n ./initrd/modules
  101. done
  102.  
  103. for n in $LIBS; do
  104.     # this preserves hard links
  105.     rm -f initrd/usr/lib/$n*
  106.     (cd /lib; tar cSpf - ${n}*) | (cd initrd/usr/lib; tar xSpf -)
  107. done
  108.  
  109. (cd initrd/usr/lib; file * | grep 'shared object' | cut -d: -f1 | xargs strip)
  110.  
  111. cp -a keymaps/keymaps.gz initrd/etc
  112.  
  113. for n in $SBIN; do
  114.     file=`eval echo $n`
  115.     strip $file
  116.     cp -f $file initrd/sbin
  117. done
  118.  
  119. rm -f initrd/usr/lib/rpmrc
  120. cp -a /usr/lib/rpmrc initrd/usr/lib/rpmrc
  121.  
  122. cp -f "/boot/vmlinuz-$2" boot/vmlinuz
  123.  
  124. ln -sf /sbin/init initrd/linuxrc
  125.  
  126. rm -f initrd/etc/mtab
  127. ln -sf /proc/mounts initrd/etc/mtab
  128.  
  129. cp boot/vmlinuz $1/dosutils/autoboot/vmlinuz
  130.