home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / sys / vax / dist / get < prev    next >
Encoding:
Text File  |  1991-05-08  |  4.3 KB  |  150 lines

  1. #!/bin/sh -
  2. #
  3. # Copyright (c) 1990 The Regents of the University of California.
  4. # All rights reserved.
  5. #
  6. # Redistribution and use in source and binary forms, with or without
  7. # modification, are permitted provided that the following conditions
  8. # are met:
  9. # 1. Redistributions of source code must retain the above copyright
  10. #    notice, this list of conditions and the following disclaimer.
  11. # 2. Redistributions in binary form must reproduce the above copyright
  12. #    notice, this list of conditions and the following disclaimer in the
  13. #    documentation and/or other materials provided with the distribution.
  14. # 3. All advertising materials mentioning features or use of this software
  15. #    must display the following acknowledgement:
  16. #    This product includes software developed by the University of
  17. #    California, Berkeley and its contributors.
  18. # 4. Neither the name of the University nor the names of its contributors
  19. #    may be used to endorse or promote products derived from this software
  20. #    without specific prior written permission.
  21. #
  22. # THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  23. # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  24. # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  25. # ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  26. # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  27. # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  28. # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  29. # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  30. # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  31. # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  32. # SUCH DAMAGE.
  33. #
  34. #    @(#)get    4.27 (Berkeley) 7/5/90
  35. #
  36.  
  37. # Shell script to build a mini-root file system in preparation for building
  38. # a distribution tape.  The file system created here is image copied onto
  39. # tape, then image copied onto disk as the "first" step in a cold boot o
  40. # 4.3 systems.
  41.  
  42. DISTROOT=/mnt
  43. DISTUSR=/mnt/usr/DISTUSR
  44.  
  45. if [ `pwd` = '/' ]
  46. then
  47.     echo You just '(almost)' destroyed the root
  48.     exit
  49. fi
  50. cp /tmp/stripped_vmunix vmunix
  51.  
  52. # create necessary directories
  53. DIRLIST="bin dev etc a tmp stand sbin usr usr/mdec sys sys/floppy \
  54.     sys/cassette sys/consolerl"
  55. rm -rf $DIRLIST
  56. mkdir $DIRLIST
  57.  
  58. ETC="disktab"
  59. for i in $ETC; do
  60.     cp $DISTROOT/etc/$i etc/$i
  61. done
  62.  
  63. # disklabel
  64. SBIN="fsck ifconfig init mknod mount newfs restore \
  65.     rrestore umount"
  66. USBIN="arff flcopy"
  67. for i in $SBIN; do
  68.     cp $DISTROOT/sbin/$i sbin/$i
  69. done
  70. for i in $USBIN; do
  71.     cp $DISTUSR/sbin/$i sbin/$i
  72. done
  73.  
  74. # ed
  75. BIN="[ cat cp dd echo expr ls mkdir mv rcp rm sh stty sync"
  76. UBIN="awk make mt"
  77. for i in $BIN; do
  78.     cp $DISTROOT/bin/$i bin/$i
  79. done
  80. for i in $UBIN; do
  81.     cp $DISTUSR/bin/$i bin/$i
  82. done
  83. ln bin/stty bin/STTY
  84.  
  85. cp /nbsd/sys/floppy/[Ma-z0-9]* sys/floppy
  86. cp /nbsd/sys/consolerl/[Ma-z0-9]* sys/consolerl
  87. #cp -r /nbsd/sys/cassette/[Ma-z0-9]* sys/cassette
  88. cp /nbsd/sys/cassette/[Ma-z0-9]* sys/cassette
  89. cp $DISTROOT/boot boot
  90. cp $DISTROOT/pcs750.bin pcs750.bin
  91. cp $DISTROOT/.profile .profile
  92.  
  93. cat >etc/passwd <<EOF
  94. root::0:10::/:/bin/sh
  95. EOF
  96.  
  97. cat >etc/group <<EOF
  98. wheel:*:0:
  99. staff:*:10:
  100. EOF
  101.  
  102. cat >etc/fstab <<EOF
  103. /dev/hp0a:/a:xx:1:1
  104. /dev/up0a:/a:xx:1:1
  105. /dev/hk0a:/a:xx:1:1
  106. /dev/ra0a:/a:xx:1:1
  107. /dev/rb0a:/a:xx:1:1
  108. EOF
  109.  
  110. cat >xtr <<'EOF'
  111. : ${disk?'Usage: disk=xx0 type=tt tape=yy xtr'}
  112. : ${type?'Usage: disk=xx0 type=tt tape=yy xtr'}
  113. : ${tape?'Usage: disk=xx0 type=tt tape=yy xtr'}
  114. echo 'Build root file system'
  115. newfs ${disk}a ${type}
  116. sync
  117. echo 'Check the file system'
  118. fsck /dev/r${disk}a
  119. mount /dev/${disk}a /a
  120. cd /a
  121. echo 'Rewind tape'
  122. mt -f /dev/${tape}0 rew
  123. echo 'Restore the dump image of the root'
  124. restore rsf 3 /dev/${tape}0
  125. cd /
  126. sync
  127. umount /dev/${disk}a
  128. sync
  129. fsck /dev/r${disk}a
  130. echo 'Root filesystem extracted'
  131. echo
  132. echo 'If this is an 8650 or 8600, update the console rl02'
  133. echo 'If this is a 780 or 785, update the floppy'
  134. echo 'If this is a 730, update the cassette'
  135. EOF
  136. chmod +x xtr
  137. rm -rf dev; mkdir dev
  138. cp $DISTROOT/dev/MAKEDEV dev
  139. chmod +x dev/MAKEDEV
  140. cp /dev/null dev/MAKEDEV.local
  141. cd dev
  142. ./MAKEDEV std hp0 hk0 up0 ra0 rb0
  143. ./MAKEDEV ts0; mv rmt12 ts0; rm *mt*;
  144. ./MAKEDEV tm0; mv rmt12 tm0; rm *mt*;
  145. ./MAKEDEV ht0; mv rmt12 ht0; rm *mt*;
  146. ./MAKEDEV ut0; mv rmt12 ut0; rm *mt*;
  147. ./MAKEDEV mt0; mv rmt12 xt0; rm *mt*; mv xt0 mt0
  148. cd ..
  149. sync
  150.