|
|
1.1 ! root 1: # ! 2: # bld - make a complete COHERENT mwc kernel. ! 3: # ! 4: # $Log: bld,v $ ! 5: # Revision 1.1 92/07/17 15:29:51 bin ! 6: # Initial revision ! 7: # ! 8: # Revision 1.3 92/01/10 10:09:12 hal ! 9: # Add "dbg" option. ! 10: # Default to rootdev = pipedev = (0,0). ! 11: # ! 12: # ! 13: ! 14: # Shell variables ! 15: # DRIVERS is the list of device drivers to be linked into the kernel. ! 16: # COH_TYPE is one of [ fl | at | ss | aha ] and is for information - ! 17: # it is the suffix on the name of the kernel produced. ! 18: # BOOTDEV is the device name for the COHERENT boot floppy or partition - ! 19: # it is passed to the "config" script. ! 20: # HD is the device driver name for the hard drive device driver linked ! 21: # into this kernel - it is one of [ aha154x | at | ss ], or ! 22: # may be omitted entirely for a floppy-only system. ! 23: # KB is one of [ kb | nkb ] - the first of these uses fixed keyboard ! 24: # tables and scan code set 1, and source is provided in the ! 25: # driver kit; use it if you are concerned about supporting ! 26: # keyboards of questionable compatibility or want to work with ! 27: # keyboard driver source - the second of these uses loadable ! 28: # keyboard tables for international support, but requires ! 29: # full compatibility, and source code is not provided in the ! 30: # driver kit. ! 31: # DEBUG is empty for normal kernels, is "dbg" if debug versions of ! 32: # kernel and drivers are wanted ! 33: ! 34: # Default arguments - ! 35: # use old kb driver, at hard disk, let tboot set rootdev & pipedev ! 36: BOOTDEV="None" ! 37: HD=at ! 38: COH_TYPE=at ! 39: KB=kb ! 40: ! 41: if [ $USRSYS ] ! 42: then ! 43: if [ $KS ] ! 44: then ! 45: if [ $KOBJ ] ! 46: then ! 47: if [ $LOBJ ] ! 48: then ! 49: DRIVERS="rm fl lp " ! 50: DEBUG="NO" ! 51: for ARG ! 52: do ! 53: case $ARG in ! 54: at) ! 55: # BOOTDEV="at0a" ! 56: HD=$ARG ! 57: COH_TYPE=$ARG ! 58: ;; ! 59: aha) ! 60: # BOOTDEV="sd0a" ! 61: HD=aha154x ! 62: COH_TYPE=$ARG ! 63: ;; ! 64: ss) ! 65: # BOOTDEV="ss0a" ! 66: HD=$ARG ! 67: COH_TYPE=$ARG ! 68: ;; ! 69: fh) ! 70: BOOTDEV="fha0" ! 71: HD="" ! 72: COH_TYPE=fh ! 73: ;; ! 74: fv) ! 75: BOOTDEV="fva0" ! 76: HD="" ! 77: COH_TYPE=fv ! 78: ;; ! 79: kb|kb_d|kb_f|vt|nkb) ! 80: KB=$ARG ! 81: ;; ! 82: dbg) ! 83: DEBUG="CFLAGS=-DDEBUG" ! 84: ;; ! 85: *) echo "Usage: $0 [kb|nkb|kb_d|kb_f|vt] [at|ss|aha|fh|fv] [dbg]" ! 86: exit 0 ! 87: ;; ! 88: esac ! 89: done ! 90: if [ $KB = "vt" ] ! 91: then ! 92: DRIVERS="$KB $HD $DRIVERS" ! 93: else ! 94: DRIVERS="$KB $HD $DRIVERS mm" ! 95: fi ! 96: echo "Kernel: /coh.$COH_TYPE" ! 97: echo "Version: `version ID`" ! 98: echo "Devices: $DRIVERS" ! 99: echo "Default root/pipe device is $BOOTDEV." ! 100: echo "Debug setting: $DEBUG" ! 101: if [ $DEBUG = "NO" ] ! 102: then ! 103: DEBUG="" ! 104: fi ! 105: export KB HD ! 106: ( cd $KS/ldrv; make ld_support ) || exit 1 ! 107: ( cd $KS/io.286; make -f Mf.mwc $DEBUG install ) || exit 1 ! 108: ( make $DEBUG kernel ) || exit 1 ! 109: ./config.mwc ibm-at $DRIVERS root=$BOOTDEV || exit 1 ! 110: cp coherent /tmp/coh || exit 1 ! 111: strip /tmp/coh || exit 1 ! 112: set `ls -s /tmp/coh` ! 113: SIZE=$1 ! 114: rm /tmp/coh || exit 1 ! 115: echo "Coherent bootable limit is 138 blocks. This kernel is $SIZE" ! 116: if [ $SIZE -gt 138 ] ;then ! 117: echo ! 118: echo Your Coherent image exceeds the bootable limit of 138 blocks ! 119: echo by `expr $SIZE - 138` 'block(s).' You will need to decrease the ! 120: echo size of your kernel in order to make it bootable. ! 121: echo ! 122: echo We suggest removing some of the non critical drivers from the ! 123: echo default list of drivers linked into Coherent. These additional ! 124: echo drivers may then be linked as loadable drivers using the ! 125: echo ldconfig script located in this directory. ! 126: fi ! 127: cp coherent /interim/coh.$COH_TYPE ! 128: chown sys /interim/coh.$COH_TYPE ! 129: chgrp sys /interim/coh.$COH_TYPE ! 130: chmod 400 /interim/coh.$COH_TYPE ! 131: echo "New kernel in /interim/coh.$COH_TYPE" ! 132: ls -l /interim/coh.$COH_TYPE ! 133: # the rest is error exits ! 134: else ! 135: echo "Error - LOBJ not defined - (e.g. /usr/lobj)" ! 136: fi ! 137: else ! 138: echo "Error - KOBJ not defined - (e.g. /usr/kobj)" ! 139: fi ! 140: else ! 141: echo "Error - KS not defined - (e.g. /usr/src/sys)" ! 142: fi ! 143: else ! 144: echo "Error - USRSYS not defined - (e.g. /usr/sys)" ! 145: fi
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.