e557eecbc8b090e7d232e1157e7651f1eaf01939
Some checks failed
CI / markdown-lint (push) Failing after 37s
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 for setup instructions and the Hardware Reference for detailed specifications.
🤝 Contributing
This is an open-source project. See CONTRIBUTING.md for guidelines.
📄 License
GPL v3 - See LICENSE for details.
Description
Languages
C
55.1%
Shell
32.2%
HTML
8.1%
Makefile
4.6%