|
|
1.1 ! root 1: # ! 2: # bld - make a complete COHERENT mwc kernel. ! 3: # ! 4: # $Log: bld,v $ ! 5: # Revision 1.3 92/01/16 15:53:52 root ! 6: # updated by hal for floppy only kernels ! 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 [ $USRSRC ] ! 44: then ! 45: if [ $KOBJ ] ! 46: then ! 47: if [ $LOBJ ] ! 48: then ! 49: DRIVERS="rm fl lp mm " ! 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|nkb|kb_d|kb_f) ! 80: KB=$ARG ! 81: ;; ! 82: dbg) ! 83: DEBUG="CFLAGS=-DDEBUG" ! 84: ;; ! 85: *) echo "Usage: $0 [at|ss|aha|fh|fv|kb|nkb|kb_d|kb_f|dbg]" ! 86: exit 0 ! 87: ;; ! 88: esac ! 89: done ! 90: DRIVERS="$KB $HD $DRIVERS" ! 91: echo "Kernel: /coh.$COH_TYPE" ! 92: echo "Version: `version ID`" ! 93: echo "Devices: $DRIVERS" ! 94: echo "Default root/pipe device is $BOOTDEV." ! 95: echo "Debug setting: $DEBUG" ! 96: if [ $DEBUG = "NO" ] ! 97: then ! 98: DEBUG="" ! 99: fi ! 100: export KB HD ! 101: ( cd $USRSRC/ldrv; make ld_support ) || exit 1 ! 102: ( cd $USRSRC/io; make -f Mf.mwc $DEBUG install ) || exit 1 ! 103: ( make $DEBUG kernel ) || exit 1 ! 104: ./config.mwc ibm-at $DRIVERS root=$BOOTDEV || exit 1 ! 105: cp coherent /tmp/coh || exit 1 ! 106: strip /tmp/coh || exit 1 ! 107: set `ls -s /tmp/coh` ! 108: SIZE=$1 ! 109: rm /tmp/coh || exit 1 ! 110: echo "Coherent bootable limit is 138 blocks. This kernel is $SIZE" ! 111: if [ $SIZE -gt 138 ] ;then ! 112: echo ! 113: echo Your Coherent image exceeds the bootable limit of 138 blocks ! 114: echo by `expr $SIZE - 138` 'block(s).' You will need to decrease the ! 115: echo size of your kernel in order to make it bootable. ! 116: echo ! 117: echo We suggest removing some of the non critical drivers from the ! 118: echo default list of drivers linked into Coherent. These additional ! 119: echo drivers may then be linked as loadable drivers using the ! 120: echo ldconfig script located in this directory. ! 121: fi ! 122: mv coherent /coh.$COH_TYPE ! 123: chown sys /coh.$COH_TYPE ! 124: chgrp sys /coh.$COH_TYPE ! 125: chmod 400 /coh.$COH_TYPE ! 126: echo "New kernel in /coh.$COH_TYPE" ! 127: ls -l /coh.$COH_TYPE ! 128: # the rest is error exits ! 129: else ! 130: echo "Error - LOBJ not defined - (e.g. /usr/lobj)" ! 131: fi ! 132: else ! 133: echo "Error - KOBJ not defined - (e.g. /usr/kobj)" ! 134: fi ! 135: else ! 136: echo "Error - USRSRC not defined - (e.g. /usr/src/sys)" ! 137: fi ! 138: else ! 139: echo "Error - USRSYS not defined - (e.g. /usr/sys)" ! 140: fi
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.