|
|
1.1 root 1: #
2: # Build - make a complete COHERENT kernel.
3: #
4:
5: # Shell variables
6: # DRIVERS is the list of device drivers to be linked into the kernel.
7: # COH_TYPE is one of [ fl | at | ss | aha ] and is for information -
8: # it is the suffix on the name of the kernel produced.
9: # BOOTDEV is the device name for the COHERENT boot floppy or partition -
10: # it is passed to the "config" script.
11: # HD is the device driver name for the hard drive device driver linked
12: # into this kernel - it is one of [ aha154x | at | ss ], or
13: # may be omitted entirely for a floppy-only system.
14: # KB is one of [ kb | nkb ] - the first of these uses fixed keyboard
15: # tables and scan code set 1, and source is provided in the
16: # driver kit; use it if you are concerned about supporting
17: # keyboards of questionable compatibility or want to work with
18: # keyboard driver source - the second of these uses loadable
19: # keyboard tables for international support, but requires
20: # full compatibility, and source code is not provided in the
21: # driver kit.
22:
23: if [ $USRSYS ]
24: then
25: if [ $USRSRC ]
26: then
27: if [ $KOBJ ]
28: then
29: if [ $LOBJ ]
30: then
31: DRIVERS="rm fl lp mm"
32: COH_TYPE=fl
33: BOOTDEV="fha0"
34: HD=""
35: KB=kb
36: for ARG
37: do
38: case $ARG in
39: at)
40: # BOOTDEV="at0a"
41: HD=$ARG
42: COH_TYPE=$ARG
43: ;;
44: aha)
45: # BOOTDEV="sd0a"
46: HD=aha154x
47: COH_TYPE=$ARG
48: ;;
49: ss)
50: # BOOTDEV="ss0a"
51: HD=$ARG
52: COH_TYPE=$ARG
53: ;;
54: kb|nkb|kb_d|kb_f)
55: KB=$ARG
56: ;;
57: *) echo "Usage: $0 { at | ss | aha | fl } { kb | nkb | kb_d | kb_f }"
58: exit 0
59: ;;
60: esac
61: done
62: DRIVERS="$KB $HD $DRIVERS"
63: echo "Kernel: /coh.$COH_TYPE"
64: echo "Version: `version ID`"
65: echo "Devices: $DRIVERS"
66: echo "Default root/pipe device is $BOOTDEV."
67: export KB HD
68: ( cd $USRSRC/ldrv; make ld_support ) || exit 1
69: ( cd $USRSRC/i8086/drv; make -f Mf.mwc install ) || exit 1
70: ( make kernel ) || exit 1
71: ./config.mwc ibm-at $DRIVERS root=$BOOTDEV || exit 1
72: cp coherent /tmp/coh || exit 1
73: strip /tmp/coh || exit 1
74: set `ls -s /tmp/coh`
75: SIZE=$1
76: rm /tmp/coh || exit 1
77: echo "Coherent bootable limit is 138 blocks. This kernel is $SIZE"
78: if [ $SIZE -gt 138 ] ;then
79: echo
80: echo Your Coherent image exceeds the bootable limit of 138 blocks
81: echo by `expr $SIZE - 138` 'block(s).' You will need to decrease the
82: echo size of your kernel in order to make it bootable.
83: echo
84: echo We suggest removing some of the non critical drivers from the
85: echo default list of drivers linked into Coherent. These additional
86: echo drivers may then be linked as loadable drivers using the
87: echo ldconfig script located in this directory.
88: fi
89: mv coherent /coh.$COH_TYPE
90: chown sys /coh.$COH_TYPE
91: chgrp sys /coh.$COH_TYPE
92: chmod 400 /coh.$COH_TYPE
93: echo "New kernel in /coh.$COH_TYPE"
94: ls -l /coh.$COH_TYPE
95: # the rest is error exits
96: else
97: echo "Error - LOBJ not defined - (e.g. /usr/lobj)"
98: fi
99: else
100: echo "Error - KOBJ not defined - (e.g. /usr/kobj)"
101: fi
102: else
103: echo "Error - USRSRC not defined - (e.g. /usr/src/sys)"
104: fi
105: else
106: echo "Error - USRSYS not defined - (e.g. /usr/sys)"
107: fi
108:
109: -Hal Snyder- Mark Williams Tech. Support (708)-291-6700 (voice)
110: [email protected] uunet!mwc!support (708)-291-6750 (fax)
111:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.