Eliott 71941f0584
Some checks failed
CI / markdown-lint (push) Failing after 15s
Phase 1: Initial kernel development setup
- Added comprehensive hardware research documentation
- Created bootloader analysis and driver compatibility research
- Set up development environment with cross-compilation tools
- Created Q20-specific device tree (simplified version)
- Added kernel build scripts and configuration
- Set up CI/CD pipeline with Gitea Actions
- Added .gitignore for build artifacts
2025-07-31 17:43:09 +02:00

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
A test at creating a new OS for the blackberry Q20 to give it a new life.
Readme 242 KiB
Languages
C 55.1%
Shell 32.2%
HTML 8.1%
Makefile 4.6%