Google Nexus 5 (lg-hammerhead)
After upgrades in mesa, ofono, kernel we have had several regressions and not all of them are fixed. It would be great if you could help out.
In any case, take a look at the open hammerhead issues before starting an installation!
WARNING: This device is not recommended for future use with postmarketOS due to its armhf architecture. Alpine Linux (the distribution that postmarketOS extends) pmaports#599 has been considering dropping it. The processor of the device may support the armv7 architecture. If so, you can modify the device package and change the architecture accordingly. |
![]() Nexus 5 running plasma mobile | |
Manufacturer | LG |
---|---|
Name | Nexus 5 |
Codename | lg-hammerhead |
Released | 2013 |
Hardware | |
Chipset | Qualcomm MSM8974 Snapdragon 800 |
CPU | 4x 2.3 GHz Krait 400 |
GPU | Adreno 330 |
Display | 1080x1920 IPS |
Storage | 16/32 GB |
Memory | 2 GB |
Architecture | armhf |
Software | |
Original software | Android 4.4.4 on Linux 3.4.0 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | yes |
Unixbench Whet/Dhry score | 415.0 |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
No data |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Works |
Audio |
Broken |
Camera |
No data |
Camera Flash |
No data |
Connectivity | |
WiFi |
Works |
Bluetooth |
No data |
GPS |
No data |
NFC |
No data |
Modem | |
Calls |
Partial |
SMS |
Works |
Mobile data |
Partial |
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
- MartijnBraam
- dzervas
- lawl
- bshah
- opendata
Fastboot Mode
First make sure to enable USB debugging in Android ([1]) Then with device powered off, hold down and buttons simultaneously for a few seconds, until Fastboot Mode screen appears.
OEM Unlock
Get device into Fastboot Mode, plug in USB cable, then:
$ sudo fastboot oem unlock
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message regarding flashing will appear briefly.
Installation
First build the image:
$ pmbootstrap init
$ pmbootstrap install
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:
$ pmbootstrap flasher flash_rootfs --partition userdata
$ sudo fastboot format system
$ pmbootstrap flasher flash_kernel
Issues
Plasma mobile
Navigation bar is broken. See this bug.
X.org is broken
So, no graphical program can be started. See this bug.
Bluetooth
Bluetooth seems to be lacking some firmware.
From dmesg:
[ 0.650667] bluetooth hci0: Direct firmware load for brcm/BCM4335C0.hcd failed with error -2
Using instructions at https://wiki.alpinelinux.org/wiki/Raspberry_Pi_3_-_Setting_Up_Bluetooth
apk add bluez
rc-update add bluetooth
Running bluetoothctl seems to indicate that the controller is recognized:
https://wiki.alpinelinux.org/wiki/Raspberry_Pi_3_-_Setting_Up_Bluetooth
[bluetooth]# power off
Changing power off succeeded
[bluetooth]# power on
Changing power on succeeded
[CHG] Controller 07:16:16:94:0E:5D Powered: yes
WiFi workaround on boot
The wifi adapter works in NetworkManager, but it boots in airplane mode and NetworkManager does not detect that. Therefore at boot you need to disable the wifi adapter first, and then re-enable it. This can easily be done in the graphic shell (Plasma Mobile has an airplane mode switch in the pull-down menu: check it and uncheck it) or through the shell:
$ sudo nmcli radio all off
$ sudo nmcli radio all on
Webbrowser
In plasma-mobile, Angelfish webbrowser does not run. You may want to install, configure and use qtwebbrowser, Firefox and/or Chromium.
Troubleshooting
Fastboot unknown chunk type
Flashing with fastboot seems to fail for some outdated firmware, it prints the message "FAILED (remote: Unknown chunk type)" when trying to flash the rootfs to userdata. This can be solved by updating to the latest baseband firmware and bootloader.
Remote Data Too Large
Sometimes `./pmbootstrap.py flasher flash_kernel` can fail with an error message that includes "Failed (remote: data too large)". This might be solved by updating by reflashing the latest version of the stock Android image for the device.
Partition layout
hammerhead:~# fdisk -l -o Device,Start,End,Sectors,Size,Name /dev/mmcblk1 Disk /dev/mmcblk1: 14.7 GiB, 15758000128 bytes, 30777344 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 98101B32-BBE2-4BF2-A06E-2BB33D000C20 Device Start End Sectors Size Name /dev/mmcblk1p1 1024 132095 131072 64M modem /dev/mmcblk1p2 132096 134143 2048 1M sbl1 /dev/mmcblk1p3 134144 135167 1024 512K rpm /dev/mmcblk1p4 135168 136191 1024 512K tz /dev/mmcblk1p5 136192 137215 1024 512K sdi /dev/mmcblk1p6 137216 138239 1024 512K aboot /dev/mmcblk1p7 138240 142335 4096 2M pad /dev/mmcblk1p8 142336 144383 2048 1M sbl1b /dev/mmcblk1p9 144384 145407 1024 512K tzb /dev/mmcblk1p10 145408 146431 1024 512K rpmb /dev/mmcblk1p11 146432 147455 1024 512K abootb /dev/mmcblk1p12 147456 153599 6144 3M modemst1 /dev/mmcblk1p13 153600 159743 6144 3M modemst2 /dev/mmcblk1p14 159744 160767 1024 512K metadata /dev/mmcblk1p15 160768 193535 32768 16M misc /dev/mmcblk1p16 193536 226303 32768 16M persist /dev/mmcblk1p17 226304 232447 6144 3M imgdata /dev/mmcblk1p18 232448 277503 45056 22M laf /dev/mmcblk1p19 277504 322559 45056 22M boot /dev/mmcblk1p20 322560 367615 45056 22M recovery /dev/mmcblk1p21 367616 373759 6144 3M fsg /dev/mmcblk1p22 373760 374783 1024 512K fsc /dev/mmcblk1p23 374784 375807 1024 512K ssd /dev/mmcblk1p24 375808 376831 1024 512K DDR /dev/mmcblk1p25 376832 2473983 2097152 1G system /dev/mmcblk1p26 2473984 2535423 61440 30M crypto /dev/mmcblk1p27 2535424 3969023 1433600 700M cache /dev/mmcblk1p28 3969024 30777299 26808276 12.8G userdata /dev/mmcblk1p29 30777300 30777310 11 5.5K grow
Links
- shelli-ui: framebuffer console + gesture recognition video demo
- Demonstration video of a Nexus 5 with postmarketOS and plasma
- obsolete downstream kernel packaging
- Device package
- dmesg from mainline linux with the missing block devices
- flto's hammerhead-upstream status page
- Brian Masney's Nexus 5 upstream status page
Photos
-
Plasma Mobile
-
TTY on mainline
-
Plasma Mobile on 2018-07-07
-
Plasma Mobile on 2018-09-16
-
Openstreetmap on Nexus 5
-
Firefox on Nexus 5
-
Terminal on Nexus 5
-
Wikipedia on Nexus 5
-
Nexus 5 home in nature
-
Nexus 5 home on bed
-
Nexus 5 wikipedia on bed
-
Nexus 5 booting on desktop
-
Nexus 5 home on desktop
-
Nexus 5 wikipedia on desktop