mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-20 11:11:24 +00:00
9c6e0c69be
do fit, and beeping in case of an overflow. . Drop a comment about the ``FORCE_COMCONSOLE'' option into README.serial. . Increase the name buffer for the root directory from 100 bytes to 8 KB; this is in no way ideal, but (IMHO) the best that can be done by now. People did encounter problems with their root dir name listing overflowing the allocated buffer space. Once we've got the three-stage boot, we should implement some basic malloc(). Swap space is already getting tight now, perhaps the swap should go into another 64 KB segment instead. . Make the keyboard probe less paranoid. It should not give up in case of a keyboard that's continuously demanding RESEND's. Even though the keyboard reset apparently has not been reported to be complete, it's at the very least proven that there IS something like a keyboard available. This solves problems with the ``Gateway-2000 AllKey programmable'' (sp?) keyboard, that experienced a total hang with the previous probe. Thanks goes to Scott Blachowicz <scott@statsci.com> for his extensive testing of my various interim (debugging) bootblocks to get this working.
73 lines
1.8 KiB
Makefile
73 lines
1.8 KiB
Makefile
# $Id: Makefile,v 1.29 1995/04/20 18:36:13 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 sizetest
|
||
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
|
||
@dd if=boot2 skip=14 of=sizetest 2> /dev/null
|
||
@if [ -s sizetest ] ; then \
|
||
echo "*** Boot2 is too BIG ***" ; exit 2 ; \
|
||
fi
|
||
|
||
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>
|