I’ve pushed a new release and my device wasn’t taking it. This seems to be a regular problem every couple of months that tends to be fixed by reimaging or updating to the latest BalenaOS release. So I attempted what I thought would be the simpler option to avoid restoring data from a backup after a reimage, and tried to initiate an OS update.
It failed with
resinhup failed: exit code 1 stderr: mkdir: cannot create directory '/mnt/data/resinhup': Read-only file system
Any tips or tricks here? I’ve searched but haven’t found anything relevant or useful so far.
Edit: In case it’s relevant, support access is enabled, id b9a4c868098d8a9295b2f2366c168232
This points to SD card corruption. What brand are you using? How do you power the device?
I’ve tried different cards. Some SanDisk Ultra, another which may have been a Samsung, and others have been MicroCenter branded, as is the current card. I’m using MC cards in 4 other devices which have had zero such issues in 4-5 months; those devices lose power daily, while this one never does.
The PSU is a 5.1V 3A supply plugged into a UPS.
SD cards do wear off, especially when a device does a lot write operations to it or when it’s supplied by a bad quality PSU
Does your application write logs in the filesystem? If so, does that happen frequently?
Given that a UPS is also in use, the power quality might not be the case for this one, even though it would be good to know whether the PSU is of a good quality or not.
Have you tried rebooting the device, in case the read-only filesystem symptom is parodic?
We have had great reliability results when using SanDisk extreme pro in our tests and we do recommend them, but if your application needs to do a lot write operations, then an industrial grade eMMC (like the one that the balenaFin is using) is the best option.
I have logs written to memory, so there shouldn’t be frequent disk writes, but I’ll double check the applications running.
It seems you’re both certain this is a card issue, so I’ll create a new device, see if I can pinpoint where the writes may be coming from, and cross my fingers.
I like the idea of the Fin, and I may give it a go in the future, but I don’t have any compute modules at the moment. In the interim, perhaps I can test by setting up a thumb drive for application write needs and see if that addresses the problem. Any pointers for doing so would be greatly appreciated.
I would also suggest you to try a higher quality SD card from a different manufacturer.
As for mounting external thumbdrives, let me point your to the respective documentation page for this:
Yes, I meant to mention that I’ll try that with the SD card as well.
Thanks for the responses and recommendations!