On the inflexibility of fstab
The site’s been down and zero progress has been made for at least a month now. I regret to say the reason is just plain dumb, but I guess it makes sense.
It seems when a mount in the fstab is unmountable raspian decides to boot in some sort of safe mode. This makes it so it doesn’t even get an ip address from the router and is unreachable. I guess this is some sort of security measure… either way it really sucks when the user is unaware of the issue.
The uncool thing about the safe mode boot is that it wants the root password. For security reasons I didn’t set up a root password on my pi. So really this meant I couldn’t modify my server’s fstab using my server.
My other computer is a Windows machine. Windows doesn’t read/write ext4 formatted partitions because Microsoft is a jerkwad and I have no desire to dual boot that machine as it is my livelyhood. I cannot take a day off if Windows and GRUB decide to not play nice, which has happened to me before. I instead had to get a new micro-sd card, flash ubuntu server for raspberry pi on it, boot ubuntu on my flash drive, mount the raspian card on a card reader and modify the fstab in order to get my server to boot.
Of course I didn’t know my server wasn’t booting because of a misconfigured fstab, oh no. Allow me to vent with my long boring story of frustration.
I know that eventually I want this server to boot from an actual hard drive. I want the server to reliably run for years on end, maybe even decades. SD cards are not really meant to host operating systems and have a relatively limited lifespan. So I hooked a cheap spindle drive to the pi and added it to the fstab planning to eventually figure out how to install and boot raspian off it. I hadn’t gotten around to actually putting the drive to any real use yet.
A month or so later I needed a drive I could afford to lose in order to deliver some shots to a client. I knew there was a 50% chance I’d never see the drive again, but I didn’t want to go to the store for a new one and as the drive was unused, I yanked the drive I’d mounted. I didn’t know I needed to update the fstab if I wanted to reboot the pi again.
My server kept running as if nothing was amiss for a few weeks. Then there was a power outage and lo, the pi rebooted.
I had updated my router recently and not thinking something could be wrong with my trusty ol’ pi that had been running just fine for many months, I spent several hours over multiple weekends trying to figure out where the pi was, blaming the new routers configuration. After realizing that the pi’s MAC address definitely wasn’t showing up on the router and every other device was working fine, I figured maybe the pi either overheated or got fried during the power outtage.
After a few more weeks I found time to hook the pi up to a monitor as see if it’s booting at all and wouldn’t you know it was booting; the hardware was fine. The boot was getting hung up on it not finding that useless spindle drive.
So yeah, several hours of debugging and zero progress on the server for over a month because I unhooked a useless drive thinking the pi would just pop a warning up when it was unable to mount it.
Set up mount calls on boot instead of relying on fstab. Then even if a drive is unmountable at least I’ll be able to log in and figure out what the heck is going on.