FreeBSD Challenge Day 02 of 30: Getting My Feet Wet
In today’s FreeBSD Challenge, I stumble on through the installation process. How hard was it? Read on to find out.
The installation process
For most users, installing a Linux distribution such as Ubuntu, Linux Mint, or Debian is a general affair. You pop in the install media, follow along your graphical prompts, and you’re off. If you are a new user, you opt for the guided installation, partitioning your entire hard disk, and install and update software via the graphical set of utilities. Will a fresh user used to desktop Linux distributions be up for FreeBSD? What skill set does this require?
Coming from a background of a few years of Arch Linux use, even I had to switch some gears and review several pages of documentation. In the Linux ethos, if you are used to a Debian, Red Hat, or Gentoo flavor, you’ll likely be able to switch between various “spin offs” without issue. When it comes to *BSD, you are in a quite different world, a world that more closely adheres to UNIX philosophy. Right away, some commands you are used to being available right out of the gate, either need installed via the Ports System, or using some available packages with the ‘pkg_add’ command utility.
Now, in my case, the installation was performed on a Virtualbox instance, and I have left out any technicalities that would unfairly put FreeBSD in a negative light, due to quirks with Virtualbox (such as chipset issues that prevent the booting of install media). With that understood, here is my evaluation of the installation process.
Getting down to the install
Installing FreeBSD is not labour intensive, nor is it a “cake walk.” for the general user. You will have to free your mind from what you have learned in Linux and try not to mold FreeBSD to be what it is not: Linux. Once you have the install media off and running, you’ll answer a few easy questions and arrive at whether you want a “Guided” install or a manual one. For the purposes of this exercise, I will be using a Guided Install, which sets up the partition scheme quite nicely:
After hitting finish and commit, the fireworks are off. You will then be prompted to perform a few post installation tasks, such as creating users. I advise you to at least add your user to the ‘wheel’ group at the minimum for now. You may use the ‘sudo’ package to control you users, but later posts, but commonly adding your user to ‘wheel’ is preferred. Once your user is in the ‘wheel’ group, they will posses the power to ‘su’ to become root for administrative taks. Once finished, you are left with a blinking shell prompt. So now what? Depending on if you used a network install or not you will want to update the system :
freebsd-update fetch freebsd-update install
Installing a graphical desktop
Yes, I am quite aware that BSD is generally tasked with non-desktop purposes, but that is why I am evaluating it as a desktop replacement to see how well it can be used in that fashion. Now FreeBSD may not be seen as “up to date” as some Linux distributions. If you take a step back and look at the purpose of FreeBSD, it is not designed to appease Michael Bay, rather the practical Unix user. If you head on over to the Desktop Environments section of FreeBSD.org, you’ll notice Gnome2 being presented, rather than Gnome3. Why is that? Well for one…well…let’s leave controversial discussion of Gnome3 out of this (other than obvious resource usage). Again, many *BSD admins may never even install a common desktop other than a simple X server instance. I would likely need to discuss this more with those more knowledgeable about FreeBSD to gain more opinion on such a matter.
Installing Gnome 2
Installing Gnome 2 is not overly difficult. The above link to Desktop Environments above can server a a guide to this process. In summary, perform the following commands as a root user:
pkg_add -r gnome2
If you wish to build gnome2 from source:
cd /usr/ports/x11/gnome2 make install clean
After the installation is complete, you’ll want to ensure /proc file system is mounted on startup. Using the common vi text editor, enter the appropriate entry into /etc/fstab:
proc /proc procfs rw 0 0
Commonly many Linux users may be accustomed to using a graphical login (GDM). To allow this, add this to your /etc/rc.conf as root. The first line will enable use of GDM, the second allows the autostart of GNOME services alongside GDM.
Personally, I prefer to start my sessions manually, in case I do not even need a graphical login, or I wish to administrate some key areas without fussing with a graphical desktop. If you wish to start the session manually, add the following to a ‘~.xinitrc’ of the user you wish to have this apply to:
# echo "/usr/local/bin/gnome-session" > ~/.xinitrc"
The ‘startx’ command will allow you to launch the session on your own. If this package is not available at the start, the ‘X’ command will likely work for you. Otherwise, see the “/usr/ports/x11/xinit” Ports source code. You will likely need to run the basic ‘Xorg -configure’ command to generate your initial X Server layout. Be sure to copy the resulting file to /etc/X11/ before churning out ‘X’ or ‘startx’. With any luck , you will get your desktop:
Day 2 Summary
Hooray! Right? Getting a desktop up and running is just a fraction of the learning experience. I am learning areas of use as I go, so I’m sure you will see me make plenty of mistakes. All in good fun in experimenting with Unix! One thing is for sure, even being a seasoned Arch Linux user, being in the *BSD dimension is quite different. I’m confident I will be able to get what I need done as I wander through FreeBSD as the challenge continues. That is all for today it seems.
A big thanks goes out to the very helpful users of #freebsd on irc.freenode.net !