Skip to content

boredcoder411/kmint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mboot

mboot is a bootloader for i386 platforms.

Prequisites

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

Building

make
qemu-system-x86_64 -m 4G -drive file=image.img -serial stdio

Note

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

todo:

  • 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published