Dual/Quad sata on Ubuntu server 20.04

How to get the Dual/Quad sata hat working on Ubuntu?

Distributor ID: Ubuntu
Description: Ubuntu 20.04 LTS
Release: 20.04
Codename: focal

pigpio seems to be giving issue with the install and I cant find any docs on it on ubuntu

I am going to take a look at the installation script in ubuntu. I’ll let you know how it goes.

I have made some progress and the program can work in ubuntu 20.04 now.

I’ll write the installation script and test it later.

Thanks for you help. I look forward to trying the new script and getting my SATA hat up and running on my PI 4.

Hi, please trying the script: How to install Quad SATA HAT’s software on Ubuntu

Thanks got it installed but had to wipe the PI and start over.

I am having difficulty getting a fuse fs to work and the attached drives mount inconsistently. My fstab looks like

Data

UUID=disk_1_id /mnt/data xfs defaults,nofail,discard 0 0

Write

UUID=disk_2_id /mnt/write xfs defaults,nofail,discard 0 0

Combined Mount Point

unionfs-fuse#/mnt/data/=rw:/mnt/write/=rw /mnt/fused fuse cow,allow_other,use_ino,x-systemd.requires=rockpi-sata.sevice,x-systemd.requires-mounts-for=/mnt/data,x-systemd.requires-mounts-for=/mnt/write 0 0

SO without the fused drives, sometimes the drives mount correctly, other times they don’t.

Basically it seems I need to wait for the rockpi-sata.service to start before mounting the disks and fusing but not sure how to do this. Using systemd.requires just seems to cause it to hang on boot

I am having the same issue under raspbian OS.
How do i fix this?

I’m mounting my drives via systemd. Works like a charm.

Need to create a file: data.mount (where data is the mountpoint) and add some basic lines in it and make it depend on the succesfull start of the rock-pi service.
There’s a topic https://forum.radxa.com/t/this-is-the-issue-with-the-quad-sata-hat-and-raspbian/3644/18?u=pompopomabout it in this forum.

Finally got round to setting this up right with the following three systemd services

Union-fuse/unionfs/fuse with systemd

media-write.mount

[Unit]
Description=Mount Write   
DefaultDependencies=no
Conflicts=umount.target
After=rockpi-sata.service
Before=local-fs.target umount.target

[Mount]
What=/dev/disk/by-uuid/{{DISK_UUID}}
Where=/media/write
Type=xfs 
Options=defaults,nofail,noatime

[Install]
WantedBy=local-fs.target

media-data.mount

[Unit]
Description=Mount Data
DefaultDependencies=no
Conflicts=umount.target
After=rockpi-sata.service
Before=local-fs.target umount.target

[Mount]
What=/dev/disk/by-uuid/{{DISK_UUID}}
Where=/media/data
Type=xfs
Options=defaults,nofail,noatime

[Install]
WantedBy=local-fs.target

data-union-fuse.service

[Unit]
DefaultDependencies=no
After=rockpi-sata.service media-data.mount media-write.mount
 
[Service]
Type=forking
SyslogIdentifier=data-unionfs-fuse.service
ExecStart=/usr/bin/unionfs-fuse -o cow,allow_other -o uid=1001 -o gid=1001 /media/write/data=RO:/media/data/tv=RO /media/fuse
ExecStop=/bin/fusermount -u /media/fuse
Restart=on-abort
 
[Install]
WantedBy=local-fs.target
1 Like