Files
aios/README.md
2025-07-05 15:00:10 +09:00

93 lines
2.3 KiB
Markdown

# 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