Skip to content

Latest commit

 

History

History
250 lines (203 loc) · 7.65 KB

File metadata and controls

250 lines (203 loc) · 7.65 KB

Device Tree Build Checklist for Honor 50 SE (JLH-AN00)

Configuration Files Status

Core Android Build Files

  • Android.mk - Android makefile with TWRP and OrangeFox support
  • AndroidProducts.mk - Product makefile with both TWRP and OrangeFox options
  • BoardConfig.mk - Board configuration with A/B partition support
  • twrp_jlhs.mk - TWRP product configuration
  • ofox_jlhs.mk - OrangeFox product configuration

OrangeFox Specific Files

  • ofox.mk - OrangeFox base configuration
  • recovery/root/etc/ofox.rc - OrangeFox init script

Recovery Configuration Files

  • recovery/root/init.recovery.jlhan00.rc - Recovery init script
  • recovery/root/init.recovery.jlhan00.usb.rc - USB configuration
  • recovery/root/etc/twrp.fstab - Filesystem table with A/B support

System Properties

  • system.prop - System properties for the device

Build Scripts

  • setup.sh - Setup script for device tree
  • extract_kernel.sh - Kernel extraction script
  • makefile - Makefile for building

Documentation

  • README.md - General documentation
  • kernel_analysis.md - Kernel source analysis
  • PREBUILD_INSTRUCTIONS.md - Prebuilt files preparation guide
  • BUILD_CHECKLIST.md - This checklist

Prebuilt Directory Structure

  • prebuilt/ - Prebuilt files directory
  • prebuilt/dtb/ - Device tree blobs directory

Configuration Verification

A/B Partition Support

  • AB_OTA_UPDATER := true
  • BOARD_BUILD_SYSTEM_ROOT_IMAGE := false
  • Recovery A/B partitions configured:
    • recovery_a / recovery_b
    • recovery_ramdisk_a / recovery_ramdisk_b
    • recovery_vendor_a / recovery_vendor_b
  • Boot A/B partitions configured:
    • boot_a / boot_b
    • vendor_boot_a / vendor_boot_b

Dynamic Partition Support

  • Super partition configured
  • Dynamic partitions listed: system, system_ext, vendor, product
  • Main partition size: 9122611200 bytes

Partition Sizes

  • BOOT: 67108864 bytes (64MB)
  • VENDOR_BOOT: 67108864 bytes (64MB)
  • RECOVERY: 67108864 bytes (64MB)
  • RECOVERY_RAMDISK: 67108864 bytes (64MB)
  • RECOVERY_VENDOR: 67108864 bytes (64MB)
  • SUPER: 9126805504 bytes (8.5GB)

Hardware Configuration

  • Architecture: ARM64 (armv8-a)
  • CPU: Cortex-A76 + Cortex-A55 (big.LITTLE)
  • Platform: MediaTek MT6877 (Dimensity 900)
  • GPU: Mali-G57
  • Display: 1080x2400 (FHD+)
  • Pixel format: BGRA_8888

Kernel Configuration

  • Kernel base: 0x40078000
  • Kernel offset: 0x00008000
  • Ramdisk offset: 0x11088000
  • DTB offset: 0x07c08000
  • Kernel image name: Image.gz-dtb
  • Header version: 2

Recovery Features

  • FBE (File-Based Encryption) support
  • Metadata decryption support
  • USB MTP/ADB support
  • Touchscreen support
  • Display support
  • Storage support (UFS/F2FS/EXT4)

Build Options

  • TWRP build option: lunch twrp_jlhs-eng
  • OrangeFox build option: lunch ofox_jlhs-eng

Prebuilt Files Preparation Status

Required Files

  • prebuilt/kernel - Kernel Image.gz-dtb (to be extracted)
  • prebuilt/dtb/mt6877-jlh-an00.dtb - Device tree blob (to be extracted)

Source Images Available

  • boot_a.img - Boot kernel image (30MB)
  • recovery_a.img - Recovery kernel image (45MB)
  • recovery_ramdisk_a.img - Recovery ramdisk (32MB)
  • recovery_vendor_a.img - Recovery vendor partition (24MB)
  • vendor_boot_a.img - Vendor boot image (64MB)
  • ramdisk_a.img - Ramdisk image (2MB)

Extraction Instructions

  • Extract kernel from boot_a.img using magiskboot
  • Extract DTB from boot_a.img or build from kernel source
  • Copy extracted files to prebuilt directories

Build Prerequisites

Android Build Environment

  • Android 11+ source tree
  • TWRP source tree or OrangeFox source tree
  • Proper build environment (Java, Python, etc.)
  • Toolchain (aarch64-linux-android-)

Required Tools

  • magiskboot - For extracting kernel and DTB
  • make - Build tool
  • mka (Android's wrapper for make) - Recommended
  • Python - Required for build system
  • Git - For source management

Build Steps Verification

Step 1: Extract Prebuilt Files

cd C:\Users\Administrator\Desktop\iflow\extracted_images
magiskboot.exe unpack boot_a.img
copy kernel ..\twrp_jlh_an00\prebuilt\kernel
copy dtb ..\twrp_jlh_an00\prebuilt\dtb\mt6877-jlh-an00.dtb
  • Kernel extracted successfully
  • DTB extracted successfully
  • Files copied to correct locations

Step 2: Setup Build Environment

cd <android_source_root>
source build/envsetup.sh
  • Environment variables set correctly

Step 3: Select Build Target

For TWRP:

lunch twrp_jlhs-eng
  • Build target selected: twrp_jlhs-eng

For OrangeFox:

lunch ofox_jlhs-eng
  • Build target selected: ofox_jlhs-eng

Step 4: Build Recovery

mka recoveryimage
  • Build started successfully
  • Build completed without errors
  • Recovery image generated

Step 5: Verify Output

ls -lh out/target/product/jlhs/recovery.img
  • Recovery image exists
  • Image size is reasonable (40-60MB)
  • Image can be flashed

Final Verification Checklist

Device Tree Files

  • All Android build files present
  • All recovery configuration files present
  • All OrangeFox specific files present
  • All documentation files present

Configuration Correctness

  • A/B partition support enabled
  • All three recovery partitions configured
  • Dynamic partition support configured
  • Hardware parameters correctly set
  • Kernel parameters correctly set
  • Recovery features properly configured

Build Compatibility

  • TWRP build support
  • OrangeFox build support
  • Naming conventions followed
  • File structure compatible with Android build system

Device Specifics

  • Device name: Honor 50 SE (JLH-AN00)
  • Platform: MediaTek MT6877
  • Architecture: ARM64
  • Display: 1080x2400
  • Three recovery partitions: recovery_a, recovery_ramdisk_a, recovery_vendor_a

Known Limitations

Prebuilt Files

  • Need to extract kernel and DTB from stock images
  • Cannot build without prebuilt kernel
  • Kernel must match device variant

Driver Support

  • Display driver may need testing
  • Touchscreen driver may need calibration
  • Encryption support may need additional configuration

A/B Partition System

  • Must use A/B partition aware tools
  • Recovery images must support A/B slots
  • Flashing requires slot selection

Next Steps

  1. Extract Prebuilt Files: Follow PREBUILD_INSTRUCTIONS.md
  2. Test Build: Attempt to build recovery image
  3. Verify Image: Check if image boots correctly
  4. Test Functionality: Test all recovery features
  5. Refine Configuration: Adjust based on testing results

Support Resources

  • Kernel Source: C:\Users\Administrator\Desktop\iflow\Code_Opensource\kernel\
  • Device Trees: C:\Users\Administrator\Desktop\iflow\Code_Opensource\kernel\arch\arm64\boot\dts\mediatek\hihonor_mt6877_jlh_an00_*.dts
  • Source Images: C:\Users\Administrator\Desktop\iflow\extracted_images\
  • TWRP: https://twrp.me/
  • OrangeFox: https://orangefox.org/

Notes

  • This device tree supports both TWRP and OrangeFox Recovery
  • A/B partition system is fully configured
  • Three recovery partitions are properly configured
  • All hardware parameters are based on actual device specifications
  • Kernel configuration is based on Honor 50 SE kernel source analysis

Build Status

Date: 2026-02-05 Status: Ready for build (pending prebuilt files extraction) Compatibility: TWRP 11+ / OrangeFox R11.1+