Skip to content

An Operating system written in rust, as a text based mirror for my portfolio, as well as a personal foray into operating system development for me.

License

Notifications You must be signed in to change notification settings

BindraAgamjot256/PortfoliOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PortfoliOS

rustfmt testing License: MIT

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.

Features

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)

Getting Started

Prerequisites

  • Rust nightly toolchain
  • bootimage tool
  • QEMU for running the kernel

Installation

  1. Install Rust nightly toolchain and components:

    rustup install nightly
    rustup component add rust-src --toolchain nightly
    rustup component add llvm-tools-preview --toolchain nightly
  2. Install bootimage crate:

    cargo install bootimage
  3. Install QEMU:

    # for Linux
    sudo apt-get install -y qemu-system-x86

    OR

    # for MacOS
    brew install qemu

    OR
    for Windows

Running the Kernel

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.

TODO:

  • 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

Other cool features I added:

  • A python script, that creates a GUI, for easier debugging and testing, as well as building the project

Licence.

This project is licenced under the MIT Licence. See the License for more details

About

An Operating system written in rust, as a text based mirror for my portfolio, as well as a personal foray into operating system development for me.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project