This past weekend I did something I rarely do. I ran `apt-get dist-upgrade` on my desktop machine. I track the unstable branch of Debian on that machine and I rarely have any issues. This time things didn’t go so well.
After the upgrade the next time I booted my computer almost nothing would start. The root filesytem was mounted read-only and `mount / -o remount,rw` failed because my root filesystem is an nfs mount and rpc.statd wasn’t started. Big deal right? Just start rpc.statd. Not so fast! rpc.statd wouldn’t start because it writes its PID to /var/run. Of course /var/run was read-only so rpc.statd would not load. There was no documented command line option to write the PID to a different file.
After reading through a lot of the startup scripts in /etc/rcS.d I noticed that `nolock` is handled specially in many of the scripts. I added nolock (which is safe for a root filesystem that is not shared among multiple machines or any filesystem that would be mounted read-only) to the line for my root filesystem and rebooted. Viola! I have a computer again.
Now I need to figure out why my i915 video card using the i810 xorg driver is flickering…