Recovering from Syntax Errors in /etc/rc.conf in FreeBSD

| bsd |

I have been exploring FreeBSD over the last few weeks. In fact, I moved this blog over to a server running FreeBSD tonight. Naturally, while fiddling around with /etc/rc.conf (the default init file of FreeBSD) with vi I made a syntax error. Upon rebooting, FreeBSD yells at me and starts a shell in a read only file system.

Loading configuration files.
/etc/rc.conf: 16: Syntax error: Unterminated quoted string
Enter full pathname of shell or RETURN for /bin/sh:

At first, I was super sad and thought I had to reinstall everything (which would not have been so bad since the installation just takes a few minutes), but then I realized that it is not possible that I am the first person to ever make an error in this file, there has to be a way to recover. Sure enough, there is.

  1. Remount the Root File System First we must remount the root files system. Go ahead and press RETURN to pop into /bin/sh
    /sbin/mount -o rw /
    
  2. Edit /etc/rc.conf Now that we have a read/write file system mounted we can edit our /etc/rc.conf file and fix the syntax error using vi
  3. Reboot

    Reboot, and FreeBSD will be back in action.

Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.

Check out some more stuff to read down below.

Most popular posts this month

Recent Favorite Blog Posts

This is a collection of the last 8 posts that I bookmarked.

Articles from blogs I follow around the net

So Long Relayd, and Thanks for All the Fish

So Long Relayd, and Thanks for All the Fish 2026-08-17 Running relayd alongside httpd on your OpenBSD web servers is no longer necessary for injecting HTTP security headers. Thanks to the incredible work by rsadowski@ we now have the ability to set our sec...

via btxx.org RSS Feed August 23, 2026

YouTube’s right click relay

An interesting mechanism in YouTube I just learned of. If you right click once, you get their context menu: If you right click again, you get the native browser menu: This is clunky and not discoverable, but I can see YouTube team’s bind here. As far as I...

via Unsung August 22, 2026

A Syncthing and SQLite Gotcha

On the rename system call.

via Fernando Borretti August 22, 2026

Generated by openring