| 12345678910111213141516171819202122232425262728293031 |
- #!/bin/sh
- echo "Compiling mbr..."
- nasm -I boot/include/ -o build/mbr.bin boot/mbr.S
- echo "Compiling loader..."
- nasm -I boot/include/ -o build/loader.bin boot/loader.S
- echo "Compiling kernel..."
- i386-elf-gcc -I ./lib/ -I lib/kernel/ -I kernel/ -c -fno-builtin -o build/main.o kernel/main.c
- nasm -f elf -o build/print.o lib/kernel/print.S
- nasm -f elf -o build/kernel.o kernel/kernel.S
- i386-elf-gcc -I lib/kernel/ -I ./lib/ -I kernel/ -c -fno-builtin -o build/interrupt.o kernel/interrupt.c
- i386-elf-gcc -I lib/kernel/ -I ./lib/ -I kernel/ -c -fno-builtin -o build/init.o kernel/init.c
- i386-elf-ld -Ttext 0xc0001500 -e main -o build/kernel.bin build/main.o build/init.o build/interrupt.o build/print.o build/kernel.o
- echo "Creating disk image..."
- bximage -q -func=create -hd=30M hd30M.img
- echo "Installing to disk image..."
- echo " 0. Writing mbr to disk..."
- dd if=build/mbr.bin of=hd30M.img bs=512 count=1 conv=notrunc
- echo " 1. Writing loader to disk..."
- dd if=build/loader.bin of=hd30M.img bs=512 count=4 seek=2 conv=notrunc
- echo " 2. Writing kernel to disk..."
- dd if=build/kernel.bin of=hd30M.img bs=512 count=200 seek=9 conv=notrunc
- echo "Disk image created successfully."
- echo "Now starting bochs ..."
- bochs -f bochsrc -q
|