Skip to content

Device downloads

Complete device images, required boot files, and installation instructions. Experimental candidates have passed build checks; hardware support is tracked separately on the device page.

Device directory and test results

Google Pixel 2 XL · experimental candidate 6

Section: Google Pixel 2 XL · experimental candidate 6

Experimental · Published 2026-09-30

Download Windows, macOS and Linux installation bundle · 823.5 MiB

Experimental browser installer · or use the native scripts below.

No Python required. Install current Android platform-tools, back up your phone, and unlock its bootloader using the device guide. Verify the bundle checksum and build provenance, then extract the ZIP.

Terminal window
gh attestation verify google-taimen-native-v2.zip -R porthole-dev/pmaports

Linux or macOS, from the extracted folder:

Terminal window
bash install.sh

Windows PowerShell, from the extracted folder:

Terminal window
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1

The Windows command permits the verified script for this process only. Both installers check image hashes, the model and unlocked bootloader, then ask you to type the device name before erasing data. They never unlock the bootloader automatically. To verify and preview without contacting a phone, use bash install.sh --dry-run or powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -DryRun.

Download Python installation bundle · 823.5 MiB

One download includes the matching rootfs, boot, DTBO, checksums, source revisions and installer. Separate files remain below.

Verify bundle checksums and provenance before running:

Terminal window
gh attestation verify google-taimen-install.zip -R porthole-dev/pmaports
python3 google-taimen-install.zip

Requires Python 3.8+, current Android platform-tools, an unlocked bootloader and a backup. The installer checks the model and asks before replacing the OS and erasing user data. Add --dry-run to verify and preview without contacting a phone.

File Download SHA-256
google-taimen.img.gz 800.7 MiB 6dd1f8d9380ba244270cb0c1873a6348f3a1bd4a9a48fd9ecc64a67038f3885b
boot.img 20.2 MiB d12a1679d9e719e5a468fe748edf490b32be866723111f3585aa23bdfb99a2df
dtbo.img 0.4 KiB fd9752b381403312bcdeda8bb8555f0ad964f3464e7bc4ed307e3cef018362da
SHA256SUMS 3.2 KiB See checksum file
INSTALL.md 1.3 KiB 65f91e24bd37bb216b84839729ede47e1727857ec0976b77345054465399e72b
Manual installation and recovery

Target: Google Pixel 2 XL (taimen), mainline Linux, Phosh, systemd. Includes the licensed nonfree firmware. This candidate has passed build checks; hardware testing applies only when a report names this exact image checksum.

Download every asset into one directory, then run:

Terminal window
sha256sum -c SHA256SUMS
gzip -dk google-taimen.img.gz

The default account is user. The initial password is selected by the maintainer through the release environment. Change it after installation.

Flashing replaces the installed operating system and user data. Back up first. The bootloader must be unlocked. Use a current Android platform-tools fastboot. These instructions target the port’s tested slot b. Never activate slot a.

From the bootloader, verify that fastboot identifies your Pixel 2 XL before performing these writes:

Terminal window
fastboot devices
fastboot flash userdata google-taimen.img
fastboot flash boot_b boot.img
fastboot flash dtbo_b dtbo.img
fastboot set_active b
fastboot reboot

The DTBO write is required: the stock overlay does not match the mainline kernel. Keep boot.img, dtbo.img, and the rootfs from the same release together.

Support, limitations, and dated hardware reports: https://porthole-dev.github.io/porthole/devices/google-taimen/

Verify build provenance with gh attestation verify <downloaded-file> -R porthole-dev/pmaports.