Quad SATA HAT Assembly and Troubleshooting

I did a clean install and previously I could have my hat running with…

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

…but now the documentation says…

sudo apt update
sudo apt install python3-dev
wget https://github.com/radxa/rockpi-quad/releases/download/0.3.0/rockpi-quad.deb
sudo apt install -y ./rockpi-quad.deb

…which didnt save any rockpi-sata.service file.

I have several mounting scripts that depend on the rockpi-sata.service file. Did something change in general or did I do something wrong and there should be a rockpi-sata.service file?

I did a clean OS install and reinstalled it like the documentation said but now with sudo wget https://... and I saw this message:

Created symlink /etc/systemd/system/multi-user.target.wants/rockpi-quad.service → /lib/systemd/system/rockpi-quad.service.

I’ll try with this service file and maybe it would be wise to change it in the documentation aswell :wink:

Some warnings I got though, were:

WARNING: The scripts pyserial-miniterm and pyserial-ports are installed in '/usr/local/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

…and…

N: Download is performed unsandboxed as root as file '/home/USERNAME/rockpi-quad.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)

Nevertheless I :heart: your product!

Be careful, now the conf file has to be /etc/rockpi-penta.conf but the new script create /etc/rockpi-quad.conf. You just have to rename the conf file name.

I am posting just in case anyone will benefit from the week of trial and error that I went through to set up the QUAD SATA HAT as a NAS.
I used 4 x 1.8TB SSDs and using a youtube video, successfully put the hardware together. Everything went well. So far all good.

The trouble started when I felt I needed to create a RAID5 and mount prior to installing OMV7, and went down the path of installing MDADM.

After MANY reboots, reinitialising the SD card, not seeing the mount, checking /etc/FSTAB and the /etc/mdadm/mdadm.conf file, and FAILING to mount the RAID 5 after a reboot, i just happened across a post which suggested doing everything in OMV7.

Which is what I did and it works perfectly now.

Below are my steps.


21.01.2025
13:40 Version


** USING OMV to set up the Shared Directory

Initialise the SD card, RaspberryPi 4 64 lite, include SSH

using SSH to connect to the SATA Hat via ethernet connection - the WIFI set up did not work via the RaspberryPi initialisation process

sudo apt-get update
sudo apt-get upgrade -y
sudo rm -f /etc/systemd/network/99-default.link

** install python
sudo apt install python3-dev

** install app for NAS
sudo wget https://github.com/radxa/rockpi-quad/releases/download/0.3.0/rockpi-quad.deb
sudo apt install -y ./rockpi-quad.deb

sudo reboot

** Should see the LCD display on the top of the Quad SATA HAT


Initialise the Drives


** Delete Partition if not blank
sudo fdisk /dev/sda
sudo fdisk /dev/sdb
sudo fdisk /dev/sdc
sudo fdisk /dev/sdd
** For each create new partition then w to confirm
** Once all done - Sudo reboot

**eg sudo /fdisk /dev/sda…
**d = delete partition
**w - write
**n = new partition
**w = write partition

sudo lsblk
** for each sda,b,c,d should see sda1, sdb1, sdc1, sdd1 (the new partitions)

******Installing OMV
sudo apt-get update
sudo apt-get upgrade -y
sudo rm -f /etc/systemd/network/99-default.link

sudo reboot

sudo wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash

** this takes 20 minutes - depending on network

sudo apt-get update
sudo apt-get upgrade -y

sudo reboot

** access via web portal using the OMV7 credentials: admin, openmediavaul (recommend changing later in case you need to restart the processt

** Use OMV7 to format the hard drives, format as EXT4.
** Install Mergerfs addon

** reference videos:
youtube.c_m/watch?v=69zcqEy1674
youtube.c_m/watch?v=_LLB6x5WOR4

Reboot via OMV7

Create a single drive using Mergerfs
Via OMV7 created a single driver via mergerfs, created a shared directory and shared it!

Follow the videos as a guide. I eventually got there after a few false starts.

What I really need to know now is how to restart the NAS without having to pull out the power cord or turn off / on from the power point!! Any hints?

1 Like

Just sharing here, in case someone is having issues with the quad-sata deb package on latest debian systems. I am running DietPi and I had problems when upgrading to Trixie, I basically had to port most of the scripts in the quad-sata radxa repo. Here is a fork with the portings for the latest DietPi version, maybe it is useful for someone else experiencing similar problems: https://github.com/matte86/rockpi-quad

1 Like

I’m not yet on trixie but thanks for sharing this, would be easier on next upgrade :smiley:

Hi Matteo

I’ve just bought this pi hat, and have no idea how to use your git repo.

Would you have a simple method for using it for newbies ?

Thanks a lot for your help :slight_smile:

Im running raspbian lite trixie, cli only via ssh.

For any other newbies, if you install Raspbian “Bookworm” from 13th May 2025, the original script works just fine.

Its just the latest version of Raspbian, Trixie, that will require Matteo’s git repo mods.

I got it up and working fine with Bookworm :slight_smile:

1 Like

Matteo; thanks for your work on porting the scripts.
I got this to work on an RPI 4 4gb w/ Debian Trixie.

To anyone else struggling, here is how I did it:
~~~~~~~~~

git clone https://github.com/matte86/rockpi-quad.git
cd rockpi-quad-0.4.0/rockpi-quad
chmod 0755 DEBIAN/postinst
chmod 0755 DEBIAN/prerm
dpkg-deb --build . rockpi-quad-custom.deb

Once it’s done building,

sudo dpkg -i rockpi-quad-custom.deb

After that, I rebooted, and then installed and used gnome-disk-utility to have them automount on startup by clicking on each disk, “Edit Mount Options” and undo “User Session Defaults”, instead checked the box for Mount at System Startup, Show in User Interface, and changed the “Identify as ”/dev/disk/by-label”

Seems to be working just fine now. Hopefully this helps someone else with my problem.