Google Pixel 2 XL (google-taimen): Difference between revisions
mNo edit summary |
Wiktorpyk6 (talk | contribs) No edit summary |
||
(14 intermediate revisions by 7 users not shown) | |||
Line 2: | Line 2: | ||
| manufacturer = Google | | manufacturer = Google | ||
| name = Pixel 2 / XL | | name = Pixel 2 / XL | ||
| codename = | | codename = google-taimen | ||
| image = | | image = | ||
| imagecaption = | | imagecaption = | ||
| releaseyear = 2017 | | releaseyear = 2017 | ||
| originalsoftware = Android 8.0 ( | | originalsoftware = Android | ||
| chipset = Qualcomm | | originalversion = 8.0 | ||
| extendedversion = 11 (Linux 4.4) | |||
| chipset = Qualcomm Snapdragon 835 (MSM8998) | |||
| cpu = Octa-core (4x 2.45 GHz Kryo 280 & 4x 1.9 GHz Kryo 280) | | cpu = Octa-core (4x 2.45 GHz Kryo 280 & 4x 1.9 GHz Kryo 280) | ||
| gpu = Adreno 540 | | gpu = Adreno 540 | ||
Line 14: | Line 16: | ||
| memory = 4 GB | | memory = 4 GB | ||
| architecture = aarch64 | | architecture = aarch64 | ||
| type = handset | |||
<!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --> | <!-- the following status_* questions should be answered with Y - yes, P - partial, N - no, or left blank (for untested or unknown) --> | ||
| status_usbnet = | | status_usbnet = Y | ||
| status_flashing = | | status_flashing = Y | ||
| status_touch = | | status_touch = | ||
| status_screen = | | status_screen = N | ||
| status_wifi = | | status_wifi = | ||
| status_xwayland = | | status_xwayland = | ||
| status_fde = | | status_fde = | ||
| status_mainline = P | | status_mainline = P | ||
| status_battery = | | status_battery = N | ||
| status_3d = | | status_3d = | ||
| status_accel = | | status_accel = | ||
Line 30: | Line 33: | ||
| status_camera = | | status_camera = | ||
| status_gps = | | status_gps = | ||
| status_mobiledata = | | status_mobiledata = | ||
| status_sms = | | status_sms = | ||
| status_calls = | | status_calls = | ||
| status = | | status = Boots but no display output | ||
| booting = | | booting = Y | ||
| pmoskernel = | | pmoskernel = 5.10-rc2 | ||
| whet_dhry = | | whet_dhry = | ||
| status_otg = | | status_otg = | ||
Line 41: | Line 44: | ||
This page documents the status of mainline Linux on the Pixel 2 XL! | This page documents the status of mainline Linux on the Pixel 2 XL! | ||
= Status = | = 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 [https://wiki.postmarketos.org/wiki/Serial_debugging:Cable_schematics#Google_Pixel_.22Android_Debug_Cable.22 following the instructions here]. | |||
== Partition Map == | |||
Map of partitions on [[User:Caleb|Caleb]]'s Pixel 2 XL | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width: 800px; overflow: auto;"> | |||
<code>taimen:~# ls -lah /dev/block/bootdevice/by-name/</code> | |||
<div class="mw-collapsible-content"> | |||
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 | |||
</div> | |||
</div> | |||
= 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 = | = Community Info = | ||
Line 62: | Line 146: | ||
== Maintainers == | == Maintainers == | ||
* [[User: | * [[User:Caleb|Caleb]] | ||
== See also == | == See also == | ||
* [https://github.com/calebccff/linux-wahoo Kernel sources] | * [https://github.com/calebccff/linux-wahoo Kernel sources] |
Latest revision as of 14:39, 14 March 2025
Manufacturer | |
---|---|
Name |
Pixel 2 / XL |
Codename | google-taimen |
Released | 2017 |
Type | handset |
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 |
Original version | 8.0 |
Extended version | 11 (Linux 4.4) |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | partial |
postmarketOS kernel | 5.10-rc2 |
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 Caleb's Pixel 2 XL
taimen:~# ls -lah /dev/block/bootdevice/by-name/
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
- 8osm3rka
- Caleb (Notes: WIP mainline)
- Crashniels (Notes: Custom ROM)
- Crashniels (Notes: Custom ROM and in use)
- Russanandres (Notes: DEAD Bootloader)
- Thejsa (Notes: Spare phone)
- Un1Gfn (Notes: bricked, stuck at fastboot)