I have recently bought a new NAS. I have chosen a ZyXEL NAS542. One of the reasons for choosing this NAS is the fact it is possible to install OpenMediaVault on it. Seeing it is possible to run my own Linux installation on the thing, therefore, not being limited to the firmware ZyXEL offers, and being able to get updates after they stop supporting the thing. That possibility was enough to take the risk.
Well… looking at the stock firmware, I am disappointed. So, I am going for OpenMediaVault anyways. So… why am I disappointed in the stock firmware? Well… they say they support NFS. It turned out NFS support is an “app”. It ain’t core functionality. So far so good, but, it it turned out, what they put on the NFS share is a separate directory, not to be seen by any other part of the NAS software, not the in-browser file browser, nothing. This could of course be fixed by logging into a shell account and creating some symlinks, however, I don’t trust their scripts and something might wipe all the data if I do so.
What I would like is to be able to share my shares over any protocol I choose. This is not offered, therefore, for my use-case, where most of my clients will access the NAS over NFS, but the occasional client may talk SMB, to see the same. As this is not offered, I am going to take a look at OpenMediaVault.
When I made the decision to purchase this NAS, I noted there are OpenMediaVault images for this NAS. I didn’t take a closer look at that time. Maybe I should have, as the latest image is from 2018. Kinda old, huh. Furthermore, the SoC used in this NAS is an NXP LS1024A. This SoC has no mainline kernel support. I am kinda suck with a 3.2 kernel. That sounds ancient. I should have done better research prior to buying this ting. Oh well… it seems 5.x support is being worked on, but that is for later. For now, I’ll go with the image from https://seafile.servator.de/nas/zyxel/images/
As the images are 2 GB is size, I took a 2 GB SD Card, and wrote the image to it, put the SD card into the NAS, and switched it on.
$ gunzip debian-nas-stretch-18.069-armhf.img.gz # dd if=debian-nas-stretch-18.069-armhf.img of=/dev/mmcblk0 # gparted /dev/mmvblk0
The NAS came up with the OMV Web interface, and I tried to log in with the default credentials admin:openmediavault. However, it showed an error message saying “Failed to connect to socket: No such file or directory”.
According to this forum thread, the omv-engined daemon isn’t running. Now, there is a shell account with the same credentials, so I ssh’d into the machine, and did a sudo bash to become root, and ran the said daemon. When the daemon was running, I could log in to the web interface. When I logged into the shell, I noticed it’s configured to a German locale. This is not really a surprise as I downloaded the image from a German blog.
Now…. this is an ancient image, so I need to install some updates. This image is based upon Debian “stretch”, which is codename for Debian 9. This has LTS support up to June 2022, so there should still be updates available for this image. As this is a debian image, it uses apt as a package manager. But when I ran apt-get update
, it complained it couldn’t resolve hostnames. It seems I needed to put my nameserver in /etc/resolv.conf
manually for some reason. Oh well…. after that running apt-get update
succeeded, and then proceeding to apt-get upgrade
, it ran out of disk space. Well…. I need a larger SD card.
So, I proceeded with an 8 GB card. I wrote the image, and expanded the file system.
Trying to repeat what I did before, however, this time, the NAS didn’t come up. Why doesn’t it boot? I could open up the NAS, and connect to its UART to see the kernel output, but for now… I don’t feel like opening it just yet. Let’s try another SD card. A 16 GB model. This time it works as it should. Odd… I guess some SD card incompatibilities? Oh well…. let’s try the update thing again like I did last time… and then see if the daemon problem still exists…
And it does… also this
Trigger für openmediavault (4.1.36-1) werden verarbeitet ... Restarting engine daemon ... 'omv-engined' trying to restart 'omv-engined' start: '/bin/systemctl start openmediavault-engined' 'omv-engined' failed to start (exit status 0) -- no output invoke-rc.d: unknown initscript, /etc/init.d/openmediavault-engined not found. openmediavault-engined.service couldn't restart.
It looks like it tries to do some systemd stuff on an rc.d based system? Starting the daemon manually seems to work though… but still… this ain’t the way it should operate. So my take, that image is no good. I guess, I should try to whip up my own some time… while at it, I might look at that kernel as well.