An x86_64 UEFI operating system.
 
 
Go to file
James T. Martin bc850fecd6
Massive reorganization. Most files moved, lots of stuff renamed.
2020-07-21 15:21:35 -07:00
.github/workflows Add GitHub CI build workflow. 2020-07-15 14:30:28 -07:00
assets Massive reorganization. Most files moved, lots of stuff renamed. 2020-07-21 15:21:35 -07:00
docs Figuring out hardware, networking stuff, timelines. All planning. 2020-07-15 10:33:56 -07:00
src Massive reorganization. Most files moved, lots of stuff renamed. 2020-07-21 15:21:35 -07:00
.editorconfig Add GitHub CI build workflow. 2020-07-15 14:30:28 -07:00
.gitignore Exit UEFI boot services and halt. 2020-07-13 17:39:19 -07:00
Cargo.lock Use `log` crate instead of ad-hoc print macros. 2020-07-21 13:51:05 -07:00
Cargo.toml Use `log` crate instead of ad-hoc print macros. 2020-07-21 13:51:05 -07:00
LICENSE.txt Set license to GPLv3+. 2020-07-15 13:22:50 -07:00
README.md Added stdout/stderr logger that can work at any stage of booting. 2020-07-15 14:13:41 -07:00
run.sh Massive reorganization. Most files moved, lots of stuff renamed. 2020-07-21 15:21:35 -07:00
rust-toolchain Exit UEFI boot services and halt. 2020-07-13 17:39:19 -07:00

README.md

bootproof

Messing around with UEFI apps.

I don't have a specific goal here. My general direction is to work towards a bootable programming language environment, preferably one where security and allocation etc. are handled through the programming language rather than through a traditional operating system. I don't seriously expect to ever accomplish that, so for now I'm probably just going to... make a forth or something.

System Requirements

Other configurations may work, but only these systems are regularly tested.

  • CPU: x86_64 QEMU, OVMF UEFI.
  • Memory: 128 MB. (64 MB appears to be the minimum required to load OVMF at all. Real hardware might require less?)

Running

bootproof runs on x86_64 UEFI. You may either boot the program directly on your own computer or use an emulator.

Make sure you have the cargo-xbuild crate installed and nightly Rust so you can compile to the UEFI target.

First, build with:

cargo xbuild --target x86_64-unknown-uefi

And to run, ./run.sh will launch bootproof in QEMU.