An i386 operation system written in pure rust for fun and no profit.
  • Rust 97.3%
  • Linker Script 2.7%
Find a file
2021-12-29 11:30:35 +08:00
.cargo [Opt] project structure refactored with workspace 2021-11-21 15:13:27 +08:00
.github/workflows updated rust.yml 2021-12-01 10:07:58 +08:00
bootloader doc style optimized 2021-12-29 11:30:35 +08:00
i386 doc style optimized 2021-12-29 11:30:35 +08:00
kbuild doc style optimized 2021-12-29 11:30:35 +08:00
kernel doc style optimized 2021-12-29 11:30:35 +08:00
.gitignore [Opt] project structure refactored 2021-10-18 19:54:28 +08:00
Cargo.lock added basic data structure support for PAE paging 2021-12-28 17:25:12 +08:00
Cargo.toml [Opt] project structure refactored with workspace 2021-11-21 15:13:27 +08:00
i386-32bit.xml [Opt] project structure refactored with workspace 2021-11-21 15:13:27 +08:00
LICENSE [Feature] readme and license added 2021-10-18 19:57:05 +08:00
README.md readme updated 2021-12-29 01:11:31 +08:00
target.xml [Opt] project structure refactored with workspace 2021-11-21 15:13:27 +08:00

OrustS

An i386 operation system written in pure rust (for fun and no profit).

This operation system is under active developing.

Usage

  • cargo kbuild build to build
  • cargo kbuild run to run it with qemu
  • cargo kbuild debug to wait for gdb attach on port 1234

Checklist

  • implement a bootloader
    • build a staged bootloader demo
    • enable the A20 line
    • setup GDT
    • load kernel image into ram
    • transfer into protect mode
    • [optional] setup page table
    • transfer control to kernel
  • implement a simple kernel
    • setup a larger GDT
    • [optional] add support for paging
    • setup IDT
    • add support for multitasking
  • implement advanced features
    • add support for user mode applications
    • add support for filesystem