Blob


1 .SUFFIXES: .asm .o
2 LDFLAGS = -s --no-pie
4 OBJ = loader.o kernel.o floppy.o
5 IMG = sys.img
8 all: ${IMG}
10 xxd: ${IMG}
11 xxd ${IMG} | less
13 clean:
14 rm -f *.o *.elf *.bin *.img
16 run: ${IMG}
17 qemu-system-i386 -M pc -m 1M -fda ${IMG}
19 floppy1440.img: sys.bin
20 cat sys.bin /dev/zero | dd of=floppy1440.img bs=512 count=2880
22 sys.img: sys.bin
23 cat sys.bin /dev/zero | dd of=sys.img bs=512 count=128
25 sys.bin: sys.elf
26 objcopy -O binary sys.elf sys.bin
28 sys.elf: linker.ld ${OBJ}
29 ld -o $@ -T linker.ld ${OBJ} ${LDFLAGS}
31 user.bin: user.asm
32 nasm -fbin -o $@ user.asm
34 .asm.o:
35 nasm -felf32 -o $@ $<
37 kernel.o: user.bin