# 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.