Comments (3)
At a file system level (ignoring EtherDFS for a moment), I see the "~" notation for files if I use -t msdos
instead of -t vfat
on a file system. Here's a from-scratch example:
# lvcreate --name dos --size 1G vg0
Logical volume "dos" created.
# mkfs.msdos /dev/vg0/dos
mkfs.fat 4.2 (2021-01-31)
# mkdir -pv /mnt/dos
# mount -t msdos /dev/vg0/dos /mnt/dos
# touch 'this is a long filename.txt'
# cp this\ is\ a\ long\ filename.txt /mnt/dos
cp: cannot create regular file '/mnt/dos/this is a long filename.txt': Invalid argument
# umount /mnt/dos
# mount -t vfat /dev/vg0/dos /mnt/dos
# cp this\ is\ a\ long\ filename.txt /mnt/dos
# find /mnt/dos
/mnt/dos
/mnt/dos/this is a long filename.txt
# umount /mnt/dos
# mount -t msdos /dev/vg0/dos /mnt/dos
# find /mnt/dos
/mnt/dos
/mnt/dos/thisis~1.txt
So this is all working as intended if the file system is mounted with -t msdos
, however as you can see from the output above you cannot copy/create files with longer than 8.3 filenames. If they exist already (i.e.: previous written by a Linux machine using mount -t vfat
or a Windows machine with the volume mounted locally), they'll be truncated on read. This is a filesystem level thing, not an EtherDFS thing.
For EtherDFS itself, and I hate to do this to you (I don't like projects that say "not our issue, see upstream"), but this isn't a RetroNAS thing.
EtherDFS is an excellent project, but it's intentionally simple to keep the code base down and the protocol lightweight. We mention in the readme that part of the "joy" of retro computing are issues like these, and that 8.3 filenames are part of good housekeeping for using old computers (not limited to either EtherDFS nor MS-DOS. This affects lots of older computers, file systems and operating systems).
I think from here you're either going to need to engage the author of EtherDFS and see if they have any suggestions when it comes to dealing with long filenames outside of a local filesystem mounted with -t msdos
. Either that, or just manually ensure you are taking the steps to ensure 8.3 filenames with systems that expect it.
The main project is here:
And in particular check the ethersrv-linux.txt
file on that page which documents in detail the expectations of the underlying file system when hosted on a Linux server.
from retronas.
Thank you for the extensive reply!
from retronas.
Ahhhh you identified the problem. Ether is indeed working! I created the mount originally as msdos, then when the drive was added to fstab via the web interface and the system rebooted, it had reverted to "auto" and I didn't notice. So when I was testing the results seemed the same as vfat. Since msdos has less options to tweak than vfat I swapped to vfat and started trying to configure the mount options to replicate msdos.
So now I just modified fstab to set the type to msdos and everything works as expected. Thanks again @danmons
from retronas.
Related Issues (20)
- RPIOS - Debian version 12 (bookworm) support HOT 14
- Etherdfs and Dos Fat HOT 5
- Gog Repo - Only getting HOT 6
- No more retronas / boot after I've tried to install BitTorrent HOT 2
- hdparm.sh: line 10: syntax error near unexpected token ')' HOT 1
- restart hdparm service on reboot HOT 2
- Analogue Pocket folder missing HOT 1
- PS5 fpkg (*.pkg) files support for HB-Store HOT 2
- GOG Offline Backup - Cannot select OS HOT 6
- Is RetroNAS required or can I use TrueNAS or other NAS? HOT 2
- OPL PS2 SMB Server Connection Error
- SNES SAMBA config for Analogue Pocket incorrect HOT 3
- Support for Raspberry Pi 5 / Debian Bookworm HOT 1
- ps3netsrv make the ROMS path configurable (and probably make it general) HOT 2
- Xlink kai install script issue HOT 2
- How to add new SAMBA shares? HOT 1
- 3DS QR Code Generator - issues when RetroNAS has multiple network interfaces HOT 1
- FR: Add folder structure/symlinks for emulatorJS HOT 1
- New install, user/group prompts aren't representative of changes
- Passwords do not match, press enter to continue HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from retronas.