This project is a simple operating system written in Rust. It is a text environment based mirror for my portfolio project which is simultaneously being developed (currently private, for those interested). It includes a shell(AgamShell or Ash), and a simple programming language, for user scripts.
Feature | Description |
---|---|
VGA Buffer | A simple VGA buffer for text output |
Unit Testing | Full Unit testing for the kernel (Partially completed) |
CI/CD | Continuous Integration and Deployment |
Keyboard | Keyboard input for the CLI |
CLI | Command Line Interface (TODO) |
Interpreter | Interpreter for programming language (TODO) |
- Rust nightly toolchain
bootimage
tool- QEMU for running the kernel
-
Install Rust nightly toolchain and components:
rustup install nightly rustup component add rust-src --toolchain nightly rustup component add llvm-tools-preview --toolchain nightly
-
Install
bootimage
crate:cargo install bootimage
-
Install QEMU:
# for Linux sudo apt-get install -y qemu-system-x86
OR
# for MacOS brew install qemu
OR
for Windows
To run the kernel, run:
cargo run --target x86_64-PortfoliOS.json
Note
The --target
flag is unnecessary, as the default target is defined here as PortfoliOS.
- VGA Buffer (for text output)
- Unit Testing
- Full Documentation coverage
- CLI
- Keyboard Input
- Commands
- Command History
- Interpreter for programming language
- Full Kernel
- File System
- CI/CD
- Customisable Printing
- Customisable VGA Buffer
- Sandboxed programming language for user scripts
- A python script, that creates a GUI, for easier debugging and testing, as well as building the project
This project is licenced under the MIT Licence. See the License for more details