This is more of an inquiry if this sounds correct.
When I install developer image, 21.02.3, or 22.03.0-rc1 onto my rockpro64, the overlay partition is already 60% full.
Filesystem Size Used Available Use% Mounted on
/dev/loop0 99.1M 59.2M 39.9M 60% /overlay
overlayfs:/overlay 99.1M 59.2M 39.9M 60% /
39.9M is apparently not enough for me to even run this command first either. opkg update && opkg install luci-app-samba4 cryptsetup
* pkg_write_filelist: Failed to open //usr/lib/opkg/info/samba4-libs.list: No space left on device.
* opkg_install_pkg: Failed to extract data files for samba4-libs. Package debris may remain!
* opkg_install_cmd: Cannot install package luci-app-samba4.
On the other hand I have a netgear r7800 with these 2 apps and a lot more like nfs-kernel-server.
Filesystem Size Used Available Use% Mounted on
/dev/ubi0_1 78.4M 36.6M 37.8M 49% /overlay
overlayfs:/overlay 78.4M 36.6M 37.8M 49% /
Package luci-app-samba4 (git-21.295.66822-2e989d8) installed in root is up to date.
Package cryptsetup (2.4.3-1) installed in root is up to date.
Package nfs-kernel-server (2.5.2-1) installed in root is up to date.
Does this math add up to you? I have 39.9M initially free on my rockpro64 device and I can't even install 36.6M of packages according to my netgear r7800?
My rockpro64 has a 32gb emmc using squashfs.
For the time being I am just compiling my own images and changing the partition sizes to 256MB and recompile everytime I need to add or remove a package since I'm still working on it but it slows me down. I'd also like to stick with squashfs for now.
ksmbd seems to have its own sets of issues though...
Samba itself on OpenWrt is pretty small but if you have the storage space you might as well go for a distro not targeting embedded hardware.
For comparison looking at my slightly stripped down variant on FreeBSD (aarch64) Samba weights in at around 55Mbyte uncompressed... (about 11Mbyte using lzma compression) and that's without all dependencies. OpenWrt's build is smaller but it's still a good 33Mbyte+ uncompressed (without any python stuff) which is also about what the FreeBSD's variant also would be (and it's not prioritizing size over performance). My point here is even if you try to reduce binary sizes it might not be much of a difference in the end depending on software.
Never used LuCI tbh, I have my own smb4.conf template which I use on both FreeBSD and Linux to make my life easier. OpenWrt needs a few extra hacks because I'm lazy and don't want to create users. Pretty sure parts of if are still in the Samba package in OpenWrt =)
Thanks for the info. I kinda thought that the samba libraries were all pre-compiled binaries somewhere and thought the differences in architecture would only be small differences resulting in maybe a few MB difference but apparently they can be greatly different and I will note this.
The performance I am getting out of samba4 on my rockpro64 is really good so I'm going to continue using the image builder to get samba4 working on it.
Ksmbd wont cut it on this server but I always use Ksmbd on my 4 or 8MB portable router builds.
I understand. I put this into my initial install/upgrade script and it takes care of that mess.
if cat /etc/passwd | grep newsambauser;
then echo 'User is already installed!!'
else echo 'newsambauser:*:27685:65534:newsambauser:/var:/bin/false' >> /etc/passwd
fi
smbpasswd -a newsambauser
Afterwards, copy over your config dir/files to the appropriate locations (/etc/config/samba4 /etc/samba/) and enable?,start,and reboot and you're good to go.
I set my partition size to 256M from the image builder menu and it compiles everything perfectly. I just wanted to use the latest stable build instead of compiling my own but I'm just going to be compiling it myself from now on.
My original inquiry was about if samba4-server was really so large that you can't even install it by itself on a vanilla rockpro64 firmware and yes it is really that large.