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.

What's not working

Support

If something isn't working for you, you can get in contact with Mobian developers and the Mobian community in various ways. All of them are listed here.

Installation

Known good weekly images

Not all of the weekly images are tested continuously on all devices in all variants. The ones below are known to work and are a good starting point for running testing:

Obtain the Image

Pre-built images for your device are available from https://images.mobian.org/qcom/weekly/, packed in a file named

(where the <family> you are looking for is sdm845).

Verifying the images

See FAQ#How to check Mobian images' signature.

Preparing and flashing the device

WARNING: Flashing Mobian to your device will wipe your Android installation and all the data contained in it. If your device contains data you'd like to retain, please make a backup in advance. Installing a recovery software such as TWRP and making sure you understand how to recover your system before proceeding is also recommended, unless your device contains no valuable data and you know how to recover it.

It's recommended that you upgrade Android to the latest available version and install all system updates before installing Mobian, because Mobian uses FW files from Android partitions for enabling various peripherals (e.g. WIFI).

To recover to a working stock Android version with compatible firmware, either because you cannot update from Android or your device is bricked, you may use the following EDL recovery packages. Doing so will wipe your device and relock your bootloader, unfortunately a Windows machine is required for recovery.

Device's bootloader needs to be unlocked: the procedure varies depending on the device you own, then either refer to postmarketOS' installation guide for unlocking bootloader of OnePlus 6 or OnePlus 6T or search the Internet for an unlock guide aimed at your specific device.

Mobian images are made of:

As these devices have several variants, which differ only by the device-tree they need, and the DT being part of the bootimg, we provide one bootimg for each variant. You have to flash the one matching your device:

If the device becomes unresponsive after a fastboot command succeeded, power it off and boot into fastboot mode again, then execute the remaining commands.

The OnePlus 6/6T has an A/B partition scheme. In order to select which slot you want to flash Mobian to, you can run the following command before any other fastboot command:

Once you have uncompressed the tarball, boot your device into fastboot mode, connect it to your computer using a USB cable and run the following commands to install Mobian:

fastboot flash boot mobian-<processor>-phosh-YYYYMMDD.boot-<model>.img
fastboot erase userdata
fastboot -S 100M flash userdata mobian-<processor>-phosh-YYYYMMDD.rootfs.img
fastboot erase dtbo
fastboot reboot

It is recommended to reboot the device after flashing via the "fastboot reboot" command, as the reboot is triggered after the writings to device's internal memory from previous steps are completed.

The "fastboot erase userdata" command is not mandatory, but it was found to fix the situation in case another Linux distribution was present on the device before flashing Mobian.

Fastboot mode

When the device is shut off, the OnePlus 6 (enchilada) can be put in fastboot mode by pressing and keeping pressed the power and volume up buttons, until a screen with a green 'START' writing appears. Different entries can be navigated with volume buttons and entered with power button.

Similarly, the OnePlus 6T (fajita) can be put in fastboot mode by pressing and keeping pressed the power and both volume buttons.

Default pin and password

The default user is mobian with password 1234 . See Mobian/FAQ#Default_pin_and_password .

Automatic resizing of your filesystem on first boot

After flashing the image and booting for the first time, Mobian will resize the root filesystem to take all possible space on the disk. This can take a while and will only happen on first boot. So grab a ${DRINK_OF_CHOICE} and be patient.

Notes:

General

Audio

General Audio

 sudo systemctl mask alsa-restore 
 sudo rm -f /var/lib/alsa/asound.state

 sudo apt remove pulseaudio

The latest images automatically remove pulseaudio, so if apt complains there is nothing to remove (or apt policy pipewire-audio shows something installed), then this step is unnecessary.

The bottom microphone only seems to work when the earpiece is activated.

Voice Call

[Unit]
Description=Restart the userspace daemon for the QDSP6 voice call audio driver on resume
After=suspend.target

[Service]
Type=simple
ExecStart=/usr/bin/systemctl restart q6voiced.service

[Install]
WantedBy=suspend.target

[Unit]
Description=Disable pulseaudio/pipewire suspend-on-idle module during call
After=ModemManager.service
ConditionUser=!@system

[Service]
ExecStart=/usr/local/bin/call_audio_idle_suspend_workaround.sh

Restart=on-failure
RestartSec=10s

[Install]
WantedBy=default.target

This should be placed in the /lib/systemd/user/ folder and enabled using systemctl --user without sudo or alternatively execute the following in a console

sudo chmod +x /usr/local/bin/call_audio_idle_suspend_workaround.sh
cat <<'EOF' | sudo tee /lib/systemd/user/call_audio_idle_suspend_workaround.service
[Unit]
Description=Disable pulseaudio/pipewire suspend-on-idle module during call
After=ModemManager.service
ConditionUser=!@system

[Service]
ExecStart=/usr/local/bin/call_audio_idle_suspend_workaround.sh

Restart=on-failure
RestartSec=10s

[Install]
WantedBy=default.target

EOF

systemctl --user enable call_audio_idle_suspend_workaround.service

GPS

by default applications can only estimate your location using your IP

more accurate location via GPS can be enabled with following commands

mmcli -m any --location-enable-gps-nmea
mmcli -m any --location-enable-gps-raw

and disabled with

mmcli -m any --location-disable-gps-nmea
mmcli -m any --location-disable-gps-raw

Suspend

While in suspend the phone by default will NOT resume on call, It can be enabled according to the pmOS Wiki page for the SDM845 SoC page. The setting is on the /sys partition. There is a tool packaged in debian sysfsutils which can change /sys settings on boot like sysctl for /proc/sys. Add the following file in /etc/sysfs.d/ to enable all wake-up events (SMS, calls, network change ...) from the modem

bus/rpmsg/devices/4080000.remoteproc:glink-edge.IPCRTR.-1.-1/power/wakeup = enabled

Support for serviced devices

cd /usr/lib/linux-image-6.6-sdm845/qcom/
sudo dtc sdm845-oneplus-enchilada.dtb -o temp.dts
sudo sed -i 's/bq27441/bq27541/' temp.dts 
sudo sed -i 's/bq27411/bq27541/' temp.dts
sudo dtc temp.dts -o sdm845-oneplus-enchilada.dtb 
sudo update-initramfs -u
sudo /etc/kernel/postinst.d/zz-qcom-bootimg 6.6-sdm845

Debug UART

Oneplus6 Debug UART

Camera

Starting with the 6.12 kernel shipped with Trixie, this device's cameras are (at least basically) supported. Front (selfie) and back macro cameras are supported, the main back camera not yet.

Please execute the following to install needed packages

sudo apt install gnome-snapshot gstreamer1.0-plugins-base-apps

then reboot.

Please understand camera support is still being worked on and it could be that the camera app is showing a black frame from time to time. In order to check whether the camera support is broken at the kernel level or below in the libcamera-gstreamer-pipewire stack, please use following commands:

Before you start

Steps that might be necessary before you flash Mobian

Calls in Australia

?OnePlus 6 phones don't have an image that supports VoLTE on Australian carriers and 3G has been turned off in Australia. Here's documentation on making OnePlus phones work with VoLTE in Australia.

This can only be done from a Windows PC and only when the phone is running Android. It would be nice if someone figured out how to do this from a Linux PC or from a Mobian installation. But unless that happens anyone who wants to run Mobian on this device in Australia needs should get VoLTE working before installing Mobian.