Jump to content

Qualcomm RBx (qcom-rbx)

From postmarketOS Wiki


Qualcomm RBx
Manufacturer Qualcomm
Name RBx
Codename qcom-rbx
Model Various
Type generic
Hardware
Chipset Various
CPU Qualcomm
GPU Various
Architecture aarch64
Software
Original software
The software and version the device was shipped with.
Various Various
Extended version
The most recent supported version from the manufacturer.
Various
postmarketOS
Category testing
Pre-built images
Whether pre-built images are available here.
no
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
yes
Device package device-qcom-rbx
Kernel package linux-qcom-rbx
Features
Flashing
It is possible to flash the device with pmbootstrap flasher.


USB Networking
After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system).


Internal storage
eMMC, SD cards, UFS, ...


SD card
Also includes other external storage cards


Battery
Charging and battery level reporting works


Screen
Display works. Ideally with sleep mode and brightness control.


Touchscreen


Keyboard
Build in physical keyboard


Touchpad
Build in Touchpad


Multimedia
3D Acceleration


Audio
Audio playback, microphone, headset and buttons.


Camera


Connectivity
WiFi


Bluetooth


Ethernet


Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.


USB-A
Full-sized USB-A port works (Usually applicable to SBCs and laptops).


HDMI/DP
Video and audio output with HDMI or Display Port works.


Sensors
Accelerometer
Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile
Untested
Magnetometer
Sensor to measure magnetism
Untested
Ambient Light
Untested
Proximity
Untested
Hall Effect
Also known as flip cover sensor
Untested
Barometer
Sensor to measure air pressure
Untested
Power Sensor
Sensor to monitor current, voltage and power. Not fuel gauge!
Untested

The Qualcomm RBx generic ports is aimed at supporting various Qualcomm development boards, notably the RB3/5/3g2 and Rubik Pi 3. It can uses Linux next.

This is meant to be a reference platform for validating upstream support for the boards and enabling easy experimentation.


Contributors

Installation

Use pmbootstrap to build your own installation image.

The board must be prepared by installing U-Boot, prebuilt images can be found on the Linaro U-Boot fork release page alternatively you may build your own image by following the U-Boot documentation (see "generic boards" for the rb3).

After initialising pmbootstrap, run pmbootstrap install --password pmos to create an image. The image can be exported to a known location with pmbootstrap export and then flashed to the board using edl.py as follows:

First put the board into EDL mode by removing the power cable and holding the EDL button while reattaching power and USB. You can run dmesg -w in a terminal and wait for the USB device to appear.

Then run (after installing edl in a venv or with pipx)

./edl.py --loader /path/to/rescue/prog_firehose_ddr.elf wf --lun=0 /tmp/postmarketOS-export/qcom-rbx.img

The firehose loader ELF can be obtained from a Linaro rescue package:

Unpack the ZIP and use the elf inside.

Custom kernel

It is possible to use pmbootstrap's "envkernel" logic to use your own kernel instead of the standard one. This allows your to compile a kernel as you typically would, and then produce a kernel package from the build artifacts that will be included in your image (or can be installed to your board with pmbootstrap sideload).

The process is documented in Developing_with_postmarketOS#Mainline_kernel, just use linux-next as the name of the kernel package.