SHIFT SHIFTphone 8 (shift-otter)

From postmarketOS
🚧 This page is a work-in-progress. Some information contained within may be inaccurate or incomplete.


SHIFT SHIFTphone 8
Manufacturer SHIFT
Name SHIFTphone 8
Codename shift-otter
Released 2024
Original software Android
Original version 14
Hardware
Chipset Qualcomm QCM6490
CPU Octa-core Kryo 670
GPU Adreno 643
Storage 256GB / 512GB (UFS 3.1)
Memory 12GB
Architecture AArch64
Type handset
This device is marked as not booting.
Features
USB Networking
Broken
Flashing
Broken
Touchscreen
Broken
Display
Broken
WiFi
Broken
FDE
Broken
Mainline
Broken
Battery
Broken
3D Acceleration
Broken
Audio
Broken
Bluetooth
Broken
Camera
Broken
GPS
Broken
Mobile data
Broken
Internal storage
Broken
SMS
Broken
Calls
Broken
USB OTG
Broken
NFC
Broken
Sensors
Accelerometer
Broken
Magnetometer
Broken
Ambient Light
Broken
Proximity
Broken
Barometer
Broken
Misc
Camera Flash
Broken
HDMI/DP
Broken
Memory Card
Broken
Haptics
Broken


Users owning this device


Boot modes

By holding various button combinations while booting the device can be made to boot into different modes.

Unplug from USB, power off the device and press and hold the below buttons to enter the specific boot mode.

Boot mode Power Volume Up Volume Down
Fastboot Y Y N
Recovery Y N Y
EDL Y Y Y
Note There is a function key on the left side of the device, which is ignored for boot modes.

Bootloader

The bootloader (ABL) is currently not supported by Fwupd.

Unlock bootloader

To unlock the bootloader, you need to allow unlocking it via enabling OEM unlocking within Android.

  1. Go to Settings within Android and select About
  2. Tap on Build number seven times to enable developer options
  3. Go back and select System, Advanced and scroll down to Developer options
  4. Enable Advanced restart and OEM unlocking
  5. Reboot into bootloader by long pressing the power button, selecting Restart and Bootloader

After it has successfully rebooted into Fastboot mode, initiate unlocking the bootloader using fastboot:

$ fastboot flashing unlock

Please follow the prompts on the screen to finish unlocking the bootloader.

Icon WARNING: This will erase your data, please back up important data before unlocking the bootloader.

Customization

Custom AVB key

Note This is not fully relevant for postmarketOS, as AVB is currently unsupported, but documented for the future.

The bootloader has support for setting an user provided AVB key to allow relocking the bootloader if an OS with proper support is flashed.

This is realized with exposing a virtual partition avb_custom_key where the custom user key can be flashed to:

$ fastboot flash avb_custom_key avb_key.bin

For more information please refer to the commit FastbootCmds: oem device-info: check if user public key is set.

Developer mode

Note Toggling developer mode requires the bootloader to be unlocked.

Enabling it has the following effects:

  • Ignore slot retry counter
    • Disables marking slots as unbootable
  • Switch active slots within the bootloader GUI

To enable developer mode:

$ fastboot oem enable-developer-mode

To disable developer mode:

$ fastboot oem disable-developer-mode

To check the current status of developer mode:

$ fastboot oem device-info
(bootloader) Developer mode enabled: true/false

Mainline optimization

The bootloader supports additional fastboot oem commands to enable certain Quality of Life improvements when running mainline.

To enable mainline optimization:

$ fastboot oem enable-mainline-optimization

To disable mainline optimization:

$ fastboot oem disable-mainline-optimization

To check the current status of mainline support:

$ fastboot oem device-info
(bootloader) Mainline optimization enabled: true/false

Fastbootd

Fastbootd is a userspace implementation of Fastboot. For otter it is located within the recovery.

To access it, you can boot the recovery and select a menu option to enter fastbootd mode. Optionally you can also enter it via ADB and Fastboot:

$ # Enter fastbootd via adb
$ adb reboot fastboot
$ # Enter fastbootd via fastboot
$ fastboot reboot fastboot

You can only access dynamic partitions within fastbootd.

Note As fastbootd lives within the recovery, you need a valid recovery image installed in the currently active slot to access it.