# Aios - AI Operating System A Unix-like operating system built from scratch in Rust, designed for AI integration. ## Features - **Interactive Shell**: Full keyboard input support with command processing - **Safe Kernel**: Pure Rust implementation with memory safety - **Minimal Design**: Inspired by octox philosophy - simple and efficient - **Bootloader Integration**: Uses rust-bootloader for reliable booting ## Quick Start ```sh # Build and test the OS ./scpt/bootimage-test.sh ``` ## Available Commands - `help` - Show available commands - `version` - Display version information - `echo` - Echo test message - `clear` - Clear the screen ## Project Structure ``` aios/ ├── kernel/ # Main kernel implementation │ ├── src/ │ │ ├── main.rs # Kernel entry point │ │ ├── keyboard_basic.rs # Keyboard driver │ │ └── ... │ └── Cargo.toml ├── docs/ # Documentation │ ├── TROUBLESHOOTING.md # Common issues and solutions │ └── SHELL_IMPLEMENTATION.md # Shell implementation guide └── scpt/ # Build and test scripts ``` ## Documentation - [Troubleshooting Guide](docs/TROUBLESHOOTING.md) - Solutions for common issues - [Shell Implementation](docs/SHELL_IMPLEMENTATION.md) - Detailed implementation guide ## Development ### Requirements - Rust nightly toolchain - `bootimage` tool: `cargo install bootimage` - QEMU for testing - x86_64 target: `rustup target add x86_64-unknown-none` ### Building ```sh cd kernel cargo bootimage --release ``` ### Testing ```sh # Interactive test with QEMU ./scpt/bootimage-test.sh # The OS will boot and present an interactive shell # Type commands and press Enter to execute ``` ## Architecture Aios follows a microkernel-inspired design: - **Kernel Space**: Minimal kernel with basic I/O and memory management - **User Space**: Shell and applications (planned) - **AI Integration**: Claude service integration (planned) ## Troubleshooting If you encounter issues: 1. **Page table panics**: See [TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md#1-page-table-panic-error-page_tablers) 2. **Keyboard not working**: See [TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md#2-keyboard-input-not-working) 3. **Build errors**: Check Rust nightly and required components ## License MIT License