Entry created
2025-01-27

Translation(s): none

DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware.

Models covered
Google Pixel 6 (oriole)

Overall Status

Core Components

[ATTACH]

Boot Standard Kernel:

{OK}

LAN network card:

{X}

Detect hard drives:

{OK}

Secure boot:

[?]

Extra Features

CPU Frequency Scaling

[?]

Hibernation

[?]

Sleep / Suspend

[?]

Xorg

{X}

- OpenGL

{X}

Touchscreen

{X}

Modem

{X}

Wireless/Wifi

{X}

GPS

{X}

Sensors

{X}

Battery

{X}

Camera

- Front

{X}

- Back

{X}

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Tested ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware

Important Note

Note that this is very early work, basically only USB works, no display no network no nothing!

Installation

Needs at least mmdebstrap 1.5.0 (Debian trixie, Ubuntu oracular)

Install required Software

sudo apt install mmdebstrap uidmap qemu-user-binfmt arch-test libarchive13 gzip lz4 mkbootimg fastboot adb

Generate the Image

export QEMU_CPU=max,pauth=off
cd /tmp
# for Ubuntu:  install debian-archive-keyring and add --keyring=/usr/share/keyrings/debian-archive-keyring.gpg
mmdebstrap --arch=arm64 \
    --include=dracut,systemd-sysv,dbus-user-session,linux-image-arm64,adbd \
    --customize-hook='cp "$1"/boot/vmlinuz-* /tmp/Image' \
    --customize-hook='cp "$1"/boot/initrd.img-* /tmp/initrd.img' \
    --customize-hook='cp "$1"/usr/lib/linux-image-*/exynos/google/gs101-oriole.dtb /tmp/' \
    unstable unstable.ext4

unshare --map-root-user --map-auto chown root:root Image initrd.img gs101-oriole.dtb
lz4 --rm --fast Image

# ftrace=function only needed for buggy ufs module load
mkbootimg --header_version 4 \
    --kernel Image.lz4 \
    --vendor_cmdline 'clk_ignore_unused root=PARTLABEL=userdata rw ftrace=function' \
    --ramdisk_type platform \
    --ramdisk_name PLAT \
    --vendor_ramdisk_fragment initrd.img \
    --dtb gs101-oriole.dtb \
    --vendor_boot vendor_boot.img \
    --output boot.img

Fastboot mode

Enable Developer Options by tapping Build Number 7 times. Enalbe OEM Unlocking in the Developer Options. When the device is shut off, the device can be put in fastboot mode by pressing and keeping pressed the power and volume down buttons, until the fastboot screen appears. Different entries can be navigated with volume buttons and entered with power button.

Preparing the Device

As you would do before installing a custom Android ROM, the bootloader needs to be unlocked. The exact procedure varies depending on the device you own, so we suggest you search the Internet for an unlock guide aimed at your specific device.

We also recommend that you upgrade Android to the latest available version and install all system updates before installing Mobian.

See postmarketOS' wiki for allow bootloader unlocking and unlock the bootloader.

Disable verification (only needed once):

fastboot flashing unlock
fastboot oem disable-verification
fastboot oem disable-verity
fastboot oem ramdump disable
fastboot erase dtbo

Flashing the Image to the Target Device

WARNING: Flashing Debian to your device will wipe your Android installation! Please make sure you understand how to recover your system before proceeding.

fastboot flash userdata unstable.ext4
fastboot flash vendor_boot vendor_boot.img
fastboot flash boot boot.img
fastboot reboot

Access the Device

adb

Configuration

Display

GPU: Mali-G78 MP20 Display: AMOLED 1080x2400 90Hz / 1440x3120 120Hz

Patch for simple framebuffer proposed upstream: https://lore.kernel.org/all/20250117-gs101-simplefb-v4-0-a5b90ca2f917@linaro.org/. GPU support may be worked on soon: https://www.collabora.com/news-and-blog/news-and-events/panvk-v10-support.html#qcom4315. Spec written: https://www.collabora.com/news-and-blog/news-and-events/reverse-engineering-the-mali-g78.html.

Audio

Power Management

WiFi

Modem


System Summary

lspci

$ lspci -nn

lsusb

$ lsusb

$ sudo lsusb -v 2>/dev/null | grep -E '\<(^Bus|iProduct|bDeviceClass|bDeviceProtocol)'

USB Host controllers entries (without OHCI, UHCI, EHCI) are removed too.

Resources

Attachments

Some configuration files and sample outputs.

Other reports

# * Linux hardware database probe

Credits



CategoryDebianOn