Improved disk building

This commit is contained in:
2026-03-29 20:33:02 +02:00
parent f10f065e91
commit 12ec371196
4 changed files with 17 additions and 7 deletions
+3 -2
View File
@@ -5,8 +5,9 @@ Architectural Milestones
[-] 64-bit rewrite [-] 64-bit rewrite
[x] Limine (Bootloader) [x] Limine (Bootloader)
[ ] Decent build system (Makefile/CMake with cross-compiler) [ ] Decent build system (Makefile/CMake with cross-compiler)
[ ] kernel.h rewrite & header cleanup [x] kernel.h rewrite & header cleanup
[ ] debugf() cleanup & kprintf() (Standardized logging levels) [x] debugf() cleanup, kprintf() & pr_*() (Standardized logging levels)
[x] errno.h errors and "errno-in-pointer" macros
Low-Level Hardware & Interrupts Low-Level Hardware & Interrupts
[x] GDT [x] GDT
+5 -2
View File
@@ -28,11 +28,14 @@ LDFLAGS = -melf_x86_64 -nostdlib -static \
ARFLAGS = ARFLAGS =
# Kernel config # Kernel config
CONSOLE_LOGLEVEL=7 CONSOLE_LOGLEVEL = 7
# Sysroot
LIMINE_CFG = ./limine.conf
# Disk image # Disk image
IMG_NAME = disk.img IMG_NAME = disk.img
IMG_SIZE = 256 # 256MB IMG_SIZE = 256
# Qemu # Qemu
Q_MEMORY = 256M Q_MEMORY = 256M
+6
View File
@@ -0,0 +1,6 @@
timeout: 0
/kern.
protocol: limine
path: boot():/boot/kernel.elf
+3 -3
View File
@@ -14,8 +14,8 @@ MODULES = $(KERNEL)
all: $(TARGET) all: $(TARGET)
$(TARGET): $(SYSROOT) $(MODULES) $(TARGET): $(SYSROOT) $(MODULES)
cp /usr/share/limine/limine-bios.sys $(SYSROOT)/boot cp /usr/share/limine/limine-bios.sys $(SYSROOT)/boot
echo -e 'timeout: 0\n\n/kern.\n\tprotocol: limine\n\tpath: boot():/boot/kernel.elf\n' > $(SYSROOT)/boot/limine.conf cp $(LIMINE_CFG) $(SYSROOT)/boot/limine.conf
dd if=/dev/zero of=$(TARGET) bs=1M count=$(IMG_SIZE) qemu-img create $(TARGET) $(IMG_SIZE)M
echo ',,c,*' | sfdisk $(TARGET) >/dev/null echo ',,c,*' | sfdisk $(TARGET) >/dev/null
mformat -F -i $(TARGET)@@$(OFFSET) :: mformat -F -i $(TARGET)@@$(OFFSET) ::
mcopy -i $(TARGET)@@$(OFFSET) $(SYSROOT)/* :: mcopy -i $(TARGET)@@$(OFFSET) $(SYSROOT)/* ::
@@ -33,10 +33,10 @@ $(SYSROOT):
@mkdir $(SYSROOT)/usr/lib @mkdir $(SYSROOT)/usr/lib
@mkdir $(SYSROOT)/usr/sbin @mkdir $(SYSROOT)/usr/sbin
@mkdir $(SYSROOT)/usr/share @mkdir $(SYSROOT)/usr/share
@mkdir $(SYSROOT)/tmp
@ln -s usr/bin $(SYSROOT)/bin @ln -s usr/bin $(SYSROOT)/bin
@ln -s usr/lib $(SYSROOT)/lib @ln -s usr/lib $(SYSROOT)/lib
@ln -s usr/sbin $(SYSROOT)/sbin @ln -s usr/sbin $(SYSROOT)/sbin
@mkdir $(SYSROOT)/tmp
$(MODULES): $(MODULES):
$(MAKE) -C $@ SYSROOT=$(abspath $(SYSROOT)) $(MAKE) -C $@ SYSROOT=$(abspath $(SYSROOT))