Google Pixel 2 / XL Manufacturer
Google Name
Pixel 2 / XL Codename
google-walleye, google-taimen Released
2017 Hardware Chipset
Qualcomm Snapdragon 835 (MSM8998) CPU
Octa-core (4x 2.45 GHz Kryo 280 & 4x 1.9 GHz Kryo 280) GPU
Adreno 540 Display
1080 x 1920 / 1440 x 2880 AMOLED Storage
64/128/256 GB Memory
4 GB Architecture
aarch64 Software Original software
Android 8.0 (Up to Android 11) on Linux 4.4 postmarketOS Category
testing Pre-built images
no Mainline
partial postmarketOS kernel
5.10-rc2
Features Flashing
Works
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
Broken
Screen
Broken
Touchscreen
No data
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
No data
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
This page documents the status of mainline Linux on the Pixel 2 XL!
Status
The device boots Mainline with basic DTS support, USB networking is enough to get to a shell. "clk_ignore_unused" is needed to prevent unused clocks causing the device to crash early in boot.
pstore
Due to having to cold reboot the device, pstore becomes extremely corrupt as memory loses power for a short amount of time. I was able to partially counter this and get /almost/ readable pstore (https://s.connolly.tech/pstore.jpeg ) by putting the device in a freezer and then keeping it on ice.
I would not recommend this as it could damage the battery, instead you can build a serial cable by following the instructions here .
Partition Map
Map of partitions on Kalube 's Pixel 2 XL
Expand
taimen:~# ls -lah /dev/block/bootdevice/by-name/
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 abl_a -> /dev/block/sde6
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 abl_b -> /dev/block/sde20
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 aes_a -> /dev/block/sda10
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 aes_b -> /dev/block/sda11
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 align_parti -> /dev/block/sda12
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 apdp -> /dev/block/sde29
lrwxrwxrwx 1 root root 36 1970-01-02 05:02 boot -> /dev/block/bootdevice/by-name/boot_b
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 boot_a -> /dev/block/sde8
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 boot_b -> /dev/block/sde22
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 cdt -> /dev/block/sdd1
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 cmnlib64_a -> /dev/block/sde10
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 cmnlib64_b -> /dev/block/sde24
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 cmnlib_a -> /dev/block/sde9
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 cmnlib_b -> /dev/block/sde23
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 ddr -> /dev/block/sdd2
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 devcfg_a -> /dev/block/sde11
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 devcfg_b -> /dev/block/sde25
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 devinfo -> /dev/block/sde34
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 dip -> /dev/block/sde35
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 dpo -> /dev/block/sde36
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 dtbo_a -> /dev/block/sde13
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 dtbo_b -> /dev/block/sde27
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 frp -> /dev/block/sdg1
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 fsc -> /dev/block/sdf3
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 fsg -> /dev/block/sde32
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 ftm -> /dev/block/sda6
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 hyp_a -> /dev/block/sde3
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 hyp_b -> /dev/block/sde17
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 keymaster_a -> /dev/block/sde7
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 keymaster_b -> /dev/block/sde21
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 laf_a -> /dev/block/sda1
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 laf_b -> /dev/block/sda2
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 limits -> /dev/block/sde37
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 logfs -> /dev/block/sde39
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 metadata -> /dev/block/sde41
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 misc -> /dev/block/sda5
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 modem_a -> /dev/block/sde5
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 modem_b -> /dev/block/sde19
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 modemst1 -> /dev/block/sdf1
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 modemst2 -> /dev/block/sdf2
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 msadp -> /dev/block/sde30
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 persist -> /dev/block/sda4
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 pmic_a -> /dev/block/sde4
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 pmic_b -> /dev/block/sde18
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 pstore -> /dev/block/sda9
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 rpm_a -> /dev/block/sde1
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 rpm_b -> /dev/block/sde15
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 sec -> /dev/block/sde33
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 ssd -> /dev/block/sda3
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 sti -> /dev/block/sde40
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 storsec -> /dev/block/sde31
lrwxrwxrwx 1 root root 38 1970-01-02 05:02 system -> /dev/block/bootdevice/by-name/system_b
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 system_a -> /dev/block/sda7
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 system_b -> /dev/block/sda8
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 toolsfv -> /dev/block/sde38
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 tz_a -> /dev/block/sde2
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 tz_b -> /dev/block/sde16
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 userdata -> /dev/block/sda13
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 vbmeta_a -> /dev/block/sde12
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 vbmeta_b -> /dev/block/sde26
lrwxrwxrwx 1 root root 38 1970-01-02 05:02 vendor -> /dev/block/bootdevice/by-name/vendor_b
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 vendor_a -> /dev/block/sde14
lrwxrwxrwx 1 root root 16 1970-01-02 05:02 vendor_b -> /dev/block/sde28
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 xbl_a -> /dev/block/sdb1
lrwxrwxrwx 1 root root 15 1970-01-02 05:02 xbl_b -> /dev/block/sdc1
Installation
Unlock the bootloader
Before installing postmarketOS you have to unlock your bootloader (aka OEM unlock). This can be accessed by enabling Developer Mode.
If your device's original carrier was Verizon
You will not be able to unlock the bootloader on any Verizon taimen/walleye unless your device is on an ancient Android 8.0.0 release. Verizon devices have the OEM Unlock option greyed out permanently.
postmarketOS users that own the device
Maintainers
See also