130861Skarels#!/bin/sh -e 230861Skarels# 330861Skarels# Copyright (c) 1983 Regents of the University of California. 430861Skarels# All rights reserved. The Berkeley software License Agreement 530861Skarels# specifies the terms and conditions for redistribution. 630861Skarels# 7*30877Skarels# @(#)get 1.2 (Berkeley) 04/09/87 830861Skarels# 930861Skarels# Shell script to build a mini-root file system 1030861Skarels# in preparation for building a distribution tape. 1130861Skarels# The file system created here is image copied onto 1230861Skarels# tape, then image copied onto disk as the "first" 1330861Skarels# step in a cold boot of 4.3 systems. 1430861Skarels# 1530861SkarelsDISTROOT=/nbsd 1630861Skarels# 1730861Skarelsif [ `pwd` = '/' ] 1830861Skarelsthen 1930861Skarels echo You just '(almost)' destroyed the root 2030861Skarels exit 2130861Skarelsfi 2230861Skarelscp $DISTROOT/sys/GENERIC/vmunix . 2330861Skarelsrm -rf bin; mkdir bin 2430861Skarelsrm -rf etc; mkdir etc 2530861Skarelsrm -rf a; mkdir a 2630861Skarelsrm -rf tmp; mkdir tmp 2730861Skarelsrm -rf stand; mkdir stand 2830861Skarelscp $DISTROOT/etc/disklabel etc 2930861Skarelscp $DISTROOT/etc/disktab etc 3030861Skarelscp $DISTROOT/etc/newfs etc 3130861Skarelscp $DISTROOT/etc/restore etc 3230861Skarelscp $DISTROOT/etc/rrestore etc 3330861Skarelscp $DISTROOT/etc/init etc 3430861Skarelscp $DISTROOT/etc/mount etc 3530861Skarelscp $DISTROOT/etc/mknod etc 3630861Skarelscp $DISTROOT/etc/fsck etc 3730861Skarelscp $DISTROOT/etc/umount etc 3830861Skarelscp $DISTROOT/etc/ifconfig etc 3930861Skarelscp $DISTROOT/bin/dd bin 4030861Skarelscp $DISTROOT/bin/mt bin 4130861Skarelscp $DISTROOT/bin/ls bin 4230861Skarelscp $DISTROOT/bin/sh bin 4330861Skarelscp $DISTROOT/bin/mv bin 4430861Skarelscp $DISTROOT/bin/sync bin 4530861Skarelscp $DISTROOT/bin/cat bin 4630861Skarelscp $DISTROOT/bin/mkdir bin 4730861Skarelscp $DISTROOT/bin/stty bin; ln bin/stty bin/STTY 4830861Skarelscp $DISTROOT/bin/echo bin 4930861Skarelscp $DISTROOT/bin/rm bin 5030861Skarelscp $DISTROOT/bin/cp bin 5130861Skarelscp $DISTROOT/bin/expr bin 5230861Skarelscp $DISTROOT/bin/[ bin 5330861Skarelscp $DISTROOT/bin/awk bin 5430861Skarelscp $DISTROOT/bin/make bin 5530861Skarelscp $DISTROOT/bin/rcp bin 5630861Skarelscp $DISTROOT/stand/copy stand 5730861Skarelscp $DISTROOT/stand/vdformat stand 5830861Skarelscp $DISTROOT/boot . 5930861Skarelscp $DISTROOT/wcs . 6030861Skarels#cp $DISTROOT/fppwcs . 6130861Skarels#cp $DISTROOT/poc . 6230861Skarels#cp $DISTROOT/poc1 . 6330861Skarels#cp $DISTROOT/poc2 . 6430861Skarels#cp $DISTROOT/fppoc . 6530861Skarelscp $DISTROOT/.profile .profile 6630861Skarelscat >etc/passwd <<EOF 6730861Skarelsroot::0:10::/:/bin/sh 6830861SkarelsEOF 6930861Skarelscat >etc/group <<EOF 7030861Skarelswheel:*:0: 7130861Skarelsstaff:*:10: 7230861SkarelsEOF 7330861Skarelscat >etc/fstab <<EOF 7430861Skarels/dev/xfd0a:/a:xx:1:1 7530861Skarels/dev/dk0a:/a:xx:1:1 7630861SkarelsEOF 7730861Skarelscat >xtr <<'EOF' 78*30877Skarels#!/bin/sh -e 7930861Skarels: ${disk?'Usage: disk=xx0 tape=yy xtr'} 8030861Skarels: ${tape?'Usage: disk=xx0 tape=yy xtr'} 8130861Skarelsecho 'Build root file system' 8230861Skarelsnewfs ${disk}a 8330861Skarelssync 8430861Skarelsecho 'Check the file system' 8530861Skarelsfsck /dev/r${disk}a 8630861Skarelsmount /dev/${disk}a /a 8730861Skarelscd /a 8830861Skarelsecho 'Rewind tape' 8930861Skarelsmt -f /dev/${tape}0 rew 9030861Skarelsecho 'Restore the dump image of the root' 9130861Skarelsrestore rsf 3 /dev/${tape}0 9230861Skarelscd / 9330861Skarelssync 9430861Skarelsumount /dev/${disk}a 9530861Skarelssync 9630861Skarelsfsck /dev/r${disk}a 9730861Skarelsecho 'Root filesystem extracted' 9830861SkarelsEOF 9930861Skarelschmod +x xtr 10030861Skarelsrm -rf dev; mkdir dev 10130861Skarelscp $DISTROOT/dev/MAKEDEV dev 10230861Skarelschmod +x dev/MAKEDEV 10330861Skarelscp /dev/null dev/MAKEDEV.local 10430861Skarelscd dev 10530861Skarels./MAKEDEV std dk0 10630861Skarels./MAKEDEV cy0; mv rmt12 cy0; rm *mt*; 10730861Skarelscd .. 10830861Skarelssync 109