The year is 2017, the year of BSD on the desktop…at least for me it is. Now as anyone who reads this site regularly will know, I’m pretty good with these com-puter thingies. However – plot twist, I’ve never ran BSD before. I use Mac OS X on a MacBook I have definitely voided the warranty on and for my personal computing and I use Linux, Fedora Security Lab, for the day job. So I’m not afraid of a command line, but at this stage I don’t even know what kind of command line I’ll get with BSD!
Having never used BSD before, I didn’t even know which BSD to go with (or if I’m honest I wasn’t fully informed of the options! In regards to things such as Debian/KFreeBSD and TrueOS. I was naively tipping between OpenBSD or FreeBSD). So I did what I do in all of these situation and involved Twitter – getting some great, in-depth and nuanced feedback on my options, in response to my original question:
Great in-depth, nuanced feedback like:
I’m kidding, @Wxcafe followed up with some great notes on their chosen flavour. In fact: Shout out to the many who responded with genuine advice and those who extended offers to chat via DMs to get me started. I wanted to go it alone though, so I left those requests safely in my inbox for now.
I heard a lot about how difficult BSD is to get going and how frustratingly similar-looking but differently-operating it is to Linux. Plus reports of driver issues and how obtuse the installers can be.
Bear in mind though, that I’m a normal computer user and I really need very little from my laptop, as long as I can get a web browser that can reach Twitter I really don’t care for much else.
I’m using a MacBook Air 2013 and for some reason I settled on FreeBSD as the choice to try out first. I’d love to give you a specific reason as to why – but to be honest I tossed a coin and it landed on FreeBSD, err….heads. That might frustrate some users who will die-hard defend whichever version they use, but naively approaching the topic FreeBSD seemed as good an option as any. Worst case scenario I could just format the drive and try again with an alternative.
So I went with FreeBSD, I used a USB drive to install it by dd-ing the “memstick” installer with the following command:
sudo dd if=./FreeBSD-11.0-RELEASE-amd64-mini-memstick.img of=/dev/sdc
I got some boot text on the screen and a message along the lines of “Loading” but nothing else. Five minutes passed, then ten minutes, still nothing. So I did what every skilled computer technician with over 8 years of professional experience would do.
I turned it off and on again.
Still nothing – but the system seemed to get a little further. I could see the “Loading” message at the top of the screen and then I got a few more lines of text! Progress! However, still not the command line installation interface I expected (I knew it was asking a little much for a GUI based installer!). At this stage, I knew there was only one thing I could do.
I turned it off and on again, again.
Further progress! This time I made it to a neat little boot menu:
Being too scared to press any buttons, FreeBSD took over – presumably using some kind of Machine Learning AI driven algorithm to determine the best option for me, which I will refer to from here as “Default Options”.
So default options appeared to select “Boot Multi User” and shortly I was presented with another neat little menu which asked how I would like to start my experience!
Sticking with the proven track of “Default Options”, I went for install. I was guided through a simple menu system which automated the installation process and the whole thing was pretty intuitive. I like the fact that it prompted me with several security hardening options – didn’t see an option for Full Disk Encryption though so I’ll have to look in to that.
When the installation was finished, I rebooted and was given a command prompt – so step one for me was installing a GUI! I went for Gnome as it’s familiar since it’s what I use on Fedora – it was simple and I imagine the alternatives have a similar process. It was:
pkg install xorg pkg install gnome pkg install nano nano /etc/fstab
Then edit that file to include the following line:
proc /proc procfs rw 0 0
Then this one:
To include the following:
hald_enable="Yes" dbus_enable="Yes" gdm_enable="YES" gnome_enable="YES"
Then reboot and you should get a lovely Gnome (gdm) login menu! So, far so good. So far, so Linux. I altered my /etc/passwd file so that my standard user account was running with BaSH and things seemed good.
Getting a network connection was easy in the office, I’ve got a USB to Ethernet adapter that I use (MacBook Air of course don’t have an Ethernet/RJ45 port) which worked out of the box. I had to make a small configuration change to get it to grab an IP address on boot, which was as simple as adding to /etc/rc.conf:
Adding Chromium and Firefox was as simple as:
pkg install chromium pkg install firefox
Which leaves me with the trouble of an Internet connection when I’m not next to a cable. For this I usually tether to my iPhone, which was a bit tricky at first and it took me in to the depths of FreeBSD “Ports”, but I got it working with:
cd /usr/ports/comms/libimobiledevice/ make install clean pkg install libimobiledevice
So that’s a Desktop Environment, network connection (wired and tethered) and a choice of web browsers! All, surprisingly, easily! To finish it off I didn’t like running everything as root so added a lower privileged user and installed sudo so that I could priv up as required:
pkg install sudo
I have a simple use case, I don’t need much from my laptop and therefore aren’t really tied in to a specific operating system. I couldn’t care less if I’m on Mac OS or Linux and most of the time couldn’t tell you which one I’m on without checking first.
So if you’d like to tinker, if you’re sick of you current operating system and want something new, or even if you’re just curious – go ahead and try BSD for a change. It’s an interesting project, a fun challenge to try out and really shouldn’t be something that you’re scared of. I tweeted as I went along and as the time stamps show – it really only took me two hours to get everything working.
Your mileage may vary, your wireless may not work and don’t even ask me about getting a webcam to run under BSD – but if you just want to play around, or want a new platform to post cat images to the internet from then I strongly recommend you toss a coin.
Good luck, have fun.