Google Nexus 5 (lg-hammerhead)
First make sure to enable USB debugging in Android ([1]) Then with device powered off, hold down Volume Down and Power buttons simultaneously for a few seconds, until Fastboot Mode screen appears.
USB Networking |
Works |
---|---|
Flashing |
Works |
Touchscreen |
Works |
Display |
Works |
WiFi |
Works |
Xwayland |
Works |
FDE | |
Mainline |
Works |
Battery | |
3D Acceleration |
Works |
Accelerometer | |
Audio |
Broken |
Bluetooth | |
Camera | |
GPS | |
Mobile data |
Partial |
SMS |
Works |
Calls |
Partial |
USB OTG |
Works |
Contents
Contributors
- MartijnBraam
- dzervas
- lawl
- bshah
- opendata
Fastboot Mode
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:
$ git clone https://gitlab.com/postmarketOS/pmbootstrap
$ cd pmbootstrap/
$ ./pmbootstrap.py init
$ ./pmbootstrap.py install --no-fde
Then in order to flash it put your device in fastboot mode, and plug it in USB. Then do:
$ ./pmbootstrap.py flasher flash_rootfs --partition userdata
$ sudo fastboot format system
$ ./pmbootstrap.py 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.
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