| #------------------------------------------------- |
| # $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} |
| |
| #------------------------------------------------- |
| |