1dce5cb37f
- Autodetection and support of the BIOS EDD extensions to work around the 1024 cylinder limit on all but really ancient BIOS's. - To work around some BIOS's which break when EDD is used with older drives, we only attempt to use EDD if the cylinder is > 1023. - Since this new code required more space than we had left, expand boot0 to 2 sectors (1024 bytes) in length. - Add support for boot0 being multiple sectors using predefined constants. If boot0 needs to be extended in the future, all that is required is bumping the NUM_SECTORS constant. - Now that we have more room to work with, add a few more fs type descriptions while making others more verbose.
33 lines
585 B
Makefile
33 lines
585 B
Makefile
# $FreeBSD$
|
|
|
|
PROG= boot0
|
|
NOMAN=
|
|
STRIP=
|
|
BINDIR?= /boot
|
|
BINMODE= 444
|
|
|
|
M4?= m4
|
|
|
|
# update, packet mode, and all slices enabled by default
|
|
B0FLAGS=0x8f
|
|
B0TICKS=0xb6
|
|
|
|
ORG= 0x600
|
|
|
|
boot0: boot0.o
|
|
.if ${OBJFORMAT} == aout
|
|
${LD} -N -s -T ${ORG} -o boot0.out boot0.o
|
|
dd if=boot0.out of=${.TARGET} ibs=32 skip=1
|
|
.else
|
|
${LD} -N -e start -Ttext ${ORG} -o boot0.out boot0.o
|
|
objcopy -S -O binary boot0.out ${.TARGET}
|
|
.endif
|
|
|
|
boot0.o: boot0.s
|
|
${AS} ${AFLAGS} --defsym FLAGS=${B0FLAGS} --defsym TICKS=${B0TICKS} \
|
|
${.IMPSRC} -o ${.TARGET}
|
|
|
|
CLEANFILES+= boot0.out boot0.o
|
|
|
|
.include <bsd.prog.mk>
|