Google Pixel C (google-smaug)

From postmarketOS
Jump to navigation Jump to search
Google Pixel C
200px
CHANGE_ME
Manufacturer Google
Name Pixel C
Codename google-smaug
Released 2015
Category testing
Original software Android
Original version 8.1.0
Hardware
Chipset Nvidia Tegra X1
CPU Quad-core 1.9 GHz Cortex-A57
GPU Maxwell
Display 2560x1800 IPS LCD
Storage 32/64 GB
Memory 3 GB
Architecture aarch64
Type tablet
Features
USB Networking
Broken
Flashing
Works
Touchscreen
Works
Display
Works
WiFi
Works
FDE
Mainline
Works
Battery
3D Acceleration
Works
Audio
Bluetooth
Works
Camera
GPS
Unavailable
Mobile data
Unavailable
SMS
Unavailable
Calls
Unavailable
USB OTG
Partial
NFC
Unavailable
Sensors
Accelerometer
Magnetometer
Ambient Light
Proximity
Hall Effect
Barometer
Power Sensor
Misc
Camera Flash
Keyboard
Unavailable
Touchpad
Unavailable
USB-A
Unavailable
HDMI/DP
Ir TX
Unavailable
Ir RX
Stylus
Haptics
Ethernet
Unavailable
FOSS bootloader
Partial




Contributors

Users owning this device


How to enter flash mode

fastboot

When turned off press and hold the power button and volume down until the bootloader menu displays. Using the volume button select "Switch to fastboot mode" and press the power button.

APX

There seems to be no key combination for entering APX mode. Use these commands instead:

$ pmbootstrap initfs hook_add apx
$ pmbootstrap flasher flash_kernel

This will cause device entering APX on boot

Installation

Installation keeping Android partition table (easy way)

$ pmbootstrap init
$ pmbootstrap install --no-cgpt

Then in fastboot mode:

$ pmbootstrap flasher flash_kernel
$ pmbootstrap flasher flash_rootfs --partition userdata

Installation with repartition and booting from USB (recommended way)

Enable booting from USB

On PC:

$ wget https://dl.google.com/dl/edgedl/chromeos/recovery/chromeos_15183.78.0_trogdor_recovery_stable-channel_mp-v7.bin.zip
$ unzip chromeos_15183.78.0_trogdor_recovery_stable-channel_mp-v7.bin.zip
$ sudo losetup -Pf chromeos_15183.78.0_trogdor_recovery_stable-channel_mp-v7.bin
$ sudo cp $(findfs LABEL=ROOT-A) recovery.img
$ adb push recovery.img /sdcard/recovery.img

On device in adb shell:

$ su # assuming you have root
# cd /sdcard
# mkdir rootdir
# losetup /dev/block/loop0 recovery.img # this may throw an error, but still pass. check blkid command, make sure there is /dev/block/loop0 in the output
# mount -o ro -t ext4 /dev/block/loop0 rootdir
# cd rootdir
# mount -t sysfs /sys sys
# mount -t proc /proc proc
# mount -o bind /dev dev
# mount -t tmpfs -o size=100M tmpfs tmp # for flashrom to avoid read-only fs
# mount -t tmpfs -o size=100M tmpfs run # for crossystem to avoid read-only fs
# mkdir run/lock # crossystem will create /run/lock/crossystem.lock there
# chroot . /bin/bash
# export PATH="$PATH:/usr/sbin:/bin"
# ln -s /dev/mtd/mtd0 /dev/mtd0 # this is needed for crossystem to work with downstream SPI flash driver
# crossystem dev_boot_usb=1 dev_boot_signed_only=0 # this command enables booting from USB

Everything else is the same to Chrome OS devices except that we don't have prebuilt images yet.

Installation to USB storage

Use these commands:

$ pmbootstrap init # select google-smaug
$ pmbootstrap install --sdcard /dev/sdX # replace /dev/sdX with your storage

You can boot from USB with pressing Ctrl + U in bootloader.

Installation to eMMC

Icon WARNING: This part is not tested. Make a backup before attempting this.

Boot pmOS from USB, connect to WiFi and install pmOS on eMMC:

$ sudo apk add pmbootstrap
$ pmbootstrap init # select google-smaug
$ pmbootstrap install --sdcard /dev/mmcblkX # replace X with your eMMC