xref: /csrg-svn/sys/tahoe/dist/get (revision 30861)
1*30861Skarels#!/bin/sh -e
2*30861Skarels#
3*30861Skarels# Copyright (c) 1983 Regents of the University of California.
4*30861Skarels# All rights reserved.  The Berkeley software License Agreement
5*30861Skarels# specifies the terms and conditions for redistribution.
6*30861Skarels#
7*30861Skarels#	@(#)get	1.1 (Berkeley) 04/07/87
8*30861Skarels#
9*30861Skarels# Shell script to build a mini-root file system
10*30861Skarels# in preparation for building a distribution tape.
11*30861Skarels# The file system created here is image copied onto
12*30861Skarels# tape, then image copied onto disk as the "first"
13*30861Skarels# step in a cold boot of 4.3 systems.
14*30861Skarels#
15*30861SkarelsDISTROOT=/nbsd
16*30861Skarels#
17*30861Skarelsif [ `pwd` = '/' ]
18*30861Skarelsthen
19*30861Skarels	echo You just '(almost)' destroyed the root
20*30861Skarels	exit
21*30861Skarelsfi
22*30861Skarelscp $DISTROOT/sys/GENERIC/vmunix .
23*30861Skarelsrm -rf bin; mkdir bin
24*30861Skarelsrm -rf etc; mkdir etc
25*30861Skarelsrm -rf a; mkdir a
26*30861Skarelsrm -rf tmp; mkdir tmp
27*30861Skarelsrm -rf stand; mkdir stand
28*30861Skarelscp $DISTROOT/etc/disklabel etc
29*30861Skarelscp $DISTROOT/etc/disktab etc
30*30861Skarelscp $DISTROOT/etc/newfs etc
31*30861Skarelscp $DISTROOT/etc/restore etc
32*30861Skarelscp $DISTROOT/etc/rrestore etc
33*30861Skarelscp $DISTROOT/etc/init etc
34*30861Skarelscp $DISTROOT/etc/mount etc
35*30861Skarelscp $DISTROOT/etc/mknod etc
36*30861Skarelscp $DISTROOT/etc/fsck etc
37*30861Skarelscp $DISTROOT/etc/umount etc
38*30861Skarelscp $DISTROOT/etc/ifconfig etc
39*30861Skarelscp $DISTROOT/bin/dd bin
40*30861Skarelscp $DISTROOT/bin/mt bin
41*30861Skarelscp $DISTROOT/bin/ls bin
42*30861Skarelscp $DISTROOT/bin/sh bin
43*30861Skarelscp $DISTROOT/bin/mv bin
44*30861Skarelscp $DISTROOT/bin/sync bin
45*30861Skarelscp $DISTROOT/bin/cat bin
46*30861Skarelscp $DISTROOT/bin/mkdir bin
47*30861Skarelscp $DISTROOT/bin/stty bin; ln bin/stty bin/STTY
48*30861Skarelscp $DISTROOT/bin/echo bin
49*30861Skarelscp $DISTROOT/bin/rm bin
50*30861Skarelscp $DISTROOT/bin/cp bin
51*30861Skarelscp $DISTROOT/bin/expr bin
52*30861Skarelscp $DISTROOT/bin/[ bin
53*30861Skarelscp $DISTROOT/bin/awk bin
54*30861Skarelscp $DISTROOT/bin/make bin
55*30861Skarelscp $DISTROOT/bin/rcp bin
56*30861Skarelscp $DISTROOT/stand/copy stand
57*30861Skarelscp $DISTROOT/stand/vdformat stand
58*30861Skarelscp $DISTROOT/boot .
59*30861Skarelscp $DISTROOT/wcs .
60*30861Skarels#cp $DISTROOT/fppwcs .
61*30861Skarels#cp $DISTROOT/poc .
62*30861Skarels#cp $DISTROOT/poc1 .
63*30861Skarels#cp $DISTROOT/poc2 .
64*30861Skarels#cp $DISTROOT/fppoc .
65*30861Skarelscp $DISTROOT/.profile .profile
66*30861Skarelscat >etc/passwd <<EOF
67*30861Skarelsroot::0:10::/:/bin/sh
68*30861SkarelsEOF
69*30861Skarelscat >etc/group <<EOF
70*30861Skarelswheel:*:0:
71*30861Skarelsstaff:*:10:
72*30861SkarelsEOF
73*30861Skarelscat >etc/fstab <<EOF
74*30861Skarels/dev/xfd0a:/a:xx:1:1
75*30861Skarels/dev/dk0a:/a:xx:1:1
76*30861SkarelsEOF
77*30861Skarelscat >xtr <<'EOF'
78*30861Skarels: ${disk?'Usage: disk=xx0 tape=yy xtr'}
79*30861Skarels: ${tape?'Usage: disk=xx0 tape=yy xtr'}
80*30861Skarelsecho 'Build root file system'
81*30861Skarelsnewfs ${disk}a
82*30861Skarelssync
83*30861Skarelsecho 'Check the file system'
84*30861Skarelsfsck /dev/r${disk}a
85*30861Skarelsmount /dev/${disk}a /a
86*30861Skarelscd /a
87*30861Skarelsecho 'Rewind tape'
88*30861Skarelsmt -f /dev/${tape}0 rew
89*30861Skarelsecho 'Restore the dump image of the root'
90*30861Skarelsrestore rsf 3 /dev/${tape}0
91*30861Skarelscd /
92*30861Skarelssync
93*30861Skarelsumount /dev/${disk}a
94*30861Skarelssync
95*30861Skarelsfsck /dev/r${disk}a
96*30861Skarelsecho 'Root filesystem extracted'
97*30861SkarelsEOF
98*30861Skarelschmod +x xtr
99*30861Skarelsrm -rf dev; mkdir dev
100*30861Skarelscp $DISTROOT/dev/MAKEDEV dev
101*30861Skarelschmod +x dev/MAKEDEV
102*30861Skarelscp /dev/null dev/MAKEDEV.local
103*30861Skarelscd dev
104*30861Skarels./MAKEDEV std dk0
105*30861Skarels./MAKEDEV cy0; mv rmt12 cy0; rm *mt*;
106*30861Skarelscd ..
107*30861Skarelssync
108