CIFS module not in Ubuntu Server kernel


I’ve installed and configured the Ubuntu Server distro on my Rock Pi4. The only thing that’s missing is the CIFS filesystem module.

Is there a technical reason why it’s not included in the build? I don’t want to go down the rabbit hole building a new kernel if it won’t work anyway.

Thanks in advance for any insight!

The installed system is quite minimal, have you tried to install it yet?

sudo apt update
sudo apt upgrade
sudo apt install cifs-utils

Yes. I’ve executed unminimize and installed cifs-utils.

I am not sure which kernel you are running. We should have cifs as modules for recent kernels. You can update the kernel first.

sudo apt-get install linux-base
sudo apt-get install linux-4.4-lastest

I’ve been using the kernel release since 2/28. I finally gave up and built a custom kernel from that version’s source, including CIFS in the config. That was time consuming.

I see that has been released and it still doesn’t include CIFS. It would be great if that could be included in future. Since the boot partition is only 100meg, it is a pain to manage any updates that affect it.

Thanks for your time Jack.

We will fix these two issues as soon as possible.

Thanks again Jack! I really appreciate your responsiveness.

By the way, once I had it set up the way I want, this little box is a screamer.

While you’re looking into it, the root filesystem should also be mounted with noatime as a standard parameter in any distro that will likely be installed on EMMC or SD media, IMHO. It makes a big performance improvement.

Thanks for the noatime parameter, we will add it for the next release.


The kernel, including cifs, is updated.

For testing, Here we use system image, rockpi4_debian_stretch_lxde_armhf_20181105_2120-gpt.img.

And I do the steps shown in, which includes updating packages like rockchip-fstab, rockchip-overlay, u-boot, kernel an so on.

Test 1, ROCK Pi 4 as Server, Ubuntu 16.04 PC as Client

  • ROCK Pi 4 Server
sudo apt-get install cifs-utils
sudo apt-get install samba

Add the contents at the end of file, /etc/samba/smb.conf

comment = Home Public Folder
browseable = yes
path = /home/linaro/share
create mask = 0777
guest ok = yes
read only = no
  • Ubuntu 16.04 PC Client
mkdir /data/rockpi4
sudo mount -t cifs // /data/rockpi4 -o guest

ls /data/rockpi4

In directory /data/rockpi4, we can see files shared by ROCK Pi 4.

Test 2, Ubuntu 16.0 PC as Server, ROCK Pi 4 as Client

  • Ubuntu 16.0 PC Server
sudo apt-get install samba

Add the contents at the end of file, /etc/samba/smb.conf

comment = Home Public Folder
browseable = yes
path = /data/sandara_share
create mask = 0777
guest ok = yes
read only = no
  • ROCK Pi 4 Client
cd /home/linaro
mkdir sandara
sudo mount -t cifs // /home/linaro/sandara -o guest

In directory /home/linaro/sandara, we can see files shared by Ubuntu 16.04 PC.

1 Like

Maybe this can be put on the wiki, add a samba page :slight_smile:

1 Like

Works great, thanks for jumping on this so quickly!

Wiki page using Samba on ROCK Pi 4.


See below the output from uname -a
Linux thing3 4.4.154-59-rockchip-g5e70f14 #4 SMP Fri Dec 14 20:55:41 CST 2018 aarch64 aarch64 aarch64 GNU/Linux

It appears that the CIFS module is not in this build either. find /lib/modules/ -name cifs.ko does not return any output.

find /lib/modules/ -name cifs.ko

CONFIG_CIFS is not set

sudo modprobe cifs
modprobe: FATAL: Module cifs not found in directory /lib/modules/4.4.154-59-rockchip-g5e70f14

What was the fix from above, did everyone just manually compile?

4.4.154-59-rockchip-g5e70f14 is too old, you need to update the kernel first. Or you can just use the newer image with newer kernel pre-installed.