docs
This commit is contained in:
17
README.md
17
README.md
@@ -11,8 +11,19 @@
|
|||||||
## Building
|
## Building
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
# Create iso
|
make
|
||||||
make iso
|
```
|
||||||
# Run virtual machine with your iso
|
|
||||||
|
## Running
|
||||||
|
|
||||||
|
After building, run the following:
|
||||||
|
|
||||||
|
```sh
|
||||||
qemu-system-x86_64 -cdrom .build/nub-os.iso
|
qemu-system-x86_64 -cdrom .build/nub-os.iso
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Or all in once build and run
|
||||||
|
|
||||||
|
```sh
|
||||||
|
make && qemu-system-x86_64 -cdrom .build/nub-os.iso
|
||||||
|
```
|
||||||
|
|||||||
43
makefile
43
makefile
@@ -1,34 +1,33 @@
|
|||||||
BUILDDIR=mkdir-build
|
CC = i386-elf-gcc
|
||||||
CC = i386-elf-gcc -ffreestanding -m32
|
LD = i386-elf-ld
|
||||||
|
|
||||||
iso: .build/ .build/nub-os.iso
|
CFLAGS = -ffreestanding -m32
|
||||||
|
|
||||||
.build/nub-os.iso: .build/kernel.bin
|
all: .build/nub-os.iso
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@rm -r .build 2>/dev/null || true
|
||||||
|
|
||||||
|
build-dir:
|
||||||
|
mkdir .build 2>/dev/null || true
|
||||||
|
|
||||||
|
.build/nub-os.iso: build-dir .build/kernel.bin
|
||||||
mkdir -p .build/iso/boot/grub
|
mkdir -p .build/iso/boot/grub
|
||||||
cp grub.cfg .build/iso/boot/grub
|
cp grub.cfg .build/iso/boot/grub
|
||||||
cp .build/kernel.bin .build/iso/boot/
|
cp .build/kernel.bin .build/iso/boot/
|
||||||
grub-mkrescue -o .build/nub-os.iso .build/iso/
|
grub-mkrescue -o .build/nub-os.iso .build/iso/
|
||||||
|
|
||||||
.build/kernel.bin: .build/entry.o .build/kernel.o .build/mem.o .build/print.o
|
.build/kernel.bin: build-dir .build/entry.o .build/kernel.o .build/mem.o .build/print.o
|
||||||
i386-elf-ld -Ttext 0x100000 -o .build/kernel.bin .build/entry.o .build/kernel.o .build/mem.o .build/print.o
|
$(LD) -Ttext 0x100000 -o .build/kernel.bin .build/entry.o .build/kernel.o .build/mem.o .build/print.o
|
||||||
|
|
||||||
.build/kernel.o: src/kernel.c
|
.build/kernel.o: build-dir src/kernel.c
|
||||||
$(CC) -c -o .build/kernel.o src/kernel.c
|
$(CC) $(CFLAGS) -c -o .build/kernel.o src/kernel.c
|
||||||
|
|
||||||
.build/mem.o: src/mem.c
|
.build/mem.o: build-dir src/mem.c
|
||||||
$(CC) -c -o .build/mem.o src/mem.c
|
$(CC) $(CFLAGS) -c -o .build/mem.o src/mem.c
|
||||||
|
|
||||||
.build/print.o: src/print.c
|
.build/print.o: build-dir src/print.c
|
||||||
$(CC) -c -o .build/print.o src/print.c
|
$(CC) $(CFLAGS) -c -o .build/print.o src/print.c
|
||||||
|
|
||||||
.build/entry.o: src/entry.asm
|
.build/entry.o: build-dir src/entry.asm
|
||||||
nasm -f elf -o .build/entry.o src/entry.asm
|
nasm -f elf -o .build/entry.o src/entry.asm
|
||||||
|
|
||||||
run: .build/nub-os.iso
|
|
||||||
qemu-system-x86_64 -cdrom .build/nub-os.iso
|
|
||||||
|
|
||||||
.build/:
|
|
||||||
mkdir .build
|
|
||||||
|
|
||||||
clean:
|
|
||||||
@rm -r .build 2>/dev/null || true
|
|
||||||
|
|||||||
Reference in New Issue
Block a user