Files
BBeOS/docs/phases/PHASE_1_RESEARCH.md
Eliott 73fb76098e
Some checks failed
CI / markdown-lint (push) Failing after 14s
Reorganize BBeOS project structure for better maintainability
- Reorganized directory structure following open source best practices
- Created src/ directory for all source code components
- Moved build artifacts to build/ subdirectories
- Organized documentation into phases/, guides/, and api/ subdirectories
- Moved third-party code to vendor/ directory
- Moved downloads to downloads/ directory
- Updated all build scripts to reference new directory structure
- Created comprehensive PROJECT_STRUCTURE.md documentation
- Added DEVELOPMENT_GUIDE.md as main entry point
- Improved separation of concerns and maintainability
- Follows standard open source project conventions
2025-08-01 11:48:06 +02:00

8.0 KiB

Phase 1: Research & Feasibility Analysis

🎯 Objectives

Establish technical feasibility and create a comprehensive hardware reference for the BlackBerry Classic (Q20) to determine if a custom Linux OS is viable.

📋 Detailed Tasks

1.1 Hardware Specification Collection

1.1.1 SoC Analysis - Qualcomm MSM8960

  • Architecture: ARMv7 dual-core Krait 200/300
  • Frequency: 1.5GHz (max)
  • Manufacturing: 28nm LP process
  • Memory Interface: LPDDR2-1066
  • ISP: 20MP camera support
  • Video: 1080p encode/decode

Research Tasks:

  • Document all available GPIO pins and their functions
  • Map memory regions and I/O addresses
  • Identify power management features
  • Document clock tree and PLL configurations
  • Research thermal characteristics and throttling

1.1.2 GPU Analysis - Adreno 225

  • Architecture: Unified shader model 4.1
  • Memory: Shared with system RAM
  • API Support: OpenGL ES 2.0, OpenVG 1.1
  • Performance: ~24 GFLOPS

Research Tasks:

  • Investigate open-source driver availability
  • Document firmware requirements
  • Map register space and memory regions
  • Research reverse engineering efforts
  • Identify alternative rendering paths (software, framebuffer)

1.1.3 Display System

  • Panel: 3.5" IPS LCD, 720x720 resolution
  • Interface: Likely MIPI DSI
  • Touch: Capacitive overlay (if present)
  • Aspect Ratio: 1:1 (square)

Research Tasks:

  • Identify display controller chip
  • Document MIPI DSI configuration
  • Map backlight control
  • Research touch controller (if separate)
  • Document color calibration data

1.1.4 Input Devices

  • Keyboard: Physical QWERTY with backlight
  • Trackpad: Optical or capacitive
  • Navigation: Menu, Back, Call, End keys
  • Interface: Likely I2C or SPI

Research Tasks:

  • Identify keyboard controller chip
  • Document key matrix layout
  • Map trackpad sensor type and interface
  • Document LED backlight control
  • Research haptic feedback system

1.1.5 Modem - Qualcomm MDM9615

  • Technology: LTE Cat 3, HSPA+, CDMA
  • Interface: QMI over USB or HSIC
  • Firmware: Proprietary, requires signed images

Research Tasks:

  • Document QMI interface specifications
  • Research firmware extraction methods
  • Identify AT command set support
  • Document power management interface
  • Research alternative modem solutions

1.2 Firmware Extraction and Analysis

1.2.1 BB10 Firmware Extraction

Tools Required:

  • Sachesi (BB10 firmware extractor)
  • BlackBerry Link (official software)
  • Autoloader tools
  • Hex editors and binary analysis tools

Extraction Process:

  1. Download latest BB10 firmware for Q20
  2. Use Sachesi to extract individual partitions
  3. Identify bootloader, kernel, and system partitions
  4. Extract device tree and kernel configuration
  5. Analyze proprietary drivers and firmware blobs

Analysis Tasks:

  • Reverse engineer boot sequence
  • Document partition layout
  • Extract device tree source (DTS)
  • Identify kernel configuration
  • Map proprietary driver dependencies

1.2.2 Bootloader Analysis

Investigation Areas:

  • Signature Verification: Level of cryptographic enforcement
  • Fastboot Access: Availability of fastboot mode
  • Recovery Mode: Alternative boot paths
  • Unlock Possibility: Bootloader unlock methods
  • Secure Boot: Chain of trust analysis

Research Methods:

  • Attempt fastboot commands
  • Analyze recovery partition
  • Research JTAG/EDL access points
  • Document signature verification process
  • Identify potential bypass methods

1.3 Hardware Access Investigation

1.3.1 Debug Interfaces

Available Interfaces:

  • USB: Standard USB 2.0 interface
  • Serial: UART over USB (if available)
  • JTAG: Hardware debug interface
  • EDL: Emergency Download Mode
  • QDL: Qualcomm Download Mode

Investigation Tasks:

  • Test USB serial console access
  • Identify JTAG pinout and access
  • Research EDL mode entry
  • Document QDL mode capabilities
  • Test fastboot command availability

1.3.2 Development Environment

Required Tools:

  • Cross-compilation toolchain (ARMv7)
  • Device tree compiler
  • Kernel build environment
  • Root filesystem builder (Buildroot/Yocto)
  • Flash tools and utilities

Setup Tasks:

  • Install ARM cross-compiler
  • Set up kernel build environment
  • Configure device tree tools
  • Install flash utilities
  • Set up development VM/container

1.4 Driver Analysis

1.4.1 Open Source Driver Availability

Kernel Drivers to Investigate:

  • MSM DRM: Display and graphics
  • MSM Audio: Sound system
  • MSM Camera: Camera interface
  • MSM USB: USB controller
  • MSM I2C/SPI: Communication buses
  • MSM GPIO: General purpose I/O

Research Tasks:

  • Check mainline kernel support
  • Research postmarketOS MSM8960 support
  • Investigate LineageOS driver availability
  • Document missing driver requirements
  • Identify reverse engineering needs

1.4.2 Proprietary Driver Requirements

Likely Proprietary Components:

  • Modem Firmware: MDM9615 baseband
  • GPU Firmware: Adreno 225 microcode
  • Audio DSP: Qualcomm audio processing
  • Camera ISP: Image signal processor
  • Security Modules: TrustZone components

Analysis Tasks:

  • Extract and analyze firmware blobs
  • Document driver interfaces
  • Research open alternatives
  • Identify compatibility layers needed
  • Document licensing restrictions

📊 Deliverables

1.5 Hardware Reference Sheet

Documentation Requirements:

  • Complete hardware block diagram
  • Pin assignments and functions
  • Memory map and I/O addresses
  • Clock configurations
  • Power management states
  • Interface specifications

1.6 Bootloader Analysis Report

Content Requirements:

  • Boot sequence documentation
  • Signature verification details
  • Available boot modes
  • Unlock possibilities
  • Security assessment
  • Alternative boot methods

1.7 Driver Requirements Matrix

Matrix Categories:

  • Available: Open source drivers ready
  • Portable: Drivers from similar hardware
  • Missing: No driver available
  • Proprietary: Requires binary blobs
  • Priority: Critical for basic functionality

1.8 Go/No-Go Decision Criteria

Technical Criteria:

  • Bootloader unlock possibility > 70%
  • Critical hardware support > 80%
  • Development toolchain availability
  • Community interest and resources
  • Legal/ethical considerations

Risk Assessment:

  • High Risk: Bootloader completely locked
  • Medium Risk: Limited hardware support
  • Low Risk: Most components supported

🔍 Research Resources

1.9 Information Sources

  • Official Documentation: BlackBerry developer resources
  • Community Forums: CrackBerry, XDA Developers
  • Reverse Engineering: GitHub projects, research papers
  • Hardware Datasheets: Qualcomm, display manufacturers
  • Kernel Sources: Linux mainline, vendor trees

1.10 Tools and Software

  • Firmware Analysis: binwalk, hexdump, strings
  • Hardware Debug: OpenOCD, JTAG tools
  • Binary Analysis: IDA Pro, Ghidra, radare2
  • Development: QEMU, cross-compilers
  • Documentation: Doxygen, Sphinx

⏱️ Timeline

Week 1-2: Hardware specification collection Week 3-4: Firmware extraction and analysis Week 5-6: Bootloader investigation Week 7-8: Driver analysis and feasibility assessment

Total Duration: 8 weeks (2 months)

🎯 Success Criteria

Phase 1 is successful when:

  1. Complete hardware reference is documented
  2. Bootloader capabilities are fully understood
  3. Driver requirements are clearly identified
  4. Technical feasibility is determined
  5. Go/No-Go decision can be made with confidence

🚨 Risk Mitigation

High-Risk Scenarios:

  • Bootloader completely locked → Research alternative boot methods
  • Critical hardware unsupported → Identify workarounds or alternatives
  • Legal restrictions → Consult with legal experts
  • Resource limitations → Scale back scope or seek community help