Annotation of elwix/install2dev.sh, revision 1.2.10.1
1.2 misho 1: #!/bin/sh
2: #
3: # ELWIX install script for device
4: #
5: # (C) AITNET ltd - Sofia/Bulgaria <office@aitnet.org>
6: # by Michael Pounov <misho@elwix.org>
7: #
1.2.10.1! misho 8: # $Id: install2dev.sh,v 1.2 2011/10/18 09:02:05 misho Exp $
1.2 misho 9: #
10:
11: [ -r ./config/rc.elwix ] && . ./config/rc.elwix
12: if [ X"${ELWIX_IS_CONFIGURED}" != X"YES" ]; then
13: echo
14: echo "ELWIX project is not configured !?!"
15: echo
16: exit 1
17: fi
18:
19: if [ "${USER}" != "root" ]; then
20: echo
21: echo "ELWIX project is not configured - install must build under root !?!"
22: echo
23: exit 1
24: fi
25:
26: MNT="/mnt"
27:
28: initdev()
29: {
30: echo -n "+++ Init device $1 label ... "
31: if disklabel -w $1; then
32: echo "OK"
33: else
34: echo "Failed!"
35: exit 3
36: fi
37:
38: if newfs -b8192 -f1024 -m0 -Lelwix ${1}a; then
39: echo "+++ Formatting ... OK"
40: else
41: echo "+++ Formatting ... Failed!"
42: exit 3
43: fi
44: }
45:
46: mountdev()
47: {
48: echo -n "+++ Mount device $1 to $MNT ... "
49: if mount ${1}a $MNT; then
50: echo "OK"
51: else
52: echo "Failed!"
53: exit 4
54: fi
55: }
56:
57: umountdev()
58: {
59: echo -n "+++ Unmount $MNT ... "
60: if umount $MNT; then
61: echo "OK"
62: else
63: echo "Failed!"
64: exit 4
65: fi
66: }
67:
68: enablejfs()
69: {
70: if tunefs -n enable -j enable ${1}a; then
71: echo "Start FS Journaling ... OK"
72: else
73: echo "Start FS Journaling ... Failed!"
74: exit 6
75: fi
76: }
77:
78: boot2dev()
79: {
80: echo -n "+++ Installboot to device $1 ... "
81: if disklabel -B -b ${WORLD}/boot/boot -m ${TARGET} ${1}; then
82: echo "OK"
83: else
84: echo "Failed!"
85: exit 7
86: fi
87: }
88:
89: install2()
90: {
91: echo -n "+++ Install ELWIX OS from $1 into $MNT ... "
92: if tar -xzvpf $1 -C $MNT; then
93: echo "OK"
94: else
95: echo "Failed!"
96: exit 5
97: fi
98: }
99:
100: ### main()
101:
102: if [ -z $1 ]; then
103: echo
104: echo "Error:: not specified raw disk drive for install ELWIX OS ..."
105: echo " Syntax: (raw disk like: /dev/da1 or da1)"
106: echo
107: echo " If you wish, may apply secondary optional file name argument for other firmware"
108: echo
109: exit 2
110: else
111: DEV=$(echo $1 | awk '{
112: if (!($1 ~ /^\//))
113: printf("/dev/%s", $1);
114: else
115: printf("%s", $1);
116: }')
117: if ! [ -c $DEV ]; then
118: echo "Wrong device $DEV !!!"
119: exit 1
120: fi
121: fi
122:
1.2.10.1! misho 123: if [ -z "$2" -o ! -r "$2" ]; then
1.2 misho 124: echo
1.2.10.1! misho 125: echo "Error:: ELWIX OS tar file '$2' not found!"
1.2 misho 126: echo
127: exit 2
128: fi
129:
1.2.10.1! misho 130:
1.2 misho 131: initdev $DEV
132:
133: mountdev $DEV
134: install2 ${2:-"${REL}/${OS}"}
135: umountdev
136:
137: #enablejfs $DEV
138: boot2dev $DEV
139:
140: echo "ELWIX OS install complete."
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>