Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Project Jericho

Jericho-Class ARM Linux Server

Repurposing a TECNO CAMON 20 Pro 5G into a dedicated ARM-based Linux server.

Project Jericho is an experimental hardware and software engineering project focused on transforming a consumer smartphone into a compact, low-power ARM Linux server.

The project explores the boundaries between smartphone hardware, embedded Linux, custom kernels, bootloaders, power systems, thermal management, and external I/O.


⚡ Project Overview

Jericho uses a TECNO CAMON 20 Pro 5G (CK8n) as the foundation for a dedicated ARM computing platform.

Instead of treating the phone as a conventional Android device, the objective is to investigate whether its existing hardware can be repurposed into a more traditional Linux-based server platform.

                  PROJECT JERICHO
                        │
        ┌───────────────┼────────────────┐
        │               │                │
     Hardware        Linux            I/O
        │               │                │
   MT6893 SoC     ARM64 Kernel      USB-C Hub
   Large Battery  Ubuntu Server     Ethernet
   Active Cooling Custom Drivers    USB Storage
        │               │                │
        └───────────────┼────────────────┘
                        │
                 ARM Linux Server

🎯 Objectives

  • Investigate native ARM64 Linux on the CK8n platform.
  • Understand the MT6893 boot chain and hardware architecture.
  • Research custom kernels, device trees, and hardware drivers.
  • Explore Ubuntu Server / other native Linux distributions.
  • Convert the smartphone's USB-C interface into a practical server I/O interface.
  • Add reliable wired networking through USB Ethernet.
  • Investigate long-duration power and thermal operation.
  • Build a reproducible development and testing workflow.
  • Document the process for future experimentation and research.

🧩 Target Hardware

Component Specification
Device TECNO CAMON 20 Pro 5G
Model CK8n
SoC MediaTek MT6893
Platform Dimensity 8050
CPU ARM64
GPU Mali-G77 MC9
RAM 8/12 GB variants
Internal Storage 256 GB
Display 120 Hz AMOLED
USB USB-C / OTG
Original Battery 5000 mAh
Android Android 14
Kernel Linux 5.10.209
Boot Scheme A/B
Current Slot B

🔬 Current Software Baseline

The current device has been identified as:

Build:
CK8n-H931ABC-U-GL-250322V505

Device:
TECNO-CK8n

Board:
mt6893

Android:
14

Kernel:
5.10.209-android12-9

Architecture:
aarch64

Boot Slot:
_b

Verified Boot:
green

Bootloader:
locked

This baseline is being preserved before making modifications to the device.


🐧 Native Linux Investigation

One of the primary goals of Jericho is running a real ARM64 Linux environment rather than simply running Linux userspace through Android compatibility layers.

The intended architecture is:

          Ubuntu Server ARM64
                  │
                  ▼
       CK8n-compatible kernel
                  │
          ┌───────┴───────┐
          │               │
       Device Tree      Drivers
          │               │
          └───────┬───────┘
                  ▼
            MT6893 Hardware
                  │
                  ▼
        Jericho Linux Server

Major areas of investigation include:

  • Linux kernel compatibility
  • GKI / vendor kernel architecture
  • Device Tree / DTBO
  • MediaTek platform drivers
  • Storage
  • USB OTG
  • Networking
  • Display-independent boot
  • Thermal management
  • Power management
  • Cellular modem integration
  • Bootloader compatibility

🔌 Jericho Universal I/O

The phone's USB-C port is intended to act as the server's primary external I/O interface.

Rather than permanently integrating a large expansion board, Jericho is designed around a portable USB-C hub.

Potential interfaces include:

                 CK8n
                  │
                USB-C
                  │
                  ▼
           ┌─────────────┐
           │ USB-C Hub   │
           └──────┬──────┘
                  │
       ┌──────────┼──────────┐
       │          │          │
    Ethernet    USB-A     USB-C PD
       │          │          │
     LAN       Storage     Power

Potential uses:

  • Gigabit Ethernet
  • USB storage
  • USB peripherals
  • External development hardware
  • USB-C power delivery
  • Serial/debug interfaces

The CK8n USB interface is currently being treated as USB 2.0-class unless hardware testing proves otherwise.


🌐 Networking

The long-term objective is to provide reliable wired networking suitable for server workloads.

Potential configuration:

Internet / LAN
      │
      ▼
 Gigabit Ethernet
      │
      ▼
 USB-C Hub
      │
      ▼
    CK8n
      │
      ▼
 Linux Server

Cellular connectivity may also be investigated as:

  • Primary network
  • Backup/failover connection
  • Remote-access interface

🔋 Power System

The original smartphone battery is approximately 5000 mAh.

One experimental direction is investigating whether a significantly larger battery system can be safely integrated for extended server operation.

This requires investigation of:

  • Battery chemistry
  • Battery protection
  • BMS
  • Charging IC
  • Fuel-gauge compatibility
  • Thermal characteristics
  • Physical constraints
  • USB-C PD behavior
  • Safe charging/discharging limits

⚠️ Battery modifications are a high-risk hardware experiment and will only be considered after the electrical architecture is understood.


❄️ Thermal Management

A smartphone designed for short-duration workloads is not necessarily designed for continuous server workloads.

Jericho therefore investigates active cooling for sustained operation.

Potential approach:

        SoC
         │
    Thermal Interface
         │
      Heatsink
         │
        Fan
         │
      Airflow

Thermal testing will focus on:

  • CPU temperature
  • GPU temperature
  • Sustained frequency
  • Thermal throttling
  • Power consumption
  • Performance over time

⚙️ Kernel & System Research

Jericho will investigate the CK8n's Linux kernel and the surrounding Android platform.

Areas of research include:

  • GKI
  • Vendor modules
  • Device Tree
  • DTBO
  • Kernel configuration
  • Kernel compilation
  • Custom kernels
  • KernelSU / Magisk
  • CPU scheduling
  • Thermal policies
  • Power management
  • Performance tuning

The objective is not simply to maximize benchmark scores, but to understand and control the platform.


🔓 Bootloader & Root

The device currently has:

Bootloader: LOCKED
Verified Boot: GREEN

Before attempting any bootloader modification, the project prioritizes:

  1. Complete user-data backup
  2. Firmware identification
  3. Stock firmware preservation
  4. Boot/recovery image identification
  5. Partition mapping
  6. Recovery strategy
  7. Bootloader unlock research
  8. Root/custom kernel experimentation

Bootloader operations that trigger a data wipe will only be performed after critical data has been independently preserved.


💾 Backup & Recovery

Because the CK8n is currently the primary working device, data preservation is a major project requirement.

Backup infrastructure:

CK8n
 │
 ├── User Data
 ├── Device Information
 ├── Firmware Information
 └── Application Data
          │
          ▼
 Raspberry Pi
          │
          ▼
 External HDD
          │
          └── /mnt/hdd/phone-backups/CK8n/

Stock firmware and device information are being preserved before invasive modifications.


🧪 Development Philosophy

Jericho follows an incremental approach:

Document
   ↓
Backup
   ↓
Inspect
   ↓
Research
   ↓
Test
   ↓
Modify
   ↓
Validate
   ↓
Document

No irreversible modification should be performed without understanding the recovery path.

The project prioritizes:

  • Reproducibility
  • Documentation
  • Hardware safety
  • Recoverability
  • Measurable testing
  • Open-source tooling
  • Evidence over assumptions

📊 Planned Testing

Performance and stability testing will eventually cover:

CPU

  • Multi-core performance
  • Sustained workloads
  • Frequency scaling
  • Scheduler behavior

GPU

  • GPU utilization
  • Thermal behavior
  • Sustained performance

Memory

  • RAM utilization
  • Memory bandwidth
  • Swap/zRAM behavior

Storage

  • Sequential I/O
  • Random I/O
  • Sustained write behavior

Networking

  • Ethernet throughput
  • Latency
  • USB networking overhead
  • Cellular failover

Thermal

  • Idle temperature
  • Load temperature
  • Sustained performance
  • Throttling behavior

Power

  • Idle consumption
  • Server workload consumption
  • Charging behavior
  • Runtime estimation

🗺️ Roadmap

Phase 1 — Preservation

  • Identify device
  • Identify SoC/platform
  • Identify Android/kernel version
  • Record boot state
  • Backup user data
  • Preserve important application data
  • Preserve device information

Phase 2 — Platform Research

  • Research CK8n firmware
  • Research recovery support
  • Research custom ROM ecosystem
  • Research custom kernels
  • Map partitions
  • Obtain complete stock firmware
  • Analyze boot/recovery images
  • Investigate device tree

Phase 3 — Root / Kernel

  • Research bootloader unlocking
  • Preserve stock boot images
  • Establish recovery method
  • Root development environment
  • Kernel source investigation
  • Custom kernel testing

Phase 4 — Native Linux

  • Kernel preparation
  • Device Tree preparation
  • Required driver investigation
  • Linux boot experiment
  • Ubuntu ARM64 userspace
  • Storage/networking validation
  • Headless server boot

Phase 5 — Jericho Hardware

  • USB-C port inspection
  • Universal I/O hub testing
  • Ethernet testing
  • External storage testing
  • Active cooling
  • Power architecture investigation
  • Long-duration stability testing

Phase 6 — Server Deployment

  • Headless operation
  • SSH
  • Network services
  • Monitoring
  • Automated startup
  • Long-duration stress testing
  • Final documentation

⚠️ Risk Register

Risk Severity Mitigation
Bootloader unlock wipes data 🔴 High Complete backup
Incorrect firmware flashing 🔴 High Preserve exact stock firmware
Boot failure 🔴 High Recovery/unbrick plan
Battery modification 🔴 High Electrical/BMS analysis
Thermal overload 🟠 Medium Active cooling + monitoring
USB-C connector damage 🟠 Medium Inspect/rework before deployment
Driver incompatibility 🟠 Medium Incremental Linux testing
Storage corruption 🟠 Medium Multiple backups
Kernel instability 🟠 Medium Keep known-good boot images

🧰 Development Environment

Primary development environment:

  • Kali Linux
  • Raspberry Pi development workstation
  • External HDD for backups
  • Android Debug Bridge (ADB)
  • Fastboot
  • Apktool
  • Linux kernel tooling
  • Git
  • Cross-compilation toolchains

📁 Repository Structure

The repository is expected to evolve toward:

Project-Jericho/
│
├── README.md
├── PROJECT_JERICHO.md
│
├── docs/
│   ├── hardware/
│   ├── software/
│   ├── linux/
│   ├── kernel/
│   └── recovery/
│
├── firmware/
│   └── checksums/
│
├── kernel/
│
├── device-tree/
│
├── scripts/
│
├── experiments/
│
└── logs/

🔭 Long-Term Vision

Jericho is not intended to be just another custom ROM project.

The larger goal is to understand whether a mass-produced smartphone can be transformed into a purpose-built ARM computing platform through a combination of:

hardware engineering + Linux kernel development + embedded systems + networking + power management.

The smartphone provides the SoC, memory, storage, modem, battery-management hardware, and compact form factor.

Jericho attempts to turn those components into something fundamentally different:

              Smartphone
                  │
       ┌──────────┴──────────┐
       │                     │
   Hardware              Software
       │                     │
       ▼                     ▼
  MT6893 / RAM          Linux Kernel
  Storage / Modem       Device Tree
  USB-C / Battery      Ubuntu ARM64
       │                     │
       └──────────┬──────────┘
                  ▼
          ┌───────────────┐
          │    JERICHO    │
          │ ARM LINUX     │
          │    SERVER     │
          └───────────────┘

📚 Documentation

Detailed project documentation is maintained separately in:

PROJECT_JERICHO.md

This README provides the high-level project overview; the detailed document contains deeper technical notes, research, experiments, hardware plans, and risk analysis.


⚠️ Disclaimer

Project Jericho is an experimental engineering project.

Modifying smartphone firmware, bootloaders, kernels, batteries, charging systems, or hardware can permanently damage the device, cause data loss, or create safety hazards.

All hardware modifications and firmware experiments should be performed only after understanding the associated risks and maintaining a reliable recovery path.


👤 Project

Project Jericho Jericho-Class ARM Linux Server

Built as an independent engineering and learning project.

Status: 🟡 Active Research & Development

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors