Official Debian support!
Here's where you should report the problem:

It's probably worth testing and reporting whether using a microsd card vs. emmc makes any difference. Some people have found that one works where the other fails on this device.
I was finally able to install (current) Debian bookworm on my RockPro64 !

The big missing part for me was that (a recent) uboot needed to be installed in SPI memory,
which makes subsequent Debian installations much easier since the Debian Installer doesn't install uboot by itself.
I documented the installation procedure here:

Hope it works for everyone else here !
(08-16-2023, 01:32 AM)varac Wrote: The big missing part for me was that (a recent) uboot needed to be installed in SPI memory,

Debian's u-boot-rockchip package now supports the RockPro64 v2, too.

With that, I was able to create a fresh bootable microsd card by populating a GPT partition with the kernel, initrd, dtbs, and extlinux files, and running u-boot-install-rockchip /dev/devicename .

Note that the partition must not start before the 16MiB mark, because the space before that is where the bootloader files are written. I think it requires the bootable flag to be set, too.

It's also helpful to put a script in /etc/kernel/postinst.d and /etc/kernel/postrm.d to automate copying the new .dtb file to the boot partition whenever a new kernel is installed.

# This script installs RockPro64 devicetree files into /boot when new kernels
# are installed. It should be copied into /etc/kernel/{postinst.d,postrm.d}/
# and named with a "zz-" prefix (e.g. zz-rockpro64-dtbs).

set -e
exec </dev/null >&2  # Don't use stdin or stdout

pkgname=${DPKG_MAINTSCRIPT_PACKAGE:-kernel package}
if [ -z "$version" ]; then
    echo "W: $pkgname did not pass a version number; exiting."
    exit 0

eval set -- "$DEB_MAINT_PARAMS"


if [ "$action" = configure ]; then

    if ! [ -f "$srcdir/$fname" ]; then
        echo "W: $pkgname did not provide $srcdir/$fname; exiting."
        exit 0

    echo "I: installing $destsubdir/$fname"
    mkdir -p "$destsubdir"
    cp "$srcdir/$fname" "$destsubdir/$fname"

    if [ -L /boot/dtbs ] && [ "$(readlink /boot/dtbs)" != "$dirname" ]; then
        #echo "I: moving /boot/dtbs symlink to /boot/dtbs.old"
        rm -f /boot/dtbs.old
        mv /boot/dtbs /boot/dtbs.old
    if ! [ -L /boot/dtbs ]; then
        #echo "I: creating /boot/dtbs symlink"
        ln -s "$dirname" /boot/dtbs

if [ "$action" = remove ]; then

    if [ -L /boot/dtbs ] && [ "$(readlink /boot/dtbs)" = "$dirname" ]; then
        #echo "I: removing /boot/dtbs symlink"
        rm /boot/dtbs

        if [ -L /boot/dtbs.old ]; then
            #echo "I: moving /boot/dtbs.old symlink to /boot/dtbs"
            mv /boot/dtbs.old /boot/dtbs
        #todo: look for candidates to become .old, so removing two new kernels
        #      in a row won't leave the system without a dtbs symlink

    if [ -f "$destsubdir/$fname" ]; then
        echo "I: removing $destsubdir/$fname"
        rm "$destsubdir/$fname"
        rmdir "$destsubdir" || true
        rmdir "/boot/$dirname" || true
I was trying this out today and it seems to work well.

One question: how can I change the resolution? I am guessing that has to be done at boot but I can't find anything in /boot to configure.

Possibly Related Threads…
Thread Author Replies Views Last Post
  official support for aarch64 in OpenArena Opvolger 0 1,560 03-24-2022, 02:23 PM
Last Post: Opvolger
  Fedora 32 Release, improved support for Rock(Pro)64 Tharadash 2 5,872 05-05-2020, 08:37 AM
Last Post: zer0sig
  Kickstarter: Allwinner VPU support in the official Linux kernel xalius 8 14,825 10-03-2019, 03:03 AM
Last Post: bunkerWHz
Exclamation First images with DRM and Mali support for A64 Luke 74 119,326 04-27-2018, 10:22 PM
Last Post: Max11

Forum Jump:

Users browsing this thread: 4 Guest(s)