-
Notifications
You must be signed in to change notification settings - Fork 1
chrisforbes/rgos
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
RGOS -- A hopefully straightforward OS design. ============================================== Author: C. Forbes [chrisf@ijw.co.nz] How to make it work: Assuming Ubuntu Lucid x86 on your host, you will need: * Oracle Virtualbox 3.2.0+ * Packages: build_essential, nasm, genisoimage, grub, git-core Checkout the sources: $ git clone git://github.com/chrisforbes/rgos Build it: $ cd rgos $ make Mount `rgos.iso` (in a VM, probably). Give it >= 64M of RAM, and watch it work. Stuff that needs done: Most interesting things don't work, or more likely, don't exist at all. However, I plan to support, roughly in order: * Building the physmem image based on the multiboot memory map, rather than assuming 64M. Any unusable areas should be blocked out of the physmem image. * Writing the kfree function, so we don't exhaust the kernel heap. * Unmap the bottom pagetable as soon as possible -- that's userspace. [0x0..] * Only map the *required* region of the 0xc0.. pagetable -- not the full 4M. If we want to run on *little boxes* (16M or so), 4M of fixed kernel pages is lame. * Processes, each with a chain of memory descriptors, placed in kheap. The PF handler will consult the descriptor chain to decide what it should do. * PCI bus enumeration * Basic driver framework * Legacy keyboard driver * Rewrite VGA console driver onto the driver framework * SATA AHCI support * ATAPI support for CD/DVD drives * ISO9660 filesystem driver * ELF parser & relocator -- for loadable kernel modules. * ACPI support -- for at least shutdown! * ATA disk support * ext2 filesystem driver?
About
osdev experiments
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published