1 1

How to install Radxa SATA HAT driver on armbian-RockPI 4A

Recommended Posts

I use Armbian_20.05.3_Rockpi-4a_buster_legacy_4.4.213


The armbian kernel version uses 4.4-213


Follow the radxa official installation script:

curl -sL https://rock.sh/get-rockpi-penta | sudo -E bash -



The output is as follows:


root@rockpi-4a:~# curl -sL https://rock.sh/get-rockpi-penta | sudo -E bash -
(Reading database ... 56045 files and directories currently installed.)
Preparing to unpack /tmp/tmp.pMsOHNj5fC ...
Removed /etc/systemd/system/multi-user.target.wants/rockpi-penta.service.
Unpacking rockpi-penta (0.10) over (0.10) ...
Setting up rockpi-penta (0.10) ...
Created symlink /etc/systemd/system/multi-user.target.wants/rockpi-penta.service → /lib/systemd/system/rockpi-penta.service.
running install
running bdist_egg
running egg_info
creating Adafruit_SSD1306.egg-info
writing Adafruit_SSD1306.egg-info/PKG-INFO
writing dependency_links to Adafruit_SSD1306.egg-info/dependency_links.txt
writing requirements to Adafruit_SSD1306.egg-info/requires.txt
writing top-level names to Adafruit_SSD1306.egg-info/top_level.txt
writing manifest file 'Adafruit_SSD1306.egg-info/SOURCES.txt'
reading manifest file 'Adafruit_SSD1306.egg-info/SOURCES.txt'
writing manifest file 'Adafruit_SSD1306.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-aarch64/egg
running install_lib
running build_py
creating build
creating build/lib
creating build/lib/Adafruit_SSD1306
copying Adafruit_SSD1306/__init__.py -> build/lib/Adafruit_SSD1306
copying Adafruit_SSD1306/SSD1306.py -> build/lib/Adafruit_SSD1306
creating build/bdist.linux-aarch64
creating build/bdist.linux-aarch64/egg
creating build/bdist.linux-aarch64/egg/Adafruit_SSD1306
copying build/lib/Adafruit_SSD1306/__init__.py -> build/bdist.linux-aarch64/egg/Adafruit_SSD1306
copying build/lib/Adafruit_SSD1306/SSD1306.py -> build/bdist.linux-aarch64/egg/Adafruit_SSD1306
byte-compiling build/bdist.linux-aarch64/egg/Adafruit_SSD1306/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-aarch64/egg/Adafruit_SSD1306/SSD1306.py to SSD1306.cpython-37.pyc
creating build/bdist.linux-aarch64/egg/EGG-INFO
copying Adafruit_SSD1306.egg-info/PKG-INFO -> build/bdist.linux-aarch64/egg/EGG-INFO
copying Adafruit_SSD1306.egg-info/SOURCES.txt -> build/bdist.linux-aarch64/egg/EGG-INFO
copying Adafruit_SSD1306.egg-info/dependency_links.txt -> build/bdist.linux-aarch64/egg/EGG-INFO
copying Adafruit_SSD1306.egg-info/requires.txt -> build/bdist.linux-aarch64/egg/EGG-INFO
copying Adafruit_SSD1306.egg-info/top_level.txt -> build/bdist.linux-aarch64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating dist
creating 'dist/Adafruit_SSD1306-1.6.2-py3.7.egg' and adding 'build/bdist.linux-aarch64/egg' to it
removing 'build/bdist.linux-aarch64/egg' (and everything under it)
Processing Adafruit_SSD1306-1.6.2-py3.7.egg
Removing /usr/local/lib/python3.7/dist-packages/Adafruit_SSD1306-1.6.2-py3.7.egg
Copying Adafruit_SSD1306-1.6.2-py3.7.egg to /usr/local/lib/python3.7/dist-packages
Adafruit-SSD1306 1.6.2 is already the active version in easy-install.pth

Installed /usr/local/lib/python3.7/dist-packages/Adafruit_SSD1306-1.6.2-py3.7.egg
Processing dependencies for Adafruit-SSD1306==1.6.2
Searching for Adafruit-GPIO==1.0.5
Best match: Adafruit-GPIO 1.0.5
Processing Adafruit_GPIO-1.0.5-py3.7.egg
Adafruit-GPIO 1.0.5 is already the active version in easy-install.pth

Using /usr/local/lib/python3.7/dist-packages/Adafruit_GPIO-1.0.5-py3.7.egg
Searching for spidev==3.5
Best match: spidev 3.5
Processing spidev-3.5-py3.7-linux-aarch64.egg
spidev 3.5 is already the active version in easy-install.pth

Using /usr/local/lib/python3.7/dist-packages/spidev-3.5-py3.7-linux-aarch64.egg
Searching for Adafruit-PureIO==1.1.5
Best match: Adafruit-PureIO 1.1.5
Processing Adafruit_PureIO-1.1.5-py3.7.egg
Adafruit-PureIO 1.1.5 is already the active version in easy-install.pth

Using /usr/local/lib/python3.7/dist-packages/Adafruit_PureIO-1.1.5-py3.7.egg
Finished processing dependencies for Adafruit-SSD1306==1.6.2

I don’t know where the problem is after execution, I still can’t drive it....


It feels like a failure caused by the kernel, it seems that it only supports linux-image-4.4.154-110-rockchip-gcef30e88a9f5 


I executed the command to install the kernel:

sudo apt-get install linux-4.4-latest

Something went wrong.



root@rockpi-4a:~# sudo apt-get install linux-4.4-latest
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-4.4-latest is already the newest version (4.4.154-110-rockchip).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
3 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
Setting up rockchip-fstab (0.1) ...
sed: -e expression #1, char 0: no previous regular expression
mount all partitions
mount: vfat: mount point does not exist.
mount: vfat: mount point does not exist.
mount: vfat: mount point does not exist.
mount: vfat: mount point does not exist.
mount: vfat: mount point does not exist.
dpkg: error processing package rockchip-fstab (--configure):
 installed rockchip-fstab package post-installation script subprocess returned error exit status 32
Setting up linux-image-4.4.154-110-rockchip-gcef30e88a9f5 (4.4.154-110-rockchip) ...
update-initramfs: Generating /boot/initrd.img-4.4.154-110-rockchip-gcef30e88a9f5
update-initramfs: Converting to u-boot format
Kernel configuration : earlyprintk console=ttyFIQ0,1500000n8 rw init=/sbin/init rootfstype=ext4 rootwait root=PARTUUID=B921B045-1DF0-41C3-AF44-4C6F280D3FAE

Creating new extlinux.conf...
cp: cannot stat '/usr/lib/linux-image-4.4.213-rockchip64': No such file or directory
run-parts: /etc/kernel/postinst.d/zz-update-extlinux exited with return code 1
dpkg: error processing package linux-image-4.4.154-110-rockchip-gcef30e88a9f5 (--configure):
 installed linux-image-4.4.154-110-rockchip-gcef30e88a9f5 package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent configuration of linux-4.4-latest:
 linux-4.4-latest depends on linux-image-4.4.154-110-rockchip-gcef30e88a9f5; however:
  Package linux-image-4.4.154-110-rockchip-gcef30e88a9f5 is not configured yet.

dpkg: error processing package linux-4.4-latest (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)

I just started contacting SBC System and hope I can get help here!!!!!!!!!!!!!!!!!

Share this post

Link to post
Share on other sites
2 hours ago, dpSky said:

and hope I can get help here!!!!!!!!!!!!!!!!!


General support terms:

Start here: https://forum.armbian.com/subscriptions/ or fix problems, hire and expert (buy him tools and time) and provide solution https://docs.armbian.com/Process_Contribute/ You have this hardware and presumable more time than we have.


This hat should just work OOB but the display and fan. Radxa software support  is done in a quick and dirty way and installer will not just work on Armbian. Anyway - IHMO the only interesting (sane) way is to bring this up on a modern 5.4.y  / 5.7.y kernel. Investing (100% our) money to support this add-on on Legacy 4.4 kernel is pointless / throwing something we don't have through the window. And if we choose to do anything ... there is a big big pile of requests, people forget to support with any resource.

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

1 1