Fedora on the ASUS Tinkerboard (rk3288 arm32 sbc)

Hello, I’ve been trying to boot Fedora Workstation on my ASUS Tinkerboard but have been thus unsuccessful.

Steps I’ve done:

  • download the fedora 34 workstation for arm32 image
  • create a new board entry for tinkerboard (there is already an entry, but I needed a link to the RockChipv7 uboot)
  • flash to an mSD card with arm-image-installer.

Using all this, I can’t seem to get anything to come up. And I’m not getting any serial output either. I am at a loss for next steps for checking what may be happening.

1 Like

Unless you are willing to compile your own kernel you might be out of luck since the Tinker seems to need CONFIG_MMC_BLOCK, CONFIG_PL330_DMA and CONFIG_ROCKCHIP_IODOMAIN to be compiled into the kernel to boot.

It is not a problem to setup rpmbuild and crosscompile the kernel for the tinker once you have a working system, but setting up the initial image for the first boot takes quite some effort with a few different approaches that work, but are not exactly “entry level”.

I have a Tinker running fedora basically from the start and it is running quite well using Xfce.

1 Like

Would you happen to have an explanation of what each of those is for?

Are you running f34 by chance? Or have you tried at all with rawhide?

For information on kernel configuration options cateee.net would be a good start. For instance " CONFIG_MMC_BLOCK" gives the following info:

## MMC block device driver found in `drivers/mmc/core/Kconfig`

The configuration item CONFIG_MMC_BLOCK:

* prompt: MMC block device driver
* type: tristate
* depends on: `CONFIG_BLOCK`
* defined in [drivers/mmc/core/Kconfig](https://github.com/torvalds/linux/tree/master/drivers/mmc/core/Kconfig)
* found in Linux kernels: 4.10–4.20, 5.0–5.12, 5.13-rc+HEAD
* modules built: `mmc_block` , `mmc_block` , `mmc_block`

In short, the device drivers for the MMC card-reader, the PL330 DMA-controller and the configuration for the ROCKCHIP_IODOMAIN are needed early in the boot process. U-boot is able to read the mmc card-reader and get the initrd, but the kernel fails to bring up the card-reader and the root-device is not found for mounting. For whatever reason forcing the modules into the initrd via dracut doesn’t seem to work.
I started using fedora on the tinker with custom kernels at 4.15 and switched to rpmbuild starting with the 5.10 kernel. Figuring out what exactly is the culprit would require more time and effort than I am willing to spend ATM.

uname -r

No, I didn’t try rawhide since the kernel config is not changed in minor versions (?).