|
|
1.1 ! root 1: # bld - make 386 kernel ! 2: # ! 3: # requires a running 386 kernel ! 4: # ! 5: ! 6: # make sure the environment is set for kernel objects ! 7: if [ $K386OBJ ] ! 8: then ! 9: : ! 10: else ! 11: echo "Error - K386OBJ environment variable not set!" ! 12: exit 1 ! 13: fi ! 14: ! 15: # make sure the environment is set for kernel libraries ! 16: if [ $K386LIB ] ! 17: then ! 18: : ! 19: else ! 20: echo "Error - K386LIB environment variable not set!" ! 21: exit 1 ! 22: fi ! 23: ! 24: #CFLAGS=${CFLAGS-"-DTRACER -VPSTR -D__COHERENT__"} ! 25: CFLAGS=${CFLAGS-"-DTRACER -VPSTR"} ! 26: CC=${CC-"exec /bin/cc"} ! 27: ! 28: OPTS="${K386OBJ}/tty.o ${K386OBJ}/pipe.o ${K386OBJ}/putchar.o" ! 29: OPTS=${OPTS}" ${K386OBJ}/rm.o ${K386OBJ}/fdc.o ${K386OBJ}/fl386.o" ! 30: OPTS=${OPTS}" ${K386OBJ}/ipc.o" ! 31: ! 32: DEFAULT_KB=y ! 33: DEFAULT_ASYNC=y ! 34: DEFAULT_MM=y ! 35: DEFAULT_HD=y ! 36: USE_ASY=n ! 37: USE_LP=y ! 38: USE_PTY=y ! 39: USE_ASYNC=y ! 40: MAKE_LIBS=y ! 41: PATCH="flCon=fl386con" ! 42: KEROBJ=${K386LIB}/ker386.o ! 43: TARGET=/at386.tst ! 44: ASYNC=/etc/default/async ! 45: ! 46: # Each drvl entry is 0x14, or 20 decimal, bytes. ! 47: ! 48: while [ $# -gt 0 ] ! 49: do ! 50: ARG=$1 ! 51: case $ARG in ! 52: aha) ! 53: OPTS=${OPTS}" ${K386OBJ}/aha_dsl.o ${K386OBJ}/aha.o ${K386OBJ}/scsi.o" ! 54: PATCH="${PATCH} drvl+260=sdcon" ! 55: ;; ! 56: al) ! 57: OPTS=${OPTS}" ${K386OBJ}/alx.o ${K386OBJ}/com1.o ${K386OBJ}/com2.o" ! 58: PATCH="${PATCH} drvl+100=a0con drvl+120=a1con" ! 59: DEFAULT_ASYNC=n ! 60: ;; ! 61: asy) ! 62: OPTS=${OPTS}" ${K386OBJ}/asy.o" ! 63: PATCH="${PATCH} drvl+100=asycon" ! 64: USE_ASY=y ! 65: DEFAULT_ASYNC=n ! 66: ;; ! 67: at) ! 68: OPTS=${OPTS}" ${K386OBJ}/$ARG.o" ! 69: PATCH="${PATCH} drvl+220=atcon" ! 70: DEFAULT_HD=n ! 71: ;; ! 72: emu) ! 73: OPTS=${OPTS}" em87.o " ! 74: ;; ! 75: hs) ! 76: OPTS=${OPTS}" ${K386OBJ}/hs.o" ! 77: PATCH="${PATCH} drvl+140=hscon" ! 78: DEFAULT_ASYNC=n ! 79: ;; ! 80: fha) ! 81: OPTS=${OPTS}" ${K386OBJ}/stubs.o ${K386OBJ}/at.o ${K386OBJ}/ss.o" ! 82: OPTS=${OPTS}" ${K386OBJ}/aha_dsl.o ${K386OBJ}/aha.o ${K386OBJ}/scsi.o" ! 83: PATCH="${PATCH} rootdev=makedev(4,14) pipedev=makedev(8,131) ronflag=1" ! 84: PATCH="${PATCH} NBUF=64 NHASH=61 NCLIST=16 ALLSIZE=32768" ! 85: DEFAULT_HD=n ! 86: USE_PTY=n ! 87: USE_LP=n ! 88: USE_ASYNC=n ! 89: DEFAULT_ASYNC=n ! 90: ;; ! 91: fva) ! 92: OPTS=${OPTS}" stubs.o ${K386OBJ}/at.o ${K386OBJ}/ss.o" ! 93: OPTS=${OPTS}" ${K386OBJ}/aha_dsl.o ${K386OBJ}/aha.o ${K386OBJ}/scsi.o" ! 94: PATCH="${PATCH} rootdev=makedev(4,15) pipedev=makedev(8,131) ronflag=1" ! 95: PATCH="${PATCH} NBUF=64 NHASH=61 NCLIST=16 ALLSIZE=32768" ! 96: DEFAULT_HD=n ! 97: USE_PTY=n ! 98: USE_LP=n ! 99: USE_ASYNC=n ! 100: DEFAULT_ASYNC=n ! 101: ;; ! 102: kb|kb_d|kb_f|nkb) ! 103: OPTS=${OPTS}" ${K386OBJ}/$ARG.o" ! 104: DEFAULT_KB=n ! 105: ;; ! 106: nl) ! 107: MAKE_LIBS=n ! 108: ;; ! 109: sc) ! 110: CFLAGS=${CFLAGS}" -DSERIAL_CONSOLE" ! 111: ;; ! 112: ss) ! 113: OPTS=${OPTS}" ${K386OBJ}/$ARG.o" ! 114: PATCH="${PATCH} drvl+260=sscon" ! 115: ;; ! 116: ticom) # piggy's Tiwanese 4 port card ! 117: PATCH="${PATCH} AL_ADDR+8=0x2b0 AL_ADDR+12=0x2b8" ! 118: ;; ! 119: vt) ! 120: DEFAULT_KB=n ! 121: DEFAULT_MM=n ! 122: OPTS=${OPTS}" ${K386OBJ}/vtmm.o ${K386OBJ}/vtmmas.o ${K386OBJ}/vtnkb.o" ! 123: ;; ! 124: vtkb) ! 125: DEFAULT_KB=n ! 126: DEFAULT_MM=n ! 127: OPTS=${OPTS}" ${K386OBJ}/vtmm.o ${K386OBJ}/vtmmas.o ${K386OBJ}/vtkb.o" ! 128: ;; ! 129: vtkb_d) ! 130: DEFAULT_KB=n ! 131: DEFAULT_MM=n ! 132: OPTS=${OPTS}" ${K386OBJ}/vtmm.o ${K386OBJ}/vtmmas.o ${K386OBJ}/vtkb_d.o" ! 133: ;; ! 134: vtkb_f) ! 135: DEFAULT_KB=n ! 136: DEFAULT_MM=n ! 137: OPTS=${OPTS}" ${K386OBJ}/vtmm.o ${K386OBJ}/vtmmas.o ${K386OBJ}/vtkb_f.o" ! 138: ;; ! 139: xl) ! 140: PATCH="${PATCH} ftCon=ftxlcon PHYS_MEM=589824" ! 141: OPTS=${OPTS}" ${K386OBJ}/xlft.o ${K386OBJ}/xla.o ${K386OBJ}/xl_dec.o" ! 142: ;; ! 143: -a) ! 144: shift ! 145: ASYNC=$1 ! 146: ;; ! 147: -c) ! 148: shift ! 149: CFLAGS="$CFLAGS $1" ! 150: ;; ! 151: -o) ! 152: shift ! 153: TARGET=$1 ! 154: ;; ! 155: *=*) ! 156: PATCH="${PATCH} ${ARG}" ! 157: ;; ! 158: *) ! 159: echo "Usage: $0" ! 160: echo " {aha|al|asy|at|fha|fva|hs|inst|kb|kb_d|kb_f|nkb" ! 161: echo " |sc|ss|ticom|vt|vtkb|vtkb_d|vtkb_f|xl}" ! 162: echo " {-o target} {-a async_file} {-c cflags} {addr=value}..." ! 163: exit 1 ! 164: ;; ! 165: esac ! 166: shift ! 167: done ! 168: ! 169: if [ ${USE_LP} = "y" ] ! 170: then ! 171: OPTS=${OPTS}" ${K386OBJ}/lp.o" ! 172: PATCH="${PATCH} drvl+60=lpcon" ! 173: fi ! 174: if [ ${USE_PTY} = "y" ] ! 175: then ! 176: OPTS=${OPTS}" ${K386OBJ}/pty.o" ! 177: PATCH="${PATCH} drvl+180=ptycon" ! 178: fi ! 179: if [ ${USE_ASYNC} = "y" ] ! 180: then ! 181: OPTS=${OPTS}" ${K386OBJ}/albaud.o" ! 182: fi ! 183: if [ ${DEFAULT_KB} = "y" ] ! 184: then ! 185: OPTS=${OPTS}" ${K386OBJ}/kb.o" ! 186: fi ! 187: if [ $DEFAULT_ASYNC = "y" ] ! 188: then ! 189: OPTS=${OPTS}" ${K386OBJ}/asy.o" ! 190: PATCH="${PATCH} drvl+100=asycon" ! 191: USE_ASY=y ! 192: fi ! 193: if [ $DEFAULT_HD = "y" ] ! 194: then ! 195: OPTS=${OPTS}" ${K386OBJ}/at.o" ! 196: PATCH="${PATCH} drvl+220=atcon" ! 197: fi ! 198: if [ ${DEFAULT_MM} = "y" ] ! 199: then ! 200: OPTS=${OPTS}" ${K386OBJ}/mmas.o ${K386OBJ}/mm.o" ! 201: fi ! 202: make "CFLAGS=$CFLAGS" "CC=$CC" ${KEROBJ} || exit 1 ! 203: if [ ${MAKE_LIBS} = "y" ] ! 204: then ! 205: make "CFLAGS=$CFLAGS" "CC=$CC" libs || exit 1 ! 206: fi ! 207: set -x ! 208: ! 209: #if [ -f $TARGET ] ! 210: #then ! 211: # mv $TARGET $TARGET.old || exit 1 ! 212: #fi ! 213: ! 214: ld -K -o $TARGET -e stext ${KEROBJ} ${OPTS} || exit 1 ! 215: if [ -n "${PATCH}" ] ! 216: then ! 217: /conf/patch $TARGET $PATCH || exit 1 ! 218: fi ! 219: if [ ${USE_ASY} = "y" ] ! 220: then ! 221: su root /conf/asypatch -v $TARGET < $ASYNC ! 222: fi
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.