99 lines
3.2 KiB
Markdown
99 lines
3.2 KiB
Markdown
# BBeOS - BlackBerry Classic Linux OS
|
|
|
|
A lightweight, secure, non-Android, Linux-based operating system for the BlackBerry Classic (Q20) that transforms this iconic device into a modern, privacy-focused smartphone.
|
|
|
|
## 🎯 Project Goals
|
|
|
|
- **Native Hardware Support**: Boot on ARMv7 architecture with full hardware integration
|
|
- **Physical Interface Optimization**: GUI designed for trackpad navigation and physical keyboard
|
|
- **Core Telephony**: Complete phone functionality (calling, SMS, Wi-Fi, GPS)
|
|
- **Security-First**: Privacy-focused design with minimal attack surface
|
|
- **Open Source**: Community-driven development with transparent codebase
|
|
|
|
## 📋 Hardware Specifications
|
|
|
|
### BlackBerry Classic (Q20) Hardware
|
|
- **SoC**: Qualcomm MSM8960 (Snapdragon S4 Plus) - ARMv7 dual-core 1.5GHz
|
|
- **GPU**: Adreno 225
|
|
- **RAM**: 2GB LPDDR2
|
|
- **Storage**: 16GB eMMC
|
|
- **Display**: 3.5" 720x720 IPS LCD (1:1 aspect ratio)
|
|
- **Keyboard**: Physical QWERTY with trackpad
|
|
- **Modem**: Qualcomm MDM9615 (LTE/3G)
|
|
- **Connectivity**: Wi-Fi 802.11n, Bluetooth 4.0, GPS
|
|
- **Battery**: 2515mAh removable
|
|
|
|
## 🏗️ Project Structure
|
|
|
|
```
|
|
BBeOS/
|
|
├── docs/ # Documentation and research
|
|
├── hardware/ # Hardware specifications and drivers
|
|
├── kernel/ # Linux kernel configuration
|
|
├── rootfs/ # Root filesystem builds
|
|
├── ui/ # User interface components
|
|
├── telephony/ # Phone and messaging stack
|
|
├── tools/ # Development and build tools
|
|
├── scripts/ # Automation scripts
|
|
└── releases/ # Release builds and images
|
|
```
|
|
|
|
## 🚀 Development Phases
|
|
|
|
### Phase 1: Research & Feasibility (1-2 months)
|
|
- Hardware specification analysis
|
|
- Bootloader investigation
|
|
- Firmware extraction and analysis
|
|
- Go/No-Go decision
|
|
|
|
### Phase 2: Bootstrapping (2-4 months)
|
|
- Minimal Linux kernel boot
|
|
- Basic hardware access
|
|
- Development environment setup
|
|
|
|
### Phase 3: Hardware Support (2-4 months)
|
|
- Device drivers development
|
|
- Input/output systems
|
|
- Display and audio support
|
|
|
|
### Phase 4: User Interface (2-3 months)
|
|
- Wayland-based GUI
|
|
- Keyboard-centric navigation
|
|
- Core applications
|
|
|
|
### Phase 5: Telephony Stack (2-4 months)
|
|
- Modem integration
|
|
- Call/SMS functionality
|
|
- Network connectivity
|
|
|
|
### Phase 6: Packaging & Updates (2 months)
|
|
- System packaging
|
|
- Update mechanisms
|
|
- Security hardening
|
|
|
|
### Phase 7: Community & SDK (Ongoing)
|
|
- Developer tools
|
|
- Application ecosystem
|
|
- Documentation
|
|
|
|
## 🔧 Technical Stack
|
|
|
|
- **Kernel**: Linux 6.x with MSM8960 support
|
|
- **Init System**: systemd or OpenRC
|
|
- **Display Server**: Wayland with custom compositor
|
|
- **UI Framework**: Qt 6 or GTK 4
|
|
- **Telephony**: ofono/ModemManager
|
|
- **Package Management**: OSTree + Flatpak
|
|
- **Build System**: Buildroot or Yocto
|
|
|
|
## 📚 Getting Started
|
|
|
|
See the [Development Guide](docs/development.md) for setup instructions and the [Hardware Reference](docs/hardware.md) for detailed specifications.
|
|
|
|
## 🤝 Contributing
|
|
|
|
This is an open-source project. See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
|
|
## 📄 License
|
|
|
|
GPL v3 - See [LICENSE](LICENSE) for details. |