15c99149f8
o Fix the keyboard probe to properly wait for the ready bit before sending a command to the keyboard controller. This should avoid the problems some people are experiencing where the boot blocks hang the system during keyboard probe. (It does solve it for me.) o Fix a bug that effectively prevented the boot blocks from ever passing control to the serial console. [while(--retries) instead of while(retries--)] o Gratuitously reduced the keyboard probe timeout from 500 to 5 seconds. :) o Introduced a new option ``FORCE_COMCONSOLE'' as a commented-out example in the Makefile, to force the usage of a serial console regardless of a keyboard being connected or not. o Moved all external declarations to boot.h, declared all functions there, and ANSIfied all function declarations/definitions. (printf() remains bogus, however -- i'm too lazy to fix this.) We're in the ninetees, dunno why we should still support compilers from the 70's.
69 lines
1.7 KiB
Makefile
69 lines
1.7 KiB
Makefile
# $Id: Makefile,v 1.27 1995/03/28 19:22:39 phk Exp $
|
|
#
|
|
|
|
PROG= boot
|
|
# Order is very important on the SRCS line for this prog
|
|
SRCS= start.S table.c boot2.S boot.c asm.S bios.S serial.S
|
|
SRCS+= probe_keyboard.c io.c disk.c sys.c
|
|
|
|
BINDIR= /usr/mdec
|
|
BINMODE= 444
|
|
CFLAGS= -O2 -DDO_BAD144 -DBOOTWAIT=${BOOTWAIT} -DCOMCONSOLE=0x3F8
|
|
CFLAGS+= -DBOOTSEG=${BOOTSEG} -DBOOTSTACK=${BOOTSTACK}
|
|
CFLAGS+= -I${.CURDIR} -I${.CURDIR}/../..
|
|
|
|
# force usage of serial console instead of keyboard probing
|
|
#CFLAGS+= -DFORCE_COMCONSOLE
|
|
|
|
CLEANFILES+= boot.nohdr boot.strip boot1 boot2
|
|
DPADD= ${LIBC}
|
|
LDFLAGS+= -N -T 0 -nostdlib
|
|
LDADD= -lc
|
|
#LINKS= ${BINDIR}/sdboot ${BINDIR}/wdboot\
|
|
# ${BINDIR}/sdboot ${BINDIR}/fdboot\
|
|
# ${BINDIR}/bootsd ${BINDIR}/bootwd\
|
|
# ${BINDIR}/bootsd ${BINDIR}/bootfd
|
|
NOSHARED= YES
|
|
NOMAN=
|
|
STRIP=
|
|
|
|
# tunable timeout parameter, waiting for keypress, calibrated in mS
|
|
BOOTWAIT?= 5000
|
|
|
|
# Location that boot2 is loaded at
|
|
BOOTSEG= 0x1000
|
|
|
|
# Offset in BOOTSEG for the top of the stack, keep this 16 byte aligned
|
|
BOOTSTACK= 0xFFF0
|
|
|
|
boot.strip: boot
|
|
cp -p boot boot.strip
|
|
strip boot.strip
|
|
size boot.strip
|
|
|
|
boot.nohdr: boot.strip
|
|
dd if=boot.strip of=boot.nohdr ibs=32 skip=1 obs=1024b
|
|
ls -l boot.nohdr
|
|
|
|
boot1: boot.nohdr
|
|
dd if=boot.nohdr of=boot1 bs=512 count=1
|
|
|
|
boot2: boot.nohdr
|
|
dd if=boot.nohdr of=boot2 bs=512 skip=1
|
|
|
|
all: boot1 boot2
|
|
|
|
install:
|
|
install ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE}\
|
|
boot1 ${DESTDIR}${BINDIR}/boot1
|
|
install ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE}\
|
|
boot2 ${DESTDIR}${BINDIR}/boot2
|
|
for i in sd fd wd ; do \
|
|
( cd ${DESTDIR}${BINDIR} ; \
|
|
rm -f boot$${i} $${i}boot ; \
|
|
ln -s boot1 $${i}boot ; \
|
|
ln -s boot2 boot$${i} ; ) \
|
|
done
|
|
|
|
.include <bsd.prog.mk>
|