RK1 Ubuntu 22.04 and 24.04 Availability, Issues an...
# │forum
This topic has been discussed in other threads. Since I'm not directly involved in development or the interfaces between Turing Machines and Ubuntu development team, please offer appropriate corrections to my comments here. The original, final v1.33 source code release of Ubuntu 22.04 for the RK1 was the result of a collaboration between Turing Machines, Joshua Riek and his virtual team that are developing and maintaining the GitHub source repository for Ubuntu Linux on the Rockchip RK3588 and siblings. With availability of Ubuntu 22.04 for the RK1, the GitHub team has continued to move forward with patches to Ubuntu 22.04 (obtainable via apt) and has now made Ubuntu 24.04 LTS available. Rather than have two, separate source trees to maintain, during the process of producing the new version of Ubuntu, the decision was made to combine the source trees of both 22.04 and 24.04, while retaining the ability to produce appropriate artifacts for each Ubuntu version. The official GitHub source tree version for Ubuntu 22.04 and Ubuntu 24.04 is v2.1. The project is here: https://github.com/Joshua-Riek/ubuntu-rockchip. The v2.1.0-specific branch is here: https://github.com/Joshua-Riek/ubuntu-rockchip/tree/v2.1.0?tab=readme-ov-file. Artifacts (AKA .img.xz and .img.xz.sha256) specifically for the RK1 may be found here: https://joshua-riek.github.io/ubuntu-rockchip-download/boards/turing-rk1.html.
Installation tip: The instruction to use BalinaEtcher to install the Ubuntu .img file is technically correct, but does not consider the unique characteristics of the RK1, namely both eMMC and NVMe on-board, with the NVMe device having higher priority in u-boot's boot device priority. As an alternative to other BMC-assisted, mechanisms, BalinaEtcher may used to flash the RK1's eMMC device in an appropriate scenario. It is not advisable to use BalenaEtcher to flash both the eMMC and NVMe devices of the same RK1. The best practice is to use
sudo ubuntu-rockchip-install /dev/nvme0n1
. This script may be found under
in the RK1's Ubuntu root file system. The script will clone the contents of the two partitions on the eMMC device to two, identically sized partitions on the NVMe device. In addition, the script ensures that the UUIDs of partitions on the eMMC device and the NVMe device are different. Having the same UUIDs will result in the loader randomly mounting one partition from eMMC and the other partition from NVMe. It may not be immediately apparent why this is an issue. From a system software configuration perspective, you want the package database to be consistent across all file systems in the mount table. If the file systems being mounted come from randomly chosen devices, there is a high probability that, over time, the system package configuration database and the actual contents on storage will differ, and there won't be a way to resolve the issue short of image file reinstallation.
Patch: A typographical has been discovered in the v2.1.0
script. You may use apt to update the script or manually change to script as shown in the patch here: https://github.com/Joshua-Riek/ubuntu-rockchip-settings/commit/6a592fa46d1502d1a339aeb52a2d3ab840557383.