Google Pixel 3 (google-blueline)

From postmarketOS Wiki
Google Pixel 3
Google Pixel 3
Google Pixel 3
Manufacturer Google
Name Pixel 3
Codename google-blueline
Released 2018
Type handset
Hardware
Chipset Qualcomm Snapdragon 845 (SDM845)
CPU Octa-core (4x2.5 GHz Kryo 385 Gold & 4x1.6 GHz Kryo 385 Silver)
GPU Adreno 630
Display 1080 x 2160 P-OLED, HDR
Storage 64GB/128GB
Memory 4 GB
Architecture aarch64
Software
Original software Android
Original version 9.0
postmarketOS
Category testing
Pre-built images no
Mainline partial
Features
Flashing
Works
USB Networking
Works
Internal storage
Works
SD card
Battery
Works
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Partial
Camera
Broken
Camera Flash
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Partial
NFC
Modem
Calls
SMS
Mobile data
Miscellaneous
FDE
Works
USB OTG
Broken
HDMI/DP
Sensors
Accelerometer
Broken
Magnetometer
Ambient Light
Proximity
Hall Effect
Haptics
Barometer


Contributors

Users owning this device


How to enter flash mode

Unplug from USB and hold Power and Volume Down until you see a screen with a red triangle titled "fastboot mode".

Installation

Prerequisites

Upgrade

Before installing postmarketOS, it is recommended that you update your device to the last release available. This can be done easily by visiting http://flash.android.com/ from a Chromium based browser and following the instructions.

Unlock the bootloader

1. Open setting, go to "About" and tap on the "Build number" box ~10 times until the "You are now a developer" toast message appears.

2. Go back to the main settings page, go to "System" and then "Developer options" (it might be hiding behind a dropdown menu). Toggle the switch to "Enable OEM unlocking"

3. Refer to "How to enter flash mode" above to get into fastboot mode, then re-attach your USB cable. Run the following command on your host:

$ fastboot flashing unlock

Use the volume buttons to navigate the confirmation screen on the device and confirm.

Building and flashing

The vendor is google, the codename is "blueline".

Follow the pmbootstrap article, until you have done the install action (note that --fde stands for full-disk-encryption - this can also be left out).

$ pmbootstrap install --fde --password 147147

Reboot back into flash mode as explained above. (If you encounter weird behaviour like the command getting stuck before the flashing starts, reboot into flash mode or select "restart bootloader" on the phone itself and run the command again while the device reboots).

$ pmbootstrap flasher flash_dtbo
$ pmbootstrap flasher flash_rootfs
$ pmbootstrap flasher flash_boot

Then choose "start" on the device to reboot into your new installation.

UART

See also: https://github.com/Peter-Easton/android-debug-cable-howto, Serial_debugging:Cable_schematics#Google_Pixel_.22Android_Debug_Cable.22

Baud rate is 115200. Voltage is 3.3V, although 1.8V seems to work as well.

  1. Obtain a USB-C breakout board and a UART adapter
  2. Connect pins board pin (USB-C pinout) - UART adapter pin as following:
    1. A1 (GND) - GND
    2. A8 (SBU1) - RXD
    3. B8 (SBU2) - TXD
  3. Connect breakout board and phone using a USB-C cable that has working SBU1/2 (I had to use a thicker TB3/USB 3.0 capable cable). Make sure the cable is in "top" orientation (in my case Thunderbolt logos were facing same side as phone's screen and the A side of breakout board), it won't work if the plug is reversed on one side.
  4. Boot phone into fastboot, then execute fastboot oem uart enable and poweroff.

See also