GDT finally works
This commit is contained in:
55
Makefile
55
Makefile
@ -1,30 +1,41 @@
|
||||
.PHONY: all disk clean
|
||||
.PHONY: all clean prepare cleanall iso
|
||||
|
||||
disk:
|
||||
all:
|
||||
make -C kernel all
|
||||
|
||||
prepare:
|
||||
if [ ! -d limine ]; then \
|
||||
git clone https://github.com/limine-bootloader/limine.git --branch=v9.x-binary --depth=1; \
|
||||
make -C limine; \
|
||||
mkdir limine; \
|
||||
cd limine; \
|
||||
git init; \
|
||||
git remote add origin https://github.com/limine-bootloader/limine.git; \
|
||||
git fetch origin 9246bb78f446962aae5b0a291db4be32f9866ba6; \
|
||||
git reset --hard FETCH_HEAD; \
|
||||
make; \
|
||||
fi
|
||||
make -C kernel
|
||||
rm -f disk.hdd
|
||||
dd if=/dev/zero bs=1M count=0 seek=64 of=disk.hdd
|
||||
PATH=$$PATH:/usr/sbin:/sbin sgdisk disk.hdd -n 1:2048 -t 1:ef00 -m 1
|
||||
./limine/limine bios-install disk.hdd
|
||||
mformat -i disk.hdd@@1M
|
||||
mmd -i disk.hdd@@1M ::/EFI ::/EFI/BOOT ::/boot ::/boot/limine
|
||||
mcopy -i disk.hdd@@1M kernel/mop2 ::/boot
|
||||
mcopy -i disk.hdd@@1M limine.conf limine/limine-bios.sys ::/boot/limine
|
||||
mcopy -i disk.hdd@@1M limine/BOOTX64.EFI ::/EFI/BOOT
|
||||
|
||||
cleanall:
|
||||
make clean
|
||||
rm -rf limine
|
||||
|
||||
clean:
|
||||
rm -rf limine disk.hdd
|
||||
make -C kernel clean
|
||||
rm -f mop2.iso
|
||||
|
||||
all: disk
|
||||
|
||||
run:
|
||||
qemu-system-x86_64 \
|
||||
-d guest_errors \
|
||||
-serial stdio \
|
||||
-hda disk.hdd
|
||||
iso:
|
||||
rm -rf iso_root
|
||||
mkdir -p iso_root/boot
|
||||
cp -v kernel/mop2 iso_root/boot
|
||||
mkdir -p iso_root/boot/limine
|
||||
cp -v limine.conf limine/limine-bios.sys limine/limine-bios-cd.bin \
|
||||
limine/limine-uefi-cd.bin iso_root/boot/limine
|
||||
mkdir -p iso_root/EFI/BOOT
|
||||
cp -v limine/BOOTX64.EFI iso_root/EFI/BOOT
|
||||
cp -v limine/BOOTIA32.EFI iso_root/EFI/BOOT
|
||||
xorriso -as mkisofs -R -r -J -b boot/limine/limine-bios-cd.bin \
|
||||
-no-emul-boot -boot-load-size 4 -boot-info-table -hfsplus \
|
||||
-apm-block-size 2048 --efi-boot boot/limine/limine-uefi-cd.bin \
|
||||
-efi-boot-part --efi-boot-image --protective-msdos-label \
|
||||
iso_root -o mop2.iso
|
||||
./limine/limine bios-install mop2.iso
|
||||
|
||||
|
Reference in New Issue
Block a user