update v2

This commit is contained in:
2025-07-05 14:31:39 +09:00
parent 163ac1668d
commit 3a9e563ee0
40 changed files with 1929 additions and 2128 deletions

View File

@ -1,12 +1,92 @@
# aios
# Aios - AI Operating System
create a unix-like os from scratch
A Unix-like operating system built from scratch in Rust, designed for AI integration.
## example
## 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
# archlinux
cargo bootimage
qemu-system-x86_64 -drive format=raw,file=target/x86_64-unknown-none/debug/bootimage-kernel.bin -nographic
# 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