Looking for best setup NFS for camper

If you want to build a firmware you need to either run some variant of Linux (Debian, Fedora, Alpine are known to work among a few other) or macOS. Most Linux distributions will install and boot fine in HyperV, Virtualbox and VMWare out of the box. @jeff is looking to provide a ready to run VM (see here: Available Decompression on Windows? )

Install prerequisites, a fairly up to date list can be found here for various distributions
https://openwrt.org/docs/guide-developer/build-system/install-buildsystem

Clone sources, run make buildworld and off you go

As for the box
Just burn the image to the SD card using Rufus
Copy and rename the corresponding DTB file for your device to the root directory (listed on site)
Possibly you need to add a config file for your remote
Insert card, boot to Android, open a terminal windows (enable debug mode), run reboot update and you're in. It will automatically boot off the SD card as long as you don't remove it on each power up.
There's little to no reason to install it on the eMMC storage.

Who says some topics are not timeless? I got no further last year on this project than getting Kodi up on the MeCool and I never got the OpenWRT server configured. And while storing my camper during the hot Texas summer last year I lost my MeCool which failed completely from the heat and so I recently started all over on this project. I bought one of the cheap Amazon sticks during Christmas and finally managed to get it unlocked and loaded with Kodi on a different themed main layout. So now I begin again on the server.

One of my objectives was to load a file system on the server and format the 4TB USB drive to where I could move my 4TB USB hard drive between OpenWRT espressobin and my windows machine. I never found a good driver for ext4 or btrfs for Windows. The ext4 showed promise but on Windows once I got the 4TB loaded with 500G, then the files appeared to continue to load on the drive but disappeared once I unplugged the USB drive and plugged it back in Windows.

So I am going to start over and try to make some headway as a positive spin to COVID. Maybe I'll search and see if Samba 4 ever became available for the espressobin without having to compile anything. Then I will also try to install the media server on OpenWRT and next step, try to figure out what I need to install on the firestick to get Kodi to look for a media server on my local network. Then if I am successful, I'll try to get Samba going so I can add files to the server from my Windows desktop.

Samba4 compiles fine and exFAT is still your best bet if you want cross platform support.

My experience was that I was NEVER able to copy my ~15 Gigs of music files to an SD card formatted exFAT on my linux machine. It would always bork and corrupt the entire filesystem. It seemed likely to be related to unusual characters in filenames (like foreign language characters like ñ or é)

IMHO Your best bet is to format the external drive as btrfs, and share it from the espressobin via Samba4, and copy the files over the network, abandoning the attempt to have the drive swap back and forth via USB.

I have never compiled anything and struggle with all things Linux but I love the features at the same time. Wish there was some miracle to better bridge the divide in our experience levels. I have worked my careerin the IT world on Windows and while Linux resembles the old DOS just enough to allow me to struggle through it, some suggestions about compiling code trip me and I am certain others, leave us dazed and confused.

There's also often a suggestion of just install a virtual machine on your Windows device and do this and do that. If you are running on seven year old hardware that would take weeks if not months to reconvigure and months to figure out how to install a VM on, all this becomes difficult.

I am happy to be a full-user of OpenWRT. I have VPN client machines and VPN servers working cross-country for great friends and relatives and I've made these set-ups work by simply taking other's work and copying and altering one thing at a time until I "sort of" get an ideal of that it's doing. I'm getting better at it and yet I still don't even come close to understanding routing tables and all the other complex things that go with this software. I guess I am just trying to get a little more out of the package than you can get without a full Linux and network expertise. I live at somewhere lost in the middle, and near the vastly deep water portions while just staying afloat area of understanding all this. That's why I appreciate all the details and hand holding anyone is willing to share.

Using Windows 3rd party software, I was somehow able to convert my 4TB drive to exFat and got the same thing. Every other time I unplugged the drive, I lost everything on it. It's a WD 4TB external USB drive.

Is espressobin firmware available with Samba 4 without me learning to compile? I think that is the best place to start.

samba4 is available in the package list of the current release version, it's just

opkg update; opkg install samba4-server;

Should I take my USB drive out of the case and hard-install it via SATA on the espressobin board? Or will it be able to stream OK using USB

It has a USB3 port, make sure you attach to that and have a USB3 external enclosure. With that, it should be fine. USB3 has more bandwidth than the ethernet, so it won't be the choke point.

Good luck with that in Windows :wink:

With what? copying from a windows machine to a linux share via samba works well.

OK, I got the firmware updated and ran the commands executed, thanks dlakelan. I suppose this is nothing to worry with: (??)

dbus[5003]: Unknown group "netdev" in message bus configuration file

All the 25 or so other companion packages installed with no error message.

Not if you want cross compatibility otherwise BTRFS should be fine. :slight_smile:

@DonJuane
fwiw, It's even more simple nowdays (if you have the MeCool still around)
https://coreelec.org/
https://discourse.coreelec.org/t/how-to-install-coreelec/677 (terminal cmd works great)

About dbus, no idea what pulls in that as it's not a requirement by Samba at all.

You can run a media server on the stick if you want to access them from any other DLNA-enabled client, but for Kodi, I think it's best to just mount the disk as a Samba share. It's a lot more straightforward and let you export the database (e.g. Kodi info and images files) to each movie folder, which can be pretty useful if you happen to need to change the kodi device or reinstall.

Is there anyone who would be willing for a reasonable fee to help me get setup with Samba 4 on my esspressobin while giving me a sort of tutorial on what we are doing and why. I am not sure what method would be best to make this happen. I am currently behind a firewall that I do not have any control over so I don't know any easy way to share a terminal to my OpenWRT server (I'm currently in my camper marooned in central Mexico hidden behind a wall at a friend's business warehouse until Covid passes) . If you are interested, please PM me with a proposal. Thank you.

Where are my mounts to be found. Linux doc says to look in /etc/mtab or /dev/ in any directory.

root@OpenWrt:~# cat /proc/mounts
/dev/root /rom squashfs ro,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,noatime 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,noatime 0 0
tmpfs /tmp tmpfs rw,nosuid,nodev,noatime 0 0
/dev/loop0 /overlay f2fs rw,lazytime,noatime,background_gc=on,no_heap,user_xattr,inline_xattr,inline_data,inline_dentry,flush_merge,extent_cache,mode=adaptive,active_logs=6 0 0
overlayfs:/overlay / overlay rw,noatime,lowerdir=/,upperdir=/overlay/upper,workdir=/overlay/work 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,size=512k,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,mode=600,ptmxmode=000 0 0
/dev/sda1 /mnt/sda1 ext4 rw,relatime,data=ordered 0 0
debugfs /sys/kernel/debug debugfs rw,noatime 0 0
/dev/sda2 /mnt/sda2 ext4 rw,relatime,data=ordered 0 0
/dev/mmcblk0p1 /mnt/mmcblk0p1 ext4 rw,relatime 0 0
mountd(pid1569) /tmp/run/blockd autofs rw,relatime,fd=7,pgrp=1,timeout=21474836510,minproto=5,maxproto=5,indirect 0 0
nfsd /proc/fs/nfsd nfsd rw,relatime 0 0
root@OpenWrt:~# findmnt
-ash: findmnt: not found
root@OpenWrt:~# findmnt -lo source,target,fstype,label,options,used -t ext4
-ash: findmnt: not found

Neither /mnt/ or /dev/ under my root directory show anything drives or files under those two top level directories.

Here are more commands and what they output:

root@OpenWrt:~# ls -l /dev/sd*
brw-------    1 root     root        8,   0 Jan  1  1970 /dev/sda
brw-------    1 root     root        8,   1 Jan  1  1970 /dev/sda1
brw-------    1 root     root        8,   2 Jan  1  1970 /dev/sda2
root@OpenWrt:~# uci show fstab
fstab.@global[0]=global
fstab.@global[0].auto_swap='1'
fstab.@global[0].auto_mount='1'
fstab.@global[0].delay_root='5'
fstab.@global[0].check_fs='0'
fstab.@global[0].anon_mount='1'
fstab.@global[0].anon_swap='1'
fstab.@mount[0]=mount
fstab.@mount[0].target='/overlay'
fstab.@mount[0].uuid='59003e5f-1961-4506-9801-db6f0bb8325f'
fstab.@mount[0].enabled='0'
fstab.@mount[1]=mount
fstab.@mount[1].target='/mnt/mmcblk0p1'
fstab.@mount[1].uuid='57f8f4bc-abf4-655f-bf67-946fc0f9f25b'
fstab.@mount[1].enabled='0'
fstab.@mount[2]=mount
fstab.@mount[2].target='/rom'
fstab.@mount[2].uuid='6a3569a6-18fd955e-ade7030e-8b3cbfc2'
fstab.@mount[2].enabled='0'
fstab.@mount[3]=mount
fstab.@mount[3].target='/mnt/sda1'
fstab.@mount[3].uuid='5b1ba009-ef5c-d843-8aab-ae59a3edb248'
fstab.@mount[3].enabled='1'
fstab.@mount[4]=mount
fstab.@mount[4].target='/mnt/sda2'
fstab.@mount[4].uuid='b17147a6-8a0f-644c-9ca1-86c4c1158cee'
fstab.@mount[4].enabled='1'
fstab.@swap[0]=swap
fstab.@swap[0].enabled='1'
fstab.@swap[0].device='/dev/sda1'
root@OpenWrt:~# ls -l /mnt/sda1
drwxrwxrwx    2 root     root          4096 Oct 30 14:09 $RECYCLE.BIN
drwx------    2 root     root         16384 Oct 30 13:54 lost+found
root@OpenWrt:~# block info
label buffer too small 1024 > 255
/dev/loop0: UUID="59003e5f-1961-4506-9801-db6f0bb8325f" VERSION="1.12" MOUNT="/overlay" TYPE="f2fs"
/dev/mmcblk0p1: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" VERSION="1.0" MOUNT="/mnt/mmcblk0p1" TYPE="ext4"
/dev/mmcblk0p2: UUID="6a3569a6-18fd955e-ade7030e-8b3cbfc2" VERSION="4.0" MOUNT="/rom" TYPE="squashfs"
/dev/sda1: UUID="5b1ba009-ef5c-d843-8aab-ae59a3edb248" VERSION="1.0" MOUNT="/mnt/sda1" TYPE="ext4"
/dev/sda2: UUID="b17147a6-8a0f-644c-9ca1-86c4c1158cee" VERSION="1.0" MOUNT="/mnt/sda2" TYPE="ext4"
root@OpenWrt:~#

OK, I just refreshed WinSCP and now I see the drives and files under the /mnt/sd1 and /mnt/sd2 . I am guessing that the ls -l /mnt/sda1 caused the drive to wake up because there was a long pause after that command and I am guessing the drive was asleep and spun up because after restartign WinSCP, I now see the drives and files.

So the next question I have is can anyone figure out from this data if I have these drives formatted correctly, if I have the proper (about)1 Gig swap file and the rest for data or do I need to format the drive again?

Thanks!

df -h will show the size and mount points of mounted filesystems.
You're trying to mount /dev/sda1 both as a filesystem and as swap. If you want to run a swap it needs to be a separate partition with the type set to linux_swap. Most OpenWrt installations will not need swap.