From 40e148a68894bffda787f58d038cc29065daf697 Mon Sep 17 00:00:00 2001 From: S A Date: Fri, 2 May 2025 16:18:59 -0500 Subject: [PATCH 1/3] updates to readme with current progress --- README.md | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 52db9c49..bbba8bba 100644 --- a/README.md +++ b/README.md @@ -30,11 +30,11 @@ --> # About The Project 🦀 -PincerOS is a bare-metal microkernel-based multi-core operating system written from the ground up in Rust targeting the Raspberry Pi 4b. The project aims to be a distributed, scalable, and secure operating system for general-purpose use. We aim to support a wide range of applications such as networked video games, distributed computing, and more. +PincerOS is a bare-metal monolithic kernel multi-core operating system written from the ground up in Rust targeting the Raspberry Pi 4b. The project aims to be a distributed, scalable, and secure operating system for general-purpose use. We aim to support a wide range of applications such as networked video games, distributed computing, and more. ## Targeted Features ✨ -- Microkernel Architecture +- Monolithic Kernel Architecture - Multi-core Support - Memory Management - Process Scheduling @@ -44,8 +44,8 @@ PincerOS is a bare-metal microkernel-based multi-core operating system written f - Networking - Security -## Architecture 📐 -PincerOS follows a microkernel architecture with the following key components: +## Kernel Architecture 📐 +PincerOS has the following key kernel components: - Kernel Core: Handles basic system operations, syscalls, scheduling, and IPC - Memory Management: Implements virtual memory and memory protection @@ -53,6 +53,13 @@ PincerOS follows a microkernel architecture with the following key components: - Network Stack: Provides networking capabilities - Security Module: Handles access control and system security +## Userspace Features +PincerOS makes the following features and applications availabile in its userspace + +- ulib - a userspce library which provides user level applications with an API to use system calls +- Display Server - Allows for multiple processes to have graphical windows which simultaneously display content on a monitor. +- Shell - a user space shell with common utilities + # Installation 📦 Currently, the project can be tested on QEMU version 9.0 or higher. If your package manager doesn't have it, you will have to build QEMU from source. @@ -92,10 +99,10 @@ Available recipes: - [x] Basic kernel functionality - [x] Multi-core support -- [ ] Network stack -- [ ] Application support -- [ ] File system -- [ ] Device drivers +- [x] Network stack +- [x] Application support +- [x] File system +- [x] Device drivers - [ ] Security module - [ ] Distributed computing support From 885e1eeeda9cdb5b831a68d776f7dc5ec9d4641b Mon Sep 17 00:00:00 2001 From: S A Date: Fri, 2 May 2025 21:34:09 -0500 Subject: [PATCH 2/3] added run commands and link to blog --- README.md | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index bbba8bba..193cf127 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,9 @@ --> # About The Project 🦀 -PincerOS is a bare-metal monolithic kernel multi-core operating system written from the ground up in Rust targeting the Raspberry Pi 4b. The project aims to be a distributed, scalable, and secure operating system for general-purpose use. We aim to support a wide range of applications such as networked video games, distributed computing, and more. +PincerOS is a bare-metal monolithic kernel multi-core operating system written from the ground up in Rust targeting the Raspberry Pi 4B. The project aims to be a distributed, scalable, and secure operating system for general-purpose use. We aim to support a wide range of applications such as networked video games, distributed computing, and more. + +For more information about our kernel, its features, and its development, please visit the [PincerOS Blog](https://pinceros.github.io/)! ## Targeted Features ✨ @@ -51,13 +53,13 @@ PincerOS has the following key kernel components: - Memory Management: Implements virtual memory and memory protection - Device Drivers: Manages hardware interfaces - Network Stack: Provides networking capabilities -- Security Module: Handles access control and system security +- Security: Handles access control and system security ## Userspace Features PincerOS makes the following features and applications availabile in its userspace - ulib - a userspce library which provides user level applications with an API to use system calls -- Display Server - Allows for multiple processes to have graphical windows which simultaneously display content on a monitor. +- Display Server - Allows for multiple processes to have graphical windows which simultaneously display content on a monitor. Please view the demo on the PincerOS blog to see the display sever in action for applications such as Doom, a drawing application, and more! - Shell - a user space shell with common utilities # Installation 📦 @@ -75,9 +77,26 @@ Currently, the project can be tested on QEMU version 9.0 or higher. If your pack 1. Clone the repository: ```git clone https://github.com/pincerOS/kernel.git``` -2. Build the kernel and run: -```cd crates/kernel``` -```just build-and-run``` to build and run the `main` example. +2. Build and run the kernel + +This can be accomplished by navigating to the cloned kernel directory and then running the following series of shell commands: + +```bash +./crates/kernel/scripts/compile-init.sh +./crates/kernel/scripts/build.sh user +./crates/kernel/scripts/run-usb.sh +``` + +Alternativley, you can also use Just + +To build and run the main example: + +```bash +cd crates/kernel +just build-and-run + +``` + We also provide scripts for debugging and running with ui: ```bash @@ -103,7 +122,7 @@ Available recipes: - [x] Application support - [x] File system - [x] Device drivers -- [ ] Security module +- [ ] Security - [ ] Distributed computing support From 5d8a8e094cb3f82fb2739982063cda74f403bb2f Mon Sep 17 00:00:00 2001 From: S A Date: Sat, 3 May 2025 01:05:55 -0500 Subject: [PATCH 3/3] fixing minor typos --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 193cf127..395b8944 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@
PincerOS

- Bare metal microkernel-based multi-core operating system written in Rust for the Raspberry Pi 4b. + Bare metal monolithic kernel multi-core operating system written in Rust for the Raspberry Pi 4B.

@@ -58,9 +58,9 @@ PincerOS has the following key kernel components: ## Userspace Features PincerOS makes the following features and applications availabile in its userspace -- ulib - a userspce library which provides user level applications with an API to use system calls +- ulib - a userspace library which provides user level applications with an API to use system calls - Display Server - Allows for multiple processes to have graphical windows which simultaneously display content on a monitor. Please view the demo on the PincerOS blog to see the display sever in action for applications such as Doom, a drawing application, and more! -- Shell - a user space shell with common utilities +- Shell - a userspace shell with common utilities # Installation 📦 Currently, the project can be tested on QEMU version 9.0 or higher. If your package manager doesn't have it, you will have to build QEMU from source.