Halium
latest

Porting Guide

  • First steps
    • Getting help
    • Pick an Android target device
    • Collaborate
    • Document your target device
    • Set up your build device
      • Debian (Stretch or newer) / Ubuntu (16.04 or 18.04)
      • Ubuntu (20.04 or newer)
      • Arch
  • Get Halium source
    • Initialize and download source tree
    • Adding your device-specific source
      • The Device Repository
      • Dependencies
      • Vendor blobs
      • Remotes
        • halium-7.1
        • halium-5.1
    • Sync
    • Document
    • Next steps
  • Build Halium
    • Initialize
      • For Halium-5.1
      • For Halium-7.1
    • Modify the kernel configuration
    • As of systemd 233 the 3.4 kernel needs to have a patch in order to boot (tmpmnt not being created)
    • Include your device in fixup-mountpoints
    • Adding the Hybris patches
    • Building the system.img and hybris-boot.img
    • Documented errors
      • Common kernel build errors
        • Implicit declaration of ‘kvfree’
        • ‘kuid_t’ (sdcardfs, cgroup) error
        • Firmware class error
        • ECRYPTFS error
        • ‘Undefined reference to pidns_operations’ on Linux 3.4
        • ‘struct perf_cpu_context’ has no member named ‘unique_pmu’
        • ‘PROC_PID_INIT_INO’ undeclared here (not in a function)
        • POSIX_ACL not supported in 3.18 backport
      • Common system build errors
        • signapk.jar missing
        • Undefined or missing bluetooth headers
        • HYBRIS_BOOT_PART and HYBRIS_DATA_PART
        • Flex locale error
        • Missing bison error
    • Next steps
  • Install Halium
    • Fully halium-integrated distributions
      • Halium reference rootfs
        • Install hybris-boot.img
        • Install hybris-boot.img on Samsung devices
        • Install rootfs and system.img
        • Debugging
      • Plasma mobile
        • Install rootfs and system.img
        • Debugging
    • Halium-modified distributions
      • Ubuntu Touch
  • Debug Halium
    • Early Init
      • Determining if this is needed
      • Debugging via telnet
      • Forcing debug mode
      • Common errors
        • The device reboots after leaving hybris-recovery
        • Bootloop: “Too many levels of symbolic links” when leaving hybris-boot
        • The device reboots with hybris-recovery
        • None of these describe my issue
    • Logging in
    • Add udev rules
      • On the device:
      • On the host:
      • Send upstream:
    • Wifi
      • Enabling Wi-Fi hardware
        • Qualcomm
        • Broadcom bcmdhd
      • Testing Wi-Fi functionality
      • Common errors
        • Kernel 3.10 ping: socket: Permission denied
    • Lights
      • Tests
    • Graphics
      • Tests
      • Common errors
        • EGL_BAD_SURFACE
      • Reading pm4 microcode failed
      • test_hwcomposer failure on aarch64 device with armhf rootfs
    • Vibrator
      • Tests
    • Debugging the Android userspace
      • lxc-android
      • Logcat
      • dmesg
      • strace
      • backtrace
    • USB Network tethering
    • Reading kernel logs
      • Linux kernel <=3.4
      • Linux Kernel >3.4
    • References

Distribution

  • Distribution
    • Reference rootfs
    • Deployment
      • boot.img
      • rootfs.img
      • udev rules
      • lxc container configuration
      • system.img and vendor.img
      • Android rootfs
    • Startup sequence

Supplementary Information

  • About this chapter
    • Where should I put my information?
    • Why is this important?
    • Who is this for?
  • Device Overview
    • Codename - Template Device
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Useful Resources
    • Bullhead - Nexus 5X
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
    • Cedric - Motorola Moto G5
      • Status
        • Maintainership
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Useful Resources
    • Chaozu - BQ Aquaris U
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Usefull Ressources
    • Deb - Nexus 7 (2013 GSM)
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
    • dream2lte - Samsung Galaxy S8+
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Useful Resources
    • Flo - Nexus 7 (2013 Wifi only)
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
    • FP2 - Fairphone 2
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Usefull Ressources
    • griffin - Motorola Moto Z
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Useful Resources
    • h815 - LG G4
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
    • Hammerhead - Nexus 5
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
    • Herolte - Samsung Galaxy S7
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Useful Resources
    • krillin - BQ Aquaris E4.5
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Usefull Ressources
    • land - Xiaomi Redmi 3S/Prime
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Usefull Resources
    • laurel_sprout - Xiaomi Mi A3
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Useful Resources
    • mako - Nexus 4
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Usefull Ressources
    • Nicki - Sony Xperia M
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Useful Resources
    • oneplus3 - OnePlus 3(T)
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Useful Resources
    • PME (Perfume) - HTC 10
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Useful Resources
    • rolex - Xiaomi Redmi 4a
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Useful Resources
    • T00F/T00J - Asus Zenfone 5
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Usefull Ressources
    • Taoshan - Sony Xperia L
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Usefull Resources
    • Titan - Moto G 2014
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Usefull Ressources
    • Codename - trlte
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Useful Resources
        • Other - Not Applicable
    • Vegeta / Vegetahd - BQ Aquaris E5 / BQ Aquaris E5HD
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Usefull Ressources
    • Xiaomi Redmi 2/Prime (wt88047)
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Useful Resources
    • Yuga - Sony Xperia Z
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Useful Resources
    • Z00L - Zenfone 2 Laser
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Useful Resources
    • gts7lwifi - Samsung Galaxy Tab S7 (Wi-Fi)
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Useful Resources
    • a5xelte - Samsung Galaxy A5 2016
      • Status
        • Halium
        • Distributions
        • Kernel & Hardware
      • Device Specifics
        • Guides
        • Developer Info
        • Useful Resources
    • How to document
      • Purpose
      • Table Format
      • Getting the Info
    • Devices
      • Sources
        • OnePlus 5
        • Samsung Galaxy S8+
        • Samsung Galaxy S8
        • Shift 5.1
        • Wiko Pupl 4G
        • Nexus 5
        • Nexus 5X
        • Oneplus One
        • Nexus 4
        • Fairphone 2
        • Nexus 7 (2012)
        • Nexus 7 (2013) Wifi-only = flo
        • BQ Aquaris E4.5
        • HTC 10
        • Asus Zenfone 2 Laser (Z00L)
        • Xiaomi Redmi2/Prime (wt88047)
        • OnePlus 5
        • Xiaomi Redmi 3s/Prime
        • Xiaomi Redmi 4A
        • Xiaomi Mi A3
        • Samsung Galaxy S7
        • LG G4
        • Samsung Galaxy Tab S7 (Wi-Fi)
        • Samsung Galaxy A5 2016
  • Hardware and kernel enablement
    • How to use this Overview
      • Where to find software status
        • SoC support @ Device Tree Source (dts) folder
    • System Components
      • System-on-Chips (SoC)
        • Device specific dts
        • General dts
      • GPU
        • Qualcomm’s Adreno
      • Wireless Connectivity
        • WiFi + (x)
        • Mobile
        • NFC
      • Sound
      • Sensors
        • Touch
        • Orientation & Acceleration
      • Peripherals
        • Charging & Power Management
        • Slimport
    • How to test a new kernel
  • How to contribute documentation
    • Check for existing Halium work
    • Download templates and files
    • Edit device-overview
    • Create device documentation
    • Check hardware enablement
    • Create pages for undocumented hardware

Project

  • Scope of Halium
    • Reference-implementation only components
  • Related projects
    • LuneOS
    • Plasma mobile
    • postmarketOS
    • SailfishOS
    • Ubuntu Touch
    • Droidian
    • Others
  • Planning
    • Linux kernel + Android + Libhybris common basel
      • Introduction
      • Action Points
    • REVIEW ONCE THEN MOVE UP - bshah
      • What this base consists of? Or what is our “products”?
      • What is the lifecycle of port?
      • Distributions (Plasma Mobile, UBports, Mer etc)
    • The Stack - proposal
      • Some random links
      • Mer-meeting takeaway
    • Initial halium creator script (locusf rambling)
  • Development
    • Development plan/outline:
    • Initial development (stage 0, libhybris):
    • Hardware enablement (stage 1):
    • Device enablement (stage 2):
    • Future ideas
  • Documentation Todo
Halium
  • Docs »
  • Search
  • Edit on GitHub


© Copyright 2017-2018, Halium Documentation Contributors Revision 4bf1a716.

Built with Sphinx using a theme provided by Read the Docs.