Risc-V Mixer Part 1

· Recent Quackings

First part of my series on the PineTab-V Tablet.

Table of Contents

1#  ____  _            __     __  __  __ _
2# |  _ \(_)___  ___   \ \   / / |  \/  (_)_  _____ _ __
3# | |_) | / __|/ __|___\ \ / /  | |\/| | \ \/ / _ \ '__|
4# |  _ <| \__ \ (_|_____\ V /   | |  | | |>  <  __/ |
5# |_| \_\_|___/\___|     \_/    |_|  |_|_/_/\_\___|_|

2025-10-1: Setting up Risc-V Tablet #

The PineTab-V is a reasonably priced tablet capable of running Linux distributions that support the Risc-V Architecture. Both the item page for the web store and the item page for the wiki include a disclaimer which states "Only purchase the PineTab-V if you plan on using it for operating system development." Admittedly, the phrase "OS development" caught me off guard, because I was unaccustomed to it being referred to as that. I had been referring to this effort simply as "getting the damn thing running."

Beginning Experiences #

Truth be told, it arrived more ready for use than I expected, although the case with builtin keyboard appeared rather flimsy and cheaply produced. It booted right into a custom built distro of Debian created by the manufacturer of the CSP. It had basic functionality, and a thought through desktop environment, but it's userland was pinned three years behind as far as releases go. It kernel and hw-drivers were distributed by the manufacturer, who apparently manages their own repository for hardware based packages. This repository was not pinned at the same release date as the userland packages, but was a rolling release and current. This was a first seeing something of like this configuration.

As one would expect, userland packages were mostly deprecated and out of date. This made it difficult to perform any build operations, or do something as simple as install a browser extension for firefox. So, it became evident our first task would be to upgrade the OS packages to more recent versions, and to do this we would have to perform an upgrade from the currently pinned userland distrobution, to the current release version of debian.

Upgrading the Preinstalled Debian System #

It was always a tossup as to which OS would be installed on the tablet. Regardless of being a long time patreon of OpenBSD, past experiences with laptops and OpenBSD prevented me from selecting the option, and quickly it was learned our preferred Linux distribution was not prepared to support the Risc-V architecture quite yet. So, the easiest and chosen choice was to simply keep debian installed and upgrade it to the new current release.

Although, in the past I have managed to get by with just bullheadly running the upgrade, caution was taken in the event things went pear shaped, and the result was a bricked device. For this the debian release guide was used.

References on Debian Versioning and Releases #

Backing up important configuration files. #

A 256GB microsd card was previously purchased, arrived with an exfat file system, and installed onto the tablet, for the following operation this would benefit us by providing a location for us to backup important directories and configuration files on. The directories copied would be:

1/etc
2/var/lib/dpkg
3/var/lib/apt/extended_states
4# And the following command was ran:
5dpkg --get-selections '*' >> dpkg_selections.txt

Normally copying either symbolic or hard links is considered undesirable, unconsequential, and/or both. For the following operation, we will be required to do both. There are four ways to accomplish this.

  1. Use Gnu cp's -a flag to copy everything. ex. cp -a $SRC $DST
  2. Use Gnu cp's -l or --preserve=links flag to copy symbolic and hard links. ex. cp -r -l $SRC $DST
  3. Use pax to generate an archive with the exact same structure. ex. mkdir $DST; pax -rw $SRC $DST
  4. Create an archiving pipe. ex. (cd src;tar cf - .) | (mkdir dst;cd dst;tar xf -)

All credit goes to Alan Curry for these suggestions. unix.stackexchange link

Modifying the sources list to upgrade the release #

The list of repositories hosted by Debian can be found on the Sources List wiki page.. The currently pinned release was too far deprecated to recognize the new "deb822" format, for this reason, the familiar "sources.list" format was used. The target release chosen was "sid" as it is basically a rolling release for the Debian Operating System. It also provides the most recent software versions and fixes. Nano was used as the test editor for this operation, and the repository for "debian-security" was skipped due to an error in observation. So, the new /etc/apt/sources.list looked something like below.

1deb https://deb.debian.org/debian bookworm main non-free-firmware

Create a transcript #

I personally reccommend doing this for all major upgrades, as it will always save you some trouble in the event something goes wrong, and you have to fix it. You can do this with the script command, in which the flag -a informs the command to append the transcript to an output file. Not sure what the flag -t does, as it is not a part of OpenBSD's script command paramters.

1script -t 2>~/upgrade2sid_riscv.time -a ~/upgrade2sid_riscv.script

You can then go back and replay this transcript with scriptreplate ~/upgrade2sid_riscv.time ~/upgrade2sid_riscv.script.

Running the upgrade #

Prior to running the upgrade, running apt update would end with a message referring to "Repository is not signed... InRelease...". Which means that the GPG key for the repository is missing, is invalid, or the repository was not configured properly. Since the repository was the deprecated pinned release, this is to be expected, but will require an additional flag to mitigate. So, for the initial fetching of package updates, be sure to use the --allow-insecure-repositories. Once the list of package updates has been fetched this is no longer required.

1sudo su
2apt update --allow-insecure-repositories

Then rather than performing a full distrobution upgrade, a partial upgrade was chosen to prevent conflicts with potentially unsupported new software.

1apt upgrade --without-new-pkgs

It was during this command when apt asked for input regarding the configuration file for Uboot. The difference between the two files were significant, and the standards of the board's manufacturer would be the highest priority. So, the decision to keep the manufacturers settings was chosen.

Result #

The command sudo apt full-upgrade was run with an additional 1 gigabyte required for newly installed packages. These packages were reviewed, and appeared to all be tied to the Gnome Desktop Environment, which meant they were not system critical. So, it was decided to forgo their installation at the moment, and perform a reboot to test out if there were any issues with what had been installed so far.

When the system rebooted, systemd started up as usual and began to load the system. There were no visible errors until X started up, and then an error screen appeared that stated the system had encountered an error it could not repair. Which is where we currently stand.

What was recovered from the local terminal is logged here..

Part 2

Extracurricular References #

Below are some references that in the end were not really needed.

last updated:

Home