First steps: include Limine, kernel entry point, framebuffer request
This commit is contained in:
29
Makefile
Normal file
29
Makefile
Normal file
@@ -0,0 +1,29 @@
|
||||
build:
|
||||
rm -f *.o
|
||||
x86_64-elf-gcc -c -I src src/kmain.c -Wall -Wextra -std=gnu99 -nostdlib -ffreestanding -fno-stack-protector -fno-stack-check -fno-PIC -ffunction-sections -fdata-sections
|
||||
x86_64-elf-ld -o kernel -T linker.ld *.o
|
||||
|
||||
limine/limine:
|
||||
rm -rf limine
|
||||
git clone https://github.com/limine-bootloader/limine.git --branch=v9.x-binary --depth=1
|
||||
$(MAKE) -C limine
|
||||
|
||||
build-iso: limine/limine build
|
||||
rm -rf iso_root
|
||||
mkdir -p iso_root/boot
|
||||
cp -v kernel iso_root/boot
|
||||
mkdir -p iso_root/boot/limine
|
||||
cp -v limine.conf iso_root/boot/limine
|
||||
mkdir -p iso_root/EFI/BOOT
|
||||
cp -v limine/limine-bios.sys limine/limine-bios-cd.bin limine/limine-uefi-cd.bin iso_root/boot/limine/
|
||||
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 kernel.iso
|
||||
./limine/limine bios-install kernel.iso
|
||||
|
||||
clean:
|
||||
rm -rf *.o kernel iso_root kernel.iso limine
|
||||
Reference in New Issue
Block a user