powerpc-ofw-boot/Makefile

31 lines
957 B
Makefile
Raw Normal View History

2021-06-30 17:31:34 +00:00
PPC=powerpc-linux-gnu
2021-10-09 09:21:48 +00:00
DISK.APM: kernel.elf bootinfo.txt scripts/kpartx.sh
2021-09-29 03:11:53 +00:00
dd bs=512K count=2 if=/dev/zero of=DISK.APM
2021-09-23 13:13:49 +00:00
parted DISK.APM --script mklabel mac mkpart primary hfs+ 32.8KB 100%
2021-10-09 09:21:48 +00:00
sudo chmod +x scripts/kpartx.sh
sudo ./scripts/kpartx.sh
2021-06-30 17:25:38 +00:00
sudo mkdir /mnt/ppc
sudo mkdir /mnt/boot
sudo cp bootinfo.txt /mnt/ppc
sudo cp kernel.elf /mnt/boot
sudo umount /mnt/
2021-09-23 13:13:49 +00:00
sudo kpartx -d DISK.APM
2021-10-01 03:32:38 +00:00
bootinfo.txt: loader/load.fth
2021-06-30 20:38:46 +00:00
echo "<chrp-boot><boot-script>" >> bootinfo.txt
2021-10-01 03:32:38 +00:00
cat loader/load.fth >> bootinfo.txt
2021-06-30 20:38:46 +00:00
echo "</boot-script></chrp-boot>" >> bootinfo.txt
2021-09-30 14:59:48 +00:00
kernel.elf: start.elf boot.elf
$(PPC)-ld -Ttext=0x200000 start.elf boot.elf -o kernel.elf
2021-10-01 03:32:38 +00:00
boot.elf: entry/boot.c
$(PPC)-gcc -c entry/boot.c -o boot.elf
start.elf: entry/start.s
$(PPC)-as -c entry/start.s -o start.elf
2021-06-30 17:18:29 +00:00
clean:
2021-09-29 03:11:53 +00:00
rm DISK.APM *elf *txt
run:
2021-10-09 09:21:48 +00:00
qemu-system-ppc DISK.APM -g 1024x768x32
2021-09-29 03:11:53 +00:00
debug:
2021-10-09 09:21:48 +00:00
qemu-system-ppc DISK.APM -d in_asm -g 1024x768x32
2021-09-29 03:11:53 +00:00
all:
make clean && make && make run