Google Nexus 5X (lg-bullhead): Difference between revisions
UnDevDeCatOS (talk | contribs) added fingerprint info |
Rahmanshaber (talk | contribs) added Install postmarketOS section |
||
Line 61: | Line 61: | ||
== Special key combos == | == Special key combos == | ||
Boot to bootloader: hold Volume Vown + Power button until the screen turns on | |||
Launch recovery: first boot to the bootloader, press the Volume Down button twice and press the Power button to select | |||
== Install postmarketOS == | |||
Go to bootloader then connect the device to the PC then run this commands one by one. | |||
<syntaxhighlight lang="shell-session"> | |||
$./pmbootstrap.py init | |||
$./pmbootstrap.py -t 30000 install --no-fde | |||
$./pmbootstrap.py flasher flash_rootfs --partition userdata | |||
$./pmbootstrap.py flasher flash_kernel | |||
</syntaxhighlight> | |||
Now select start from the menu in the bootloader screen. Reboot again if you don't see anything in the screen after postmarketOS logo | |||
== Mainline Kernel Status == | == Mainline Kernel Status == | ||
{|class="wikitable feature-colors" | {|class="wikitable feature-colors" |
Revision as of 09:17, 2 May 2021
![]() Nexus 5x | |
Manufacturer | LG |
---|---|
Name | Nexus 5X |
Codename | lg-bullhead |
Released | 2015 |
Hardware | |
Chipset | Qualcomm MSM8992 Snapdragon 808 |
CPU | 4x1.4 GHz Cortex-A53 & 2x1.8 GHz Cortex-A57 |
GPU | Adreno 418 |
Display | 1080x1920 IPS |
Storage | 16/32 GB |
Memory | 2 GB |
Architecture | aarch64 |
Software | |
Original software | Android 6.0 on Linux 3.10 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | partial |
Unixbench Whet/Dhry score | 1273.5 |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
Works |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
No data |
Audio |
No data |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
No data |
Bluetooth |
No data |
GPS |
No data |
NFC |
No data |
Modem | |
Calls |
No data |
SMS |
No data |
Mobile data |
No data |
Miscellaneous | |
FDE |
No data |
USB OTG |
Works |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
No data |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
Contributors
Users owning this device
- Adrian (Notes: Rev 1.0, unused)
- Chappo (Notes: MaruOS Installed, Daily Driver, Would prefer postmarketOS)
- Cherryband
- Dominduchami (Notes: rev_1.01)
- Ecloud
- EnderNightLord
- Haeckle
- IonAgorria (Notes: LineageOS - Boots but affected with big.LITTLE core cluster issue)
- Kcroot (Notes: I have 4 pieces, started build)
- MaryJohanna420 (Notes: Rev 1.0)
- Maxnet (Notes: rev_1.01)
- Nobodywasishere (Notes: I have 7 of these with half having bootlooping issues)
- Proycon
- Russanandres (Notes: Cyanogenmod 13)
- Simonschmeisser
- UnDevDeCatOS (Notes: mint condition, not bootlooping (yet?))
- WolfLink115
Unlocking
In android go to
→ → and tap the build number 7 times. Then go to → → and enable OEM unlockingReboot to the bootloader and run "fastboot oem unlock" Now select
on the phone screen with the volume button and use the power button to accept.No RPMB
If your device says "SECURE BOOT: ENABLED (NO RPMB)" in the fastboot screen that means that the mainboard in your Nexus 5X is missing an image required by secureboot to function properly. If this is missing then oem-unlocking won't work on the device. It will re-lock every reboot.
No fix is available yet for this.
Special key combos
Boot to bootloader: hold Volume Vown + Power button until the screen turns on Launch recovery: first boot to the bootloader, press the Volume Down button twice and press the Power button to select
Install postmarketOS
Go to bootloader then connect the device to the PC then run this commands one by one.
$./pmbootstrap.py init
$./pmbootstrap.py -t 30000 install --no-fde
$./pmbootstrap.py flasher flash_rootfs --partition userdata
$./pmbootstrap.py flasher flash_kernel
Now select start from the menu in the bootloader screen. Reboot again if you don't see anything in the screen after postmarketOS logo
Mainline Kernel Status
Status | Hardware | Info |
---|---|---|
Y | Power Management | Uses Qualcomm's PM8994 controller, works since 4.11 |
Touch Screen | No driver in mainline tree. | |
DSI Panel | Out-of-tree driver[1] generated using linux-mdss-dsi-panel-driver-generator. Untested | |
USB Gadget/OTG | No DT binding. | |
Y | SDHCI | The sd card is supported since 4.17. |
Wi-Fi | Qualcomm QCA6174. Driver exists in mainline. | |
Y | GPIO keys | No DT bindings. |
Bluetooth | Qualcomm QCA6174. Driver exists in mainline. | |
Sound | Qualcomm WCD9330, no driver in mainline. | |
Light Sensor | Rohm RPR0521. Driver exists in mainline. | |
Sixaxis | Bosch BMI160. Driver exists in mainline. | |
Camera | Sony IMX377. No driver in mainline. | |
GPU | Qualcomm Ardeno 418, needs DT bindings. | |
Modem | Qualcomm WTR3925. No driver in mainline. | |
Fingerprint | FPC1020, supported by this driver:https://github.com/SanniZ/fpc1020-driver. Needs DT bindings. |
Firmware
Here is the official Google page to download GPS, Audio, Camera, Gestures, Graphics, DRM, Video, Sensors firware blob. /developers.google
Mainlining
The Linux mainline kernel has very basic support for this phone since November 2016 (one cpu and uart). In January 2017 support for the onboard SDHCI was added and since March 2018 pstore-ramoops. Both should be included in 4.19.
To boot it using pmbootstrap follow the mainlining guide but note that it has a 64 Bit kernel. Also, compared to downstream "device-lg-bullhead" you need to change the debug tty to /dev/ttyMSM0 in the deviceinfo file.
Change deviceinfo (aports/device/device-lg-bullhead/deviceinfo)
deviceinfo_kernel_cmdline="console=ttyMSM0,115200,n8 androidboot.hardware=bullhead boot_cpus=0-5 lpm_levels.sleep_disabled=1 msm_poweroff.download_mode=0 buildvariant=userdebug PMOS_NO_OUTPUT_REDIRECT"
ttyMSM0 tells the kernel to write debug output to the debugger cable, PMOS_NO_OUTPUT_REDIRECT tells the initramfs script from pmOS to write there as well instead of to a (temporary) log file
Increase the pkgrel in the APKBUILD and rebuild the boot.img
$ pmbootstrap checksum device-lg-bullhead
$ pmbootstrap export
Build your kernel as described in mainlining guide
Update the boot.img to include your local kernel
$ cp "/tmp/postmarketOS-export/boot.img-lg-bullhead" "$TEMP/boot.img"
$ cd .output/arch/arm64/boot/
$ cat Image.gz dts/qcom/msm8992-bullhead-rev-101.dtb > "$TEMP/zImage-dtb"
$ pmbootstrap chroot -- abootimg -u /tmp/mainline/boot.img -k /tmp/mainline/zImage-dtb
$ pmbootstrap flasher list_devices
You can communicate with the device using screen
(or other software), so in a separate terminal start it:
$ screen /dev/ttyUSB0 115200
Boot your mobile to the bootloader (power + vol down) and you should see some debug output on the screen.
Boot the kernel using fastboot
$ pmbootstrap chroot -- fastboot boot /tmp/mainline/boot.img
Photos
![]() |
![]() |
![]() |
See also
- Device package
- Kernel package
- !1222 initial MR
- #1703 showing black screen after pmos logo in xfce DE
- Intial porting for the Nexus 5X
- Device Teardown
- Downstream dts