mirror of
https://github.com/XunilGroup/XunilOS.git
synced 2026-06-02 12:44:24 +02:00
Update template to newest version which fixes edk2, make aarch64 compile
(nothing yet) by stubbing lots of functions and modules, make the frame allocator and heap multiarch, make kernel panic print inside of serial on x86_64
This commit is contained in:
+21
-43
@@ -26,25 +26,24 @@ run: run-$(KARCH)
|
||||
run-hdd: run-hdd-$(KARCH)
|
||||
|
||||
.PHONY: run-x86_64
|
||||
run-x86_64: ovmf/ovmf-code-$(KARCH).fd ovmf/ovmf-vars-$(KARCH).fd $(IMAGE_NAME).iso
|
||||
run-x86_64: edk2-ovmf $(IMAGE_NAME).iso
|
||||
qemu-system-$(KARCH) \
|
||||
-M q35 \
|
||||
-drive if=pflash,unit=0,format=raw,file=ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-drive if=pflash,unit=1,format=raw,file=ovmf/ovmf-vars-$(KARCH).fd \
|
||||
-serial stdio \
|
||||
-drive if=pflash,unit=0,format=raw,file=edk2-ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-cdrom $(IMAGE_NAME).iso \
|
||||
$(QEMUFLAGS)
|
||||
|
||||
.PHONY: run-hdd-x86_64
|
||||
run-hdd-x86_64: ovmf/ovmf-code-$(KARCH).fd ovmf/ovmf-vars-$(KARCH).fd $(IMAGE_NAME).hdd
|
||||
run-hdd-x86_64: edk2-ovmf $(IMAGE_NAME).hdd
|
||||
qemu-system-$(KARCH) \
|
||||
-M q35 \
|
||||
-drive if=pflash,unit=0,format=raw,file=ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-drive if=pflash,unit=1,format=raw,file=ovmf/ovmf-vars-$(KARCH).fd \
|
||||
-drive if=pflash,unit=0,format=raw,file=edk2-ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-hda $(IMAGE_NAME).hdd \
|
||||
$(QEMUFLAGS)
|
||||
|
||||
.PHONY: run-aarch64
|
||||
run-aarch64: ovmf/ovmf-code-$(KARCH).fd ovmf/ovmf-vars-$(KARCH).fd $(IMAGE_NAME).iso
|
||||
run-aarch64: edk2-ovmf $(IMAGE_NAME).iso
|
||||
qemu-system-$(KARCH) \
|
||||
-M virt \
|
||||
-cpu cortex-a72 \
|
||||
@@ -52,13 +51,13 @@ run-aarch64: ovmf/ovmf-code-$(KARCH).fd ovmf/ovmf-vars-$(KARCH).fd $(IMAGE_NAME)
|
||||
-device qemu-xhci \
|
||||
-device usb-kbd \
|
||||
-device usb-mouse \
|
||||
-drive if=pflash,unit=0,format=raw,file=ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-drive if=pflash,unit=1,format=raw,file=ovmf/ovmf-vars-$(KARCH).fd \
|
||||
-serial stdio \
|
||||
-drive if=pflash,unit=0,format=raw,file=edk2-ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-cdrom $(IMAGE_NAME).iso \
|
||||
$(QEMUFLAGS)
|
||||
|
||||
.PHONY: run-hdd-aarch64
|
||||
run-hdd-aarch64: ovmf/ovmf-code-$(KARCH).fd ovmf/ovmf-vars-$(KARCH).fd $(IMAGE_NAME).hdd
|
||||
run-hdd-aarch64: edk2-ovmf $(IMAGE_NAME).hdd
|
||||
qemu-system-$(KARCH) \
|
||||
-M virt \
|
||||
-cpu cortex-a72 \
|
||||
@@ -66,13 +65,12 @@ run-hdd-aarch64: ovmf/ovmf-code-$(KARCH).fd ovmf/ovmf-vars-$(KARCH).fd $(IMAGE_N
|
||||
-device qemu-xhci \
|
||||
-device usb-kbd \
|
||||
-device usb-mouse \
|
||||
-drive if=pflash,unit=0,format=raw,file=ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-drive if=pflash,unit=1,format=raw,file=ovmf/ovmf-vars-$(KARCH).fd \
|
||||
-drive if=pflash,unit=0,format=raw,file=edk2-ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-hda $(IMAGE_NAME).hdd \
|
||||
$(QEMUFLAGS)
|
||||
|
||||
.PHONY: run-riscv64
|
||||
run-riscv64: ovmf/ovmf-code-$(KARCH).fd ovmf/ovmf-vars-$(KARCH).fd $(IMAGE_NAME).iso
|
||||
run-riscv64: edk2-ovmf $(IMAGE_NAME).iso
|
||||
qemu-system-$(KARCH) \
|
||||
-M virt \
|
||||
-cpu rv64 \
|
||||
@@ -80,13 +78,12 @@ run-riscv64: ovmf/ovmf-code-$(KARCH).fd ovmf/ovmf-vars-$(KARCH).fd $(IMAGE_NAME)
|
||||
-device qemu-xhci \
|
||||
-device usb-kbd \
|
||||
-device usb-mouse \
|
||||
-drive if=pflash,unit=0,format=raw,file=ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-drive if=pflash,unit=1,format=raw,file=ovmf/ovmf-vars-$(KARCH).fd \
|
||||
-drive if=pflash,unit=0,format=raw,file=edk2-ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-cdrom $(IMAGE_NAME).iso \
|
||||
$(QEMUFLAGS)
|
||||
|
||||
.PHONY: run-hdd-riscv64
|
||||
run-hdd-riscv64: ovmf/ovmf-code-$(KARCH).fd ovmf/ovmf-vars-$(KARCH).fd $(IMAGE_NAME).hdd
|
||||
run-hdd-riscv64: edk2-ovmf $(IMAGE_NAME).hdd
|
||||
qemu-system-$(KARCH) \
|
||||
-M virt \
|
||||
-cpu rv64 \
|
||||
@@ -94,13 +91,12 @@ run-hdd-riscv64: ovmf/ovmf-code-$(KARCH).fd ovmf/ovmf-vars-$(KARCH).fd $(IMAGE_N
|
||||
-device qemu-xhci \
|
||||
-device usb-kbd \
|
||||
-device usb-mouse \
|
||||
-drive if=pflash,unit=0,format=raw,file=ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-drive if=pflash,unit=1,format=raw,file=ovmf/ovmf-vars-$(KARCH).fd \
|
||||
-drive if=pflash,unit=0,format=raw,file=edk2-ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-hda $(IMAGE_NAME).hdd \
|
||||
$(QEMUFLAGS)
|
||||
|
||||
.PHONY: run-loongarch64
|
||||
run-loongarch64: ovmf/ovmf-code-$(KARCH).fd ovmf/ovmf-vars-$(KARCH).fd $(IMAGE_NAME).iso
|
||||
run-loongarch64: edk2-ovmf $(IMAGE_NAME).iso
|
||||
qemu-system-$(KARCH) \
|
||||
-M virt \
|
||||
-cpu la464 \
|
||||
@@ -108,13 +104,12 @@ run-loongarch64: ovmf/ovmf-code-$(KARCH).fd ovmf/ovmf-vars-$(KARCH).fd $(IMAGE_N
|
||||
-device qemu-xhci \
|
||||
-device usb-kbd \
|
||||
-device usb-mouse \
|
||||
-drive if=pflash,unit=0,format=raw,file=ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-drive if=pflash,unit=1,format=raw,file=ovmf/ovmf-vars-$(KARCH).fd \
|
||||
-drive if=pflash,unit=0,format=raw,file=edk2-ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-cdrom $(IMAGE_NAME).iso \
|
||||
$(QEMUFLAGS)
|
||||
|
||||
.PHONY: run-hdd-loongarch64
|
||||
run-hdd-loongarch64: ovmf/ovmf-code-$(KARCH).fd ovmf/ovmf-vars-$(KARCH).fd $(IMAGE_NAME).hdd
|
||||
run-hdd-loongarch64: edk2-ovmf $(IMAGE_NAME).hdd
|
||||
qemu-system-$(KARCH) \
|
||||
-M virt \
|
||||
-cpu la464 \
|
||||
@@ -122,8 +117,7 @@ run-hdd-loongarch64: ovmf/ovmf-code-$(KARCH).fd ovmf/ovmf-vars-$(KARCH).fd $(IMA
|
||||
-device qemu-xhci \
|
||||
-device usb-kbd \
|
||||
-device usb-mouse \
|
||||
-drive if=pflash,unit=0,format=raw,file=ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-drive if=pflash,unit=1,format=raw,file=ovmf/ovmf-vars-$(KARCH).fd \
|
||||
-drive if=pflash,unit=0,format=raw,file=edk2-ovmf/ovmf-code-$(KARCH).fd,readonly=on \
|
||||
-hda $(IMAGE_NAME).hdd \
|
||||
$(QEMUFLAGS)
|
||||
|
||||
@@ -143,27 +137,12 @@ run-hdd-bios: $(IMAGE_NAME).hdd
|
||||
-hda $(IMAGE_NAME).hdd \
|
||||
$(QEMUFLAGS)
|
||||
|
||||
ovmf/ovmf-code-$(KARCH).fd:
|
||||
mkdir -p ovmf
|
||||
curl -Lo $@ https://github.com/osdev0/edk2-ovmf-nightly/releases/latest/download/ovmf-code-$(KARCH).fd
|
||||
case "$(KARCH)" in \
|
||||
aarch64) dd if=/dev/zero of=$@ bs=1 count=0 seek=67108864 2>/dev/null;; \
|
||||
loongarch64) dd if=/dev/zero of=$@ bs=1 count=0 seek=5242880 2>/dev/null;; \
|
||||
riscv64) dd if=/dev/zero of=$@ bs=1 count=0 seek=33554432 2>/dev/null;; \
|
||||
esac
|
||||
|
||||
ovmf/ovmf-vars-$(KARCH).fd:
|
||||
mkdir -p ovmf
|
||||
curl -Lo $@ https://github.com/osdev0/edk2-ovmf-nightly/releases/latest/download/ovmf-vars-$(KARCH).fd
|
||||
case "$(KARCH)" in \
|
||||
aarch64) dd if=/dev/zero of=$@ bs=1 count=0 seek=67108864 2>/dev/null;; \
|
||||
loongarch64) dd if=/dev/zero of=$@ bs=1 count=0 seek=5242880 2>/dev/null;; \
|
||||
riscv64) dd if=/dev/zero of=$@ bs=1 count=0 seek=33554432 2>/dev/null;; \
|
||||
esac
|
||||
edk2-ovmf:
|
||||
curl -L https://github.com/osdev0/edk2-ovmf-nightly/releases/latest/download/edk2-ovmf.tar.gz | gunzip | tar -xf -
|
||||
|
||||
limine/limine:
|
||||
rm -rf limine
|
||||
git clone https://github.com/limine-bootloader/limine.git --branch=v9.x-binary --depth=1
|
||||
git clone https://github.com/limine-bootloader/limine.git --branch=v10.x-binary --depth=1
|
||||
$(MAKE) -C limine
|
||||
|
||||
.PHONY: kernel
|
||||
@@ -213,7 +192,6 @@ ifeq ($(KARCH),loongarch64)
|
||||
iso_root -o $(IMAGE_NAME).iso
|
||||
endif
|
||||
rm -rf iso_root
|
||||
qemu-system-$(KARCH) -cdrom $(IMAGE_NAME).iso -m 1G -serial stdio
|
||||
|
||||
$(IMAGE_NAME).hdd: limine/limine kernel
|
||||
rm -f $(IMAGE_NAME).hdd
|
||||
|
||||
Reference in New Issue
Block a user