Google Pixel 2 XL (google-taimen)

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 Caleb's Pixel 2 XL
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.
= Community Info =
== postmarketOS users that own the device ==
== Maintainers ==
* Caleb
== See also ==
* Kernel sources