111 lines
2.3 KiB
Makefile
111 lines
2.3 KiB
Makefile
|
#-------------------------------------------------
|
||
|
# $Id: Makefile,v 1.2 2003/05/22 12:52:38 aip Exp $
|
||
|
#-------------------------------------------------
|
||
|
|
||
|
ELF064=elf/elf-header-065kb.payload
|
||
|
ELF113=elf/elf-header-113kb.payload
|
||
|
ELF129=elf/elf-header-129kb.payload
|
||
|
|
||
|
LOADER=loader.o
|
||
|
|
||
|
BOCHS_R=bochs
|
||
|
BOCHS_B=bochs/bios
|
||
|
BOCHS_C=bochs/bochs-cvs
|
||
|
BOCHS_X=bochs/bochs-cvs/bochs/bios
|
||
|
|
||
|
BIOS_R=${BOCHS_R}/rombios.bin
|
||
|
BIOS_B=${BOCHS_B}/rombios.bin
|
||
|
BIOS_X=${BOCHS_X}/rombios.bin
|
||
|
|
||
|
PAYLOAD=payload
|
||
|
|
||
|
BOCHSCVS=-d:pserver:anonymous@cvs.bochs.sourceforge.net:/cvsroot/bochs
|
||
|
|
||
|
#-------------------------------------------------
|
||
|
|
||
|
all: clean build #install
|
||
|
|
||
|
#-------------------------------------------------
|
||
|
|
||
|
epia: loader.o bios
|
||
|
cat ${ELF064} ${LOADER} ${BIOS_B} > ${PAYLOAD}
|
||
|
build: loader.o bios
|
||
|
cat ${ELF064} ${LOADER} ${BIOS_B} > ${PAYLOAD}
|
||
|
|
||
|
#-------------------------------------------------
|
||
|
|
||
|
loader.o: loader.s
|
||
|
as86 loader.s -b ${LOADER}
|
||
|
|
||
|
#-------------------------------------------------
|
||
|
|
||
|
bios:
|
||
|
( cd ${BOCHS_B} ; make )
|
||
|
sync
|
||
|
|
||
|
#-------------------------------------------------
|
||
|
|
||
|
#64kb -- sive of Video BIOS
|
||
|
#
|
||
|
#C=`echo 64*1024 | bc`
|
||
|
C=65536
|
||
|
|
||
|
#0xC0000 -- start of Video BIOS in ram.
|
||
|
#S=`echo -e "ibase=16 \n C0000" | bc`
|
||
|
#
|
||
|
# ELF header offset -- 0x1000 == 4096
|
||
|
#
|
||
|
# 786432+4096 = 790528
|
||
|
S=790528
|
||
|
|
||
|
videobios:
|
||
|
dd if=/proc/kcore of=./video.bios.bin bs=1 count=${C} skip=${S}
|
||
|
|
||
|
# 0xF000+0x1000
|
||
|
S2=987136
|
||
|
|
||
|
pcbios:
|
||
|
dd if=/proc/kcore of=./pc.bios.bin bs=1 count=${C} skip=${S2}
|
||
|
|
||
|
pirq: pcbios
|
||
|
#grep -a "\$PIR" -B0 -A127 pc.bios.bin > pirq.bin
|
||
|
grep -a "\$PIR" -B0 -A0 pc.bios.bin > pirq.bin
|
||
|
|
||
|
#now you have to hand edit the pirq.bin file
|
||
|
|
||
|
#-------------------------------------------------
|
||
|
|
||
|
bochslogin:
|
||
|
mkdir -p ${BOCHS_C}
|
||
|
echo "When prompted for a password, simply press the Enter key."
|
||
|
( cd ${BOCHS_C} ; cvs ${BOCHSCVS} login )
|
||
|
|
||
|
bochsco:
|
||
|
mkdir -p ${BOCHS_C}
|
||
|
( cd ${BOCHS_C} ; cvs ${BOCHSCVS} co bochs/bios )
|
||
|
|
||
|
bochsstat:
|
||
|
( cd ${BOCHS_C} ; cvs ${BOCHSCVS} status bochs/bios/rombios.c )
|
||
|
|
||
|
bochsupdate:
|
||
|
( cd ${BOCHS_C} ; cvs ${BOCHSCVS} update bochs/bios/rombios.c )
|
||
|
|
||
|
|
||
|
#-------------------------------------------------
|
||
|
|
||
|
install:
|
||
|
cp -abf ${PAYLOAD} /tftpboot/kernel
|
||
|
sync
|
||
|
|
||
|
#-------------------------------------------------
|
||
|
|
||
|
clean:
|
||
|
rm -rf *.o ${PAYLOAD}
|
||
|
(cd ${BOCHS_B} ; make clean )
|
||
|
|
||
|
distclean: clean
|
||
|
rm -rf ${BOCHS_C}
|
||
|
|
||
|
#-------------------------------------------------
|
||
|
|