[Project] Make your own FydeOS Board with Radxa CM5 and CM4-Nano

CM5 with CM4-Nano Board and FydeOS Setup Guide

Components and Costs ~ £104 - £128.

  1. Radxa CM5
  2. CM4-Nano Board
  3. WiFi 5 + BT USB Dongle
  4. SanDisk MicroSD Card
  5. USB Hub
  6. CM5 Cooling Heatsink

Setup Process

Boot Configuration

  1. Maskrom Button Handling:

    • The CM4-Nano boot switch must be ON for maskrom mode.
    • If connecting it to a computer it shuts it down connect the type c cable before turning on the laptop.
    • The boot switch must be OFF to allow the board to boot into its flashed operating system.

  2. Flashing Images:

    • Use rkdevtools on Windows.
    • If connecting the type-C cable shuts down your laptop, restart it while keeping the cable connected to enter maskrom mode without pressing the small button.

Image Preparation

  • Decompress Images: Use WinRAR to decompress .img.xz files to .img, not the Windows ‘Extract All’ option.

  • Tick ‘Write by Address’

Rockchip Boot Loader SPL File

Compatible Operating Systems

  1. Radxa Debian Bookworm: Download
  2. FydeOS v18 for RK3588S (Via MicroSD): Download
  3. Ubuntu CM5 IO: (Coming soon)
  4. Arch Linux Installer: (Coming soon)
  5. Chromium 96 - Ozone OS: Beta version

Notes on Image Compatibility

  • All RK3588S Images work on Radxa CM5 via MicroSD on CM4-Nano but not from EMMC.

WiFi and Bluetooth Setup

  • Use Linux-compatible WiFi 5 BT dongles.
  • Multiport USB dongles are the solution for connecting a mouse, keyboard, and WiFi.
  • The type-C port only supports charging, not adding extras.

Temperature Management

  1. Without Heatsink:

    • Temperatures easily exceed 70°C.
  2. With Metal Heatsink:

    • Temperatures around 64°C, can reach 70°C under load, and 84°C under heavy work.
    • Correctly applied pads keep temperatures below 70°C under heavy work.

  3. With Heatsink and Fan:

    • Not yet tested.

Issues and Solutions

  1. Booting from EMMC:

    • FydeOS boots from the Orange Pi 5 NVME Image on MicroSD but not from EMMC.
  2. Finding Suitable Metal Case:

    • Suitable cases are hard to find and might be expensive.

Additional Resources

Summary

The Radxa CM5 combined with the CM4-Nano Board and FydeOS provides an excellent platform for creating a powerful, compact, and versatile computing device. By following the setup guide and using compatible components, you can achieve a highly functional system suitable for cloud gaming and other demanding applications.


Play xDefiant on Geforce now with it like a Boss!

2 Likes

Nanopi r6c may be the model for better out-of-box experience. Hope someone to port it!

Have u tried all the current fydeos images for rk3588 available to see which one boots? Theres chances that one might.

I will try next week.

1 Like

Let me know how it goes… that could be interesting knowing that board is probably the cheapest of them all vendors…

Currently on vacation.Will try at Thursday.
Due to the network in mainland China, the board is meant to build openwrt router :joy:

1 Like

Try openfyde v120 for Orange Pi 5 for nvme.
BOOT from tf card, It was stuck at kernel logo.
Some uart debug info


      fffffffffffff
    ff:::::::::::::ff                               ddddddd
   f::::::ffffff::ff                                d:::::d                                 OOOOOOOOO               SSSSSSSSSSSSS
  f::::::f      ff                                  d:::::d                             OO::::::::::::OO          SS:::::::::::::SSS
  f:::::f                                           d:::::d                           OO::::OOOOOOOOO::::OO      S:::::SSSSSSSS:::::SS
  f:::::f                                           d:::::d                         O:::::O           O:::::O   S:::::S        SSSSSSS
ff::::::ffffffff  yyyyyyy           yyyyyyy  dddddd d:::::d     eeeeeeeeee        O:::::O               O:::::O S::::S
f:::::::::::::::f  y:::::y         y:::::yddd::::::d::::::d  eee::eeeeeee::eee   O:::::O                 O:::::OS:::::S
ff:::::::fffffffff  yyyyyyy       y:::::yd:::::ddddd::::::d e::::e       e::::e O:::::O                   O:::::OS:::::SSSSS
  f:::::f                        y:::::yd::::d      d:::::de:::e          e:::eO:::::O                     O:::::OSSS:::::::SSSSS
  f:::::f             y:::::y   y:::::yd::::d       d:::::de::::eeeeeeeeee::::eO:::::O                     O:::::O   SSS:::::::::SS
  f:::::f              y:::::y y:::::yd::::d        d:::::de:::::::::::::::::e O:::::O                     O:::::O      SSSSSSS:::::S
  f:::::f               y:::::y:::::y d::::d        d:::::de::::eeeeeeeeeeeee   O:::::O                   O:::::O              S:::::S
  f:::::f                y:::::::::y  d:::::d       d:::::de:::e                 O:::::O                 O:::::O                S:::::S
  f:::::f                 y:::::::y    dd::::d      d:::::de::::e         eeeee   O:::::O               O:::::O SSSSSSS         S:::::S
  f:::::f                  y:::::y       d::::dddddd::::::d e::::e       e:::e      O:::::O           O:::::O   S::::::S       S::::::S
  f:::::f                 y:::::y         ddd::::::d::::::d  eee::eeeeeee:eee         OO::::OOOOOOOOO::::OO      S::::::SSSSSSS:::::SS
  fffffff                y:::::y             dddddd ddddddd     eeeeeeeeee              OO::::::::::::OO          SSS:::::::::::::SSS
                        y:::::y                                                             OOOOOOOOO                SSSSSSSSSSSSS
                       y:::::y
                      y:::::y
                       y:::y
                        yyy

v18 Prosperous Aftermath
_______________________________________________________________________________________________________________________________________


Welcome to the FydeOS console, we hope you know what you are doing!

> To get help, visit: https://fydeos.io/help

> To return to the browser, press:

 __________     _________     _____________
|\        /|   |\       /|   |\           /|
| +------+ |   | +-----+ |   | +---------+ |
| | Ctrl | | + | | Alt | | + | | <--(F1) | |
| +------+ |   | +-----+ |   | +---------+ |
|/________\|   |/_______\|   |/___________\|

localhost login: [    9.307755] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[    9.443824] rk-pcie fe190000.pcie: PCIe Link Fail, LTSSM is 0x3, hw_retries=1
[    9.495370] EXT4-fs (mmcblk1p1): resizing filesystem from 1048576 to 13991680 blocks
[    9.555598] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[    9.763641] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[    9.995636] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   10.203687] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   10.288280] EXT4-fs (mmcblk1p1): resized filesystem to 13991680
[   10.451546] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   10.475566] rk-pcie fe190000.pcie: failed to initialize host
[   10.651524] NET: Registered protocol family 10
[   10.659534] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   10.681767] Segment Routing with IPv6
[   10.891574] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   11.099646] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   11.347644] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   11.555752] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   11.787743] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   11.995789] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   12.231470] mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz, actual 400000HZ div = 0)
[   12.243673] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   12.451740] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   12.683716] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   12.891714] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   13.139738] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   13.347636] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   13.579743] rk3x-i2c fec80000.i2c: timeout, ipd: 0x00, state: 3
[   13.621380] mmc1: card never left busy state
[   13.621451] mmc1: tried to HW reset card, got error -110
[   13.621477] mmcblk1: pre recovery failed!

same for edge2 and rock5b

what abouts the emmc? any luck? if no luck only fyde could fix it…

edge2/rock5b/orange pi 5 cannot be recognized with RKDevTool, cause they used their custom image package format.

The fydetab duo image can be flashed, but cannot work still.
Stop at here in uart output.


[   22.043996]   #1: rockchip-dmic
[   22.049878] EXT4-fs (mmcblk0p3): mounting ext2 file system using the ext4 subsystem
[   22.051780] EXT4-fs (mmcblk0p3): mounted filesystem without journal. Opts: (null)
[   22.051820] VFS: Mounted root (ext2 filesystem) readonly on device 179:3.
[   22.052964] devtmpfs: mounted
[   22.054605] Freeing unused kernel memory: 1536K
[   22.064124] Run /sbin/init as init process
[   22.075298] mmc_host mmc1: Bus speed (slot 0) = 200000Hz (slot req 200000Hz, actual 200000HZ div = 0)
[   22.115238] dwmmc_rockchip fe2c0000.mmc: failed to set rate 100000Hz
[   22.115314] mmc_host mmc1: Bus speed (slot 0) = 200000Hz (slot req 100000Hz, actual 100000HZ div = 1)
[   22.118163] audit: type=1404 audit(22.113:2): enforcing=1 old_enforcing=0 auid=4294967295 ses=4294967295 enabled=1 old-enabled=1 lsm=selinux res=1
[   22.128139] dwmmc_rockchip fe2c0000.mmc: failed to set rate 100000Hz
[   22.132268] dwmmc_rockchip fe2c0000.mmc: failed to set rate 100000Hz
[   22.135973] SELinux:  Class infiniband_pkey not defined in policy.
[   22.135992] SELinux:  Class infiniband_endport not defined in policy.
[   22.136003] SELinux:  Class xdp_socket not defined in policy.
[   22.136011] SELinux:  Class perf_event not defined in policy.
[   22.136019] SELinux:  Class anon_inode not defined in policy.
[   22.136027] SELinux: the above unknown classes and permissions will be allowed
[   22.143027] SELinux:  policy capability network_peer_controls=0
[   22.143043] SELinux:  policy capability open_perms=0
[   22.143049] SELinux:  policy capability extended_socket_class=0
[   22.143057] SELinux:  policy capability always_check_network=0
[   22.143063] SELinux:  policy capability cgroup_seclabel=0
[   22.143070] SELinux:  policy capability nnp_nosuid_transition=1
[   22.143076] SELinux:  policy capability genfs_seclabel_symlinks=0
[   22.143082] SELinux:  policy capability ioctl_skip_cloexec=0
[   22.199248] audit: type=1403 audit(22.190:3): auid=4294967295 ses=4294967295 lsm=selinux res=1
[   22.355525] SELinux:  Context u:object_r:storage_file:s0 is not valid (left unmapped).
[   22.363993] audit: type=1400 audit(22.356:4): avc:  granted  { execute } for  pid=233 comm="sh" name="crash_reporter" dev="mmcblk0p3" ino=2189 scontext=u:r:cros_init_scripts:s0 tcontext=u:object_r:cros_crash_reporter_exec:s0 tclass=file
[   22.550813] LoadPin: mmcblk0p3 (179:3): writable
[   22.550842] LoadPin: enforcement can be disabled.
[   22.550858] LoadPin: kernel-module pinned obj="/lib/modules/5.10.198/kernel/lib/lz4/lz4_decompress.ko" pid=246 cmdline="/sbin/modprobe -q -- fs-squashfs"
[   22.560728] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[   22.625267] input: Lid Switch as /devices/platform/hall-mh248/input/input8
[   22.625557] mh248-fyde hall-mh248: hall_mh248-fyde_probe success.
[   22.649280] guq srxb[3] = 255 srxb[2] = 255
[   22.669475] guq srxb[3] = 255 srxb[2] = 255
[   22.692685] guq srxb[3] = 255 srxb[2] = 255
[   22.715947] guq srxb[3] = 255 srxb[2] = 255
[   22.775374] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: commit=600,discard
[   22.784883] EXT4-fs (mmcblk0p8): mounted filesystem with ordered data mode. Opts:
[   22.817527] EXT4-fs (mmcblk0p1): re-mounted. Opts:
[   22.978816] EXT4-fs (loop1): mounted filesystem with ordered data mode. Opts: (null)
[   22.997147] tpm tpm0: A TPM error (256) occurred attempting the self test
[   22.997168] tpm tpm0: starting up the TPM manually
[   23.040560] rk3x-i2c feac0000.i2c: timeout, ipd: 0x90, state: 3
[   23.040628] rk3x-i2c feac0000.i2c: SCL hold by slave, check your device.
[   23.076264] frecon[592]: Frecon using drm driver rockchip, version 3.0, date(20140818), desc(RockChip Soc DRM)
[   23.229509] rockchip-vop2 fdd90000.vop: [drm:vop2_crtc_atomic_enable] Update mode to 1600x2560p60, type: 16(if:20, flag:0x0) fD 

I will use fydetabduo openfyde repo to replace dtb with nanopi r6c to check if it is going to be working. :dizzy_face:

You are doing it wrong mate. U dont flash images on the firmware upgrade tab.

Tick ‘Write by address’ and images needs to be extracted into .img not img.xz

Firmware upgrade is for Android installs and other shits.

So place the universal bootloader on top. Your.img on the second option select emmc write by address and flash.

Ohhhhhh! This is my fault.
Test with rock5b/orange 5, still cannot boot.



Work with edge 2 image (fydeos_com v120 edge2), but usb not work.

It cannot recognize my Logitech USB keyboard.
The orange pi 5 is OK with this USB receiver.

I will try to make USB work

U mean bluetooth or usb? by the way u have wifi on that thing or only ethernet ports?

This probably wont work and to work it needed to be on crosh not penguin:
Ctrl+alt+t > shell > sudo -i

echo host>/sys/kernel/debug/usb/fc000000.usb/mode

By the way that rkdevtools is not updated the latest is 2.96 (not too important since u got it flashed).
Here: https://dl.radxa.com/tools/windows/RKDevTool_Release_v2.96-20221121.rar

sudo bash -c 'echo host>/sys/kernel/debug/usb/fc000000.usb/mode'

this worked.

by the way u have wifi on that thing or only ethernet ports?

This board has two ethernet ports, but none of them works.

Bluetooth works sometimes, and the USB wifi did not work.
I use this kind of usb hub, with 3 extra usb and one Ethernet ports

By the way that rkdevtools is not updated the latest is 2.96 (not too important since u got it flashed).

I tried rkdevtools v2.92, but failed to flash it.

And the results:

Hurray! I’m happy to see there’s light at the end of the tunnel.
Wanna see my funyard joke of a usb wifi pen drivers ?

Because… random systems either fyde armbian ubuntu and whoever makes them… works with different wifi usb modules so… its a joke… and an hit and miss game.

That wifi 5 I mentioned up the first post works pretty well idk if u have the same.
It should fix your issues.


Here @alpha if you ever want to add another board to the blender.
[Project] Make your own FydeOS Board with Radxa CM5 and CM4-Nano - #17 by logan thats the recipe and basically Nanopi R6C is the cheapest RK3588 on the market. Kiddos wanna have fun this is the wey… xD


And @logan RKDevTools 2.96 has to work make sure u load the emmc loader file and select emmc on the flashing and not SPINOR thats probably why it didnt worked.

Im actually surprised that touch screen works there for you happy days !

1 Like

Wanna see my funyard joke of a usb wifi pen drivers ?

Nice tool, so compact!

That wifi 5 I mentioned up the first post works pretty well idk if u have the same.

The usb wifi module for test works fine in Orange pi 5 with openFyde V18.

RKDevTools 2.96 has to work make sure u load the emmc loader file and select emmc on the flashing and not SPINOR thats probably why it didnt worked.

Still Failed to flash it in V2.96, it crashed after start flash img into emmc.

Very wierd. But… what matters is that u got it working.
Update: I assume u installed the rkdevtools driver…?

Installed. May be i should be update the driver. I will try later
By the way, I used this version of rkdevtools from friendly wiki nano r6c

1 Like