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
»
Index
Edit on GitHub
Index
Read the Docs
v: latest
Versions
latest
Downloads
pdf
html
epub
On Read the Docs
Project Home
Builds
Free document hosting provided by
Read the Docs
.