A poorly written OS for the x86 arch. (WIP)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
eOS/Makefile

36 lines
756 B

3 years ago
all: os-image
run: all
3 years ago
qemu-system-x86_64 os-image
3 years ago
grub: eOS.iso
qemu-system-x86_64 eOS.iso
eOS.iso : kernel.bin src/grub/grub.cfg
mkdir -p boot/grub
cp $< boot/eOS.bin
cp src/grub/grub.cfg boot/grub/grub.cfg
grub-mkrescue -o eOS.iso ./
3 years ago
os-image: bootloader.bin kernel.bin
3 years ago
cat $^ > os-image
3 years ago
3 years ago
kernel.bin: kernel_entry.o kernel.o
3 years ago
gcc -o kernel.bin $^ -Wl,--oformat=binary -ffreestanding -nostdlib -shared -Ttext 0x1000 -m32
3 years ago
kernel.o : src/kernel/kernel.c
3 years ago
gcc -fno-pie -m32 -Os -ffreestanding -c $< -o $@
3 years ago
kernel_entry.o : src/kernel/kernel_entry.asm
nasm $< -f elf -o $@
bootloader.bin : src/bootloader/bootloader.asm
3 years ago
nasm $< -f bin -o $@
3 years ago
clean:
rm -fr *.bin *.dis *.o os-image *.map boot/
3 years ago
3 years ago
kernel.dis : kernel.bin
3 years ago
ndisasm -b 32 $< > $@