SBC-Testing/testing/details.md

4.7 KiB

Table of Contents:

Requirements for Testing

The kernel-mainline-sbc package being referenced is the currently being built/tested. Vendor U-boot has been used in most of the initial testing. Future tests will include testing with the same criteria in the tables below, but instead we'll use U-Boot provided by the uboot-tools for Rocky Linux. All USB ports should work during the uboot stage of the boot process as well as once uboot has handed off to the kernel all the way to the login prompt. Video output should function both during U-Boot and the login prompt. Finally, Wi-Fi, where applicable, should be functional. The "generic-altarch" image was used with an MBR partition table.

Initial Testing for Libre Boards

Tritrium H5 Le Potato AML-S905X-CC La Frite AML-S805X-AC Renegade ROC-RK3328-CC
Kernel SBC support Passed Passed Passed
Vendor U-Boot Yes Yes Yes Yes
Rocky U-Boot Not Tested Not Tested Not Tested
USB Passed Passed Passed Passed
Video Passed Passed Lost Video at kernel takeover Passed
Wi-Fi N/A N/A N/A N/A
Ethernet Passed Passed Blinking Green LED Passed

Initial Testing Summary

The table above shows the results for intial testing of kernel-mainline-sbc. Both the Libre Le Potato and Libre Renegade will need additional testing while the Tritrium H5 and the Le Potato are working great. The other board tested was the Orange Pi 5. It works great, however, we had to build a custom uboot package for it. (needs to be added to Rocky's uboot-tools package) #### Last Edited 01/02/2024

As of 3 Jan 2024, the usb issues on the Libre Renegade have been resolved. The Le Potato works fine as well.

Old Issues: RK3588[S] specific: There are two configuration options that are unrelated to the MMC subsystem which prevent the kernel in finding an MMC device. The kernel does boot, but that is not the "real" kernel which is on the disk, in /boot/vmlinuz-$(uname -r). It is the initramfs, and gets into the dracut emergency shell. Not good.

Configuration options in question:

CONFIG_ARM_RK3399_DMC_DEVFREQ
CONFIG_PHY_ROCKCHIP_INNO_USB2

With these options turned off, the kernel does boot into userspace (i.e. you can login via serial/ssh and use it as a normal system). But this means that the USB2.x (I hate the USB naming scheme and won't bother with it) ports on the Libre Renegade SBC (Libre Computer ROC-RK3328-CC) stop working. This is confirmed by Bryan (@codedude).

This means that some other option is interfering with the MMC subsystem. This is a bad sign. I (@thefossguy) am unsure how to proceed from here. At the moment, I have found NixOS to work with my manually built U-Boot (v2024.01) and I am diffing that config with the Fedora config (mainly looking at the configs for the clock, mmc, phy and other related subsystems) to see what might be the problem. I don't have any other OS (rather haven't tried any other OS on it, yet) for the config comparison.

Pivot config?

I (@thefossguy) am considering to revert from using the Fedora config and go back to the RHEL config. My reasons to consider this move are as following (but I am not going to do that unless the SIG approves it):

  1. Since we are a RHEL clone, it makes sense to use the RHEL config
  2. For "missing" features: 2A. Hardware features not enabled in the RHEL config will be enabled (and documented as a modification) 2B. Since we are a RHEL clone--and not a Fedora clone--I don't think that anyone will complain for missing features like btrfs, but those can be enabled if someone is willing to test+support feature X
  3. Since RedHat will not accept these config changes (makes sense, they don't support SBCs) we can have our own "list" of "here's what we have added on top" which can be "advertised" during download/in the readme and could be a differentiating factor over other clones (healthy competition?)