mboot is a bootloader for i386 platforms.
Building kmint depends on:
- llvm tools (clang, ld.lld)
- sfdisk
- nasm
- partprobe
These requirements mean you can only fully build the disk image on Linux, I will swap out the missing tools for mac-friendly ones soon.
Running kmint needs:
- the building tools or a disk image
- qemu-system-x86_64
make
qemu-system-x86_64 -m 4G -drive file=image.img -serial stdio
As filesystems and elf files aren't implemented yet, programs you want to launch from mboot need to be linked into it and called from loader.c
- 32 bit protected mode
- cpu exceptions
- individual hardware interrupts
- a ps/2 keyboard
- vga in 320x200x8bpp
- reading ata drives
- rs232 interfaces
- the intel 8259 PIC
- the intel 8253 PIT
- the mbr partitioning scheme
- wad files as the filesystem
- enable x87 fpu
- better filesystem
- memory allocator
- elf loader
- paging
- libc