diff --git a/README.md b/README.md index dc798a8..b6c34d0 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ [![Architectures](https://img.shields.io/badge/arch-x86__64%20%7C%20aarch64%20%7C%20armv8i-blue.svg?style=flat-square)]() [![Kernel](https://img.shields.io/badge/kernel-Modular%20Monolithic-red.svg?style=flat-square)]() +[![Rust Layer](https://img.shields.io/badge/rust-Rust--for--SUB--OS%20no__std-orange.svg?style=flat-square)]() [![Configuration](https://img.shields.io/badge/config-Linux%20Kconfig%20lxdialog%20TUI-cyan.svg?style=flat-square)]() [![Version](https://img.shields.io/badge/version-v0.2.0--lts-purple.svg?style=flat-square)]() [![Release](https://img.shields.io/badge/release-v0.0.1--beta-brightgreen.svg?style=flat-square)](https://github.com/subhobhai943/SUB-OS/releases/tag/v0.0.1-beta) @@ -18,14 +19,23 @@ [![Networking](https://img.shields.io/badge/network-TCP%2FIP%20%7C%20SSHD%20%7C%20HTTPD%20%7C%20NetFilter-green.svg?style=flat-square)]() [![License](https://img.shields.io/badge/license-MIT-lightgrey.svg?style=flat-square)](LICENSE) -**SUB-OS** is a multi-architecture, production-grade modular monolithic operating system kernel engineered in C and Assembly. Built for high performance, modularity, and Unix/Linux compatibility, SUB-OS supports **64-bit x86 (`x86_64`)**, **64-bit ARM (`aarch64`)**, and **32-bit ARM (`armv8i` / AArch32)** targets. +**SUB-OS** is a multi-architecture, production-grade modular monolithic operating system kernel engineered in C, Assembly, and **freestanding bare-metal Rust (`no_std`)**. Built for high performance, memory safety, modularity, and Unix/Linux compatibility, SUB-OS supports **64-bit x86 (`x86_64`)**, **64-bit ARM (`aarch64`)**, and **32-bit ARM (`armv8i` / AArch32)** targets. --- ## 🌟 Key Architecture & Capabilities +- 🦀 **"Rust for SUB-OS" Memory-Safe Kernel Layer (`rust/src/`)**: + - **Freestanding Bare-Metal Rust**: Compiled with `rustc 1.75+` in pure `no_std` mode with static FFI bindings. + - **Memory-Safe Cryptography**: RFC-8439 ChaCha20 stream cipher, CSPRNG entropy source, FIPS-202 SHA3-256 (Keccak-f[1600]), and FIPS-197 AES-128. + - **Storage & Disk Parsing**: Memory-safe MBR and GUID Partition Table (GPT) header and partition decoder. + - **Fast VFS Directory Cache (`dcache`)**: 64-entry LRU path hash table for single-cycle file and directory lookups. + - **Kernel Health Watchdog & Heartbeat Monitor**: Subsystem sanity checker and anomaly detector. + - **Zero-Copy JSON Tokenizer**: High-speed JSON key-value query engine for kernel configuration and REST API parsing. + - **NetFilter Packet Evaluator**: Stateful firewall rule matcher and packet counter. + - **Safe `kprint!` / `kprintln!`**: Core formatting engine bridging Rust macros directly to the kernel console. - 🎯 **Multi-Architecture HAL**: - - **`x86_64` (AMD64 / Intel 64)**: Custom 2-stage MBR bootloader, E820 BIOS memory mapping, 4-level PML4 48-bit paging, GDT, 256-entry IDT, 8259 PIC, 8254 PIT timer. + - **`x86_64` (AMD64 / Intel 64)**: Custom 2-stage MBR bootloader, E820 BIOS memory mapping, 4-level PML4 48-bit paging, GDT, 256-entry IDT, 8259 PIC, 8254 PIT timer, Hardware FPU/SSE (CR4.OSFXSR). - **`aarch64` (ARMv8-A 64-Bit)**: Exception levels (EL1), 16-entry vector table, ARM Generic Interrupt Controller (GICv2), ARM Generic Arch Timer (100 Hz), Stage-1 39-bit VA MMU, PL011 UART. - **`armv8i` (ARM32 / AArch32)**: Banked exception mode stacks (IRQ, ABT, UND, SVC), VMSAv7 1MB Section MMU, GICv2 distributor, CP15 Generic Timer, VFP/NEON FPU, PL011 UART. - 🎛️ **Linux-Style Kconfig TUI Configurator (`make configure`)**: @@ -54,10 +64,10 @@ - **io_uring** lockless asynchronous Submission/Completion ring buffers. - Preemptive multi-tasking scheduler with Round-Robin quantum and spinlock synchronization. - Systemd-style unit manager (`systemctl`), cron background scheduler (`crond`), and RFC 5424 Syslog engine. -- 🧰 **LazyBox Userland Suite (70+ Linux Applets)**: - - Interactive shell with history, tab autocompletion, ANSI cursor editing, and script runner (`sh`). +- 🧰 **LazyBox Userland Suite (75+ Linux & Rust Applets)**: + - Interactive shell with history, quote-aware tokenization, tab autocompletion, ANSI cursor editing, and script runner (`sh`). - GNU-compatible **Nano** visual text editor. - - Full utilities: `ls`, `cat`, `touch`, `mkdir`, `rm`, `cp`, `pwd`, `cd`, `grep`, `wc`, `head`, `tail`, `stat`, `df`, `mkfs.vfat`, `hexdump`, `neofetch`, `uname`, `free`, `uptime`, `top`, `ps`, `dmesg`, `netstat`, `ifconfig`, `ping`, `curl`, `ssh`, `tts`, `alsamixer`, `sensors`, `lsdev`, `lsmod`, and more. + - Full utilities: `ls`, `cat`, `touch`, `mkdir`, `rm`, `cp`, `pwd`, `cd`, `grep`, `wc`, `head`, `tail`, `stat`, `df`, `mkfs.vfat`, `hexdump`, `neofetch`, `uname`, `free`, `uptime`, `top`, `ps`, `dmesg`, `netstat`, `ifconfig`, `ping`, `curl`, `ssh`, `tts`, `alsamixer`, `sensors`, `rustinfo`, `chacha20`, `sha3sum`, `cryptobench`, `fdisk`, `rfilter`, `dcache`, `watchdog`, `jsonquery`, and more. --- @@ -66,9 +76,13 @@ ```text +------------------------------------------------------------------------------------+ | USERLAND & SYSTEM SUITE | -| Interactive Shell | GNU Nano | Script Runner (sh) | LazyBox Suite (70+ Tools) | +| Interactive Shell | GNU Nano | Script Runner (sh) | LazyBox Suite (75+ Tools) | | Micro HTTP Server | SSH 2.0 Daemon | Service Manager (systemctl) | Syslog Engine | +------------------------------------------------------------------------------------+ +| RUST-FOR-SUB-OS MEMORY-SAFE SUBSYSTEM | +| ChaCha20 CSPRNG | SHA3-256 Keccak | AES-128 | GPT/MBR Parser | NetFilter Matcher | +| VFS DCache Table | Kernel Health Watchdog | Zero-Copy JSON | Hardware Sensors | ++------------------------------------------------------------------------------------+ | VIRTUAL FILE SYSTEM LAYER (VFS) | | vfs_namei | RAMFS (/) | /dev (devfs) | /proc (procfs) | /sys (sysfs) | FAT32 | ext2| +------------------------------------------------------------------------------------+ @@ -99,7 +113,7 @@ ### 1. Prerequisites -Install the standard build essentials and cross-compilers: +Install the standard build essentials, cross-compilers, and Rust toolchain: ```bash # Ubuntu / Debian @@ -107,7 +121,7 @@ sudo apt update sudo apt install build-essential nasm qemu-system-x86 qemu-system-arm \ gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu \ gcc-arm-linux-gnueabihf binutils-arm-linux-gnueabihf \ - dialog python3 + rustc cargo dialog python3 ``` --- @@ -163,15 +177,16 @@ make run-gui --- -## 🧰 LazyBox Command Matrix (70+ Utilities) +## 🧰 LazyBox Command Matrix (75+ Utilities) | Category | Commands Included | |---|---| -| **Core & Shell** | `lazybox`, `sh`, `echo`, `env`, `export`, `whoami`, `id`, `date`, `cal` | -| **Filesystem & Edit** | `nano`, `ls`, `cat`, `touch`, `mkdir`, `rm`, `cp`, `pwd`, `cd`, `wc`, `head`, `tail`, `stat`, `df`, `mkfs.vfat`, `grep`, `hexdump` | -| **Networking & Servers** | `ifconfig`, `ping`, `arp`, `dhclient`, `nslookup`, `netstat`, `iptables`, `httpd`, `sshd`, `curl`, `wget`, `ssh` | -| **Hardware & Devices** | `lspci`, `lsdev`, `lsblk`, `hdparm`, `sensors`, `speaker`, `mouse`, `alsamixer`, `tts`, `virtinfo` | -| **Security & SysAdmin** | `su`, `passwd`, `useradd`, `certcheck`, `capsh`, `ipcs`, `logger`, `logread`, `systemctl`, `service`, `crontab` | +| **Core & Shell** | `lazybox`, `sh`, `echo`, `env`, `export`, `whoami`, `id`, `date`, `cal`, `jsonquery` | +| **Filesystem & Edit** | `nano`, `ls`, `cat`, `touch`, `mkdir`, `rm`, `cp`, `pwd`, `cd`, `wc`, `head`, `tail`, `stat`, `df`, `mkfs.vfat`, `grep`, `hexdump`, `dcache` | +| **Networking & Servers** | `ifconfig`, `ping`, `arp`, `dhclient`, `nslookup`, `netstat`, `iptables`, `rfilter`, `httpd`, `sshd`, `curl`, `wget`, `ssh` | +| **Hardware & Storage** | `lspci`, `lsdev`, `lsblk`, `fdisk`, `hdparm`, `sensors`, `speaker`, `mouse`, `alsamixer`, `tts`, `virtinfo` | +| **Security & Cryptography** | `su`, `passwd`, `useradd`, `certcheck`, `capsh`, `ipcs`, `chacha20`, `sha3sum`, `cryptobench` | +| **System & Watchdog** | `systemctl`, `service`, `crontab`, `logger`, `logread`, `watchdog`, `rustinfo` | | **Kernel & Tracing** | `lsmod`, `insmod`, `rmmod`, `slabinfo`, `trace`, `unshare`, `io_uring_test` | | **Diagnostics & Metrics**| `neofetch`, `uname`, `free`, `uptime`, `top`, `htop`, `ps`, `dmesg`, `vmstat`, `iostat`, `calc`, `matrix` | | **System Control** | `clear`, `help`, `sleep`, `reboot`, `shutdown`, `poweroff`, `tty` |