Skip to main content
  1. Posts/

Did I Tell You I Contributed to FreeBSD?

The Pi as my Main Computer>

The Pi as my Main Computer #

It’s time for a new computer. I don’t want to spend $2,000, but I think many cheaper options are actually worse deals when I consider how long they’ll likely last me given the projects I intend to do. I decided to try using the new 8Gb Raspberry Pi 4 as a desktop for a while since it’s only $100 and worst case I’ll have a new Pi for other projects. I figured that the new Pi would be plenty powerful for stuff like browsing and email, and for more intensive computing I would just connect to a cloud, saving a lot of money if it worked out.

Here’s what my system looks like currently. The wire sticking out allows me to manually turn on and off the fan until I write a custom process to handle that based on CPU temperature.

My Pi

So far this been a very fun project but I haven’t really been able to offload the majority of my workload to the Pi, partially because I’ve been having too much fun trying out different operating systems to really settle down and optimally configure one. I have a couple special requirements that have made things interesting:

  • I want to a boot from a USB SSD for reliability, speed and extra space.
  • I don’t want to use the standard Raspberry Pi OS because I like to customize my own system and I think I’m too cool for the default OS.
My Setup>

My Setup #

I tried several different operating systems. Here’s how each went:

  • Raspberry Pi OS: worked fine from SD card and USB, just not hipster enough.

  • Void Linux with musl: worked fine from the SD card, but would not boot from USB. I realized that part of the Void Linux Pi’s boot/config scripts referenced the SD card slot explicitly. After I changed certain lines to refer to the USB slot I wanted to boot from I was able to boot from USB. I advise that after preparing your boot disk but before booting you search for the string “mmcblk0” or similar and consider for each occurrence if it should be changed to the name of your USB port. Sometimes booting up didn’t work perfectly smoothly so there may be some other complications I didn’t work out, but for the most part it worked.

  • FreeBSD: Worked fine on both the SD Card and USB. I just had to make some manual changes to my Pi’s config file to make the display work properly I’d be happy to share my config file if you think it would help you with anything. Just email me. There were only two issues:

    • I couldn’t get the audio to work via either HDMI or the headphone jack. I tried every piece of documentation I could find but it just would not work. I was able to get USB audio to work so I’ll stick with FreeBSD and use that for now. I would like to work out how to make at least headphone jack audio work and either write a guide or a PR if necessary.

    • There was a spelling/grammar error in the bsdconfig menu that I kept bumping into every time I made setup changes! This drove me bonkers. See below for how I dealt with it.

  • NetBSD: Had the same trouble with audio that I had with FreeBSD so I didn’t spend too much time on this one. It felt like FreeBSD’s Pi documentation was better.

  • helloSystem: The draft setup guide got less and less detailed as I went along. I started down this road because I like the project and thought the script looked doable, but I should have read down to the end. When I got down to the hand-wavy parts I ended up making some huge leaps that broke my system temporarily. I am sure this guide is usable, just not for someone of my skill level to be able to pull off in a night. I look forward to when the Pi gets more helloSystem support. If I get some more free time I’ll look into if I might be able to provide some of that help.

(Technically) Contributing to FreeBSD>

(Technically) Contributing to FreeBSD #

I love free software, as a philosopher. I also love messing around with system-level stuff even though that is not at all my area of expertise. I have always wanted to make a contribution to an open source operating system as part of my larger bucket list goal of making lost of open source contributions generally. So, I opened a PR to fix the spelling error on the FreeBSD bsdconfig menu. The maintainers were very nice about it even though I was maybe being a bit pedantic…

And, they incorporated my patch! I have officially authored some lines (more like characters…) in FreeBSD, technically! Man, what a rush. I hope I can do more stuff like this in the future, but more related to the actual code.