The more I use DragonFlyBSD, the more I like it. The DragonFlySD developers are very good at writing manuals (manpages), and it’s very enjoyable to start using, and get familiar with, both as a normal UNIX/BSD user, and as a UNIX developer. It has a high impression of completeness in many aspects, and a lot of nice details. In this post I’ll write about some of the things I really like about it.
BSD Installer
DragonFlyBSD ships with the BSDInstaller. You will find it familiar if you have previously used PFSense or FreeSBIE. The installer that comes with DragonFlyBSD, can be used to instantly make any computer an install-server. It is very fast and straight forward to use, and it lets you choice whether you want to set details like root-password, hostname and network settings – which can sometimes be nice to skip for a quick test.
The installer is also a LiveCD, that lets you log in to the system and test it, before installing it. To install it you simply log in as user “installer”, and you are presented with the installation menu. If you have flash video support, here is a clip of a DragonFlyBSD installation:
Videoclip of DragonFlyBSD installer
NRELEASE build system
The git-based release system, called nrelease. It trivializes the build-aspects of DragonFlyBSD. It lets the user generate custom installers and installations, with easy package-selection. It lets users build install ISO, LiveCD ISO and usb-stick images. Cool!
The nrelease system is in /usr/src/nrelease. You will first need to checkout a copy of the DragonFlyBSD operating system, this can be done efficiently with the git revision control management tools. To do the initial checkout do the following:
df# cd /usr
df# make git-clone
df# make help
The command above will give you latest HEAD, you might want to check out a release, unless you are a developer. To get finer control, you can use the git-tool directly. If you are in the scandinavian region, you could use my mirror, which is updated from crater.dragonflybsd.org:
df# git clone -o blazefire git://blazefire.danielbond.org/dragonfly.git /usr/src
You will get an error, if “/usr/src” already exists. If you are going to mess about in /usr/src, it’s a good idea with some basic git knowledge.
Once you have obtained the source, you can mess about with the nrelease system in /usr/src/nrelease, here are some examples from “make help”:
df# make help
make [gui] release
make [gui] quick
These tools can be used to create LiveCDs or DVDs and USB-stick images.
Parallel kernel builds
DragonFlyBSD supports parallel kernel builds. Being mainly a FreeBSD user, this is one of the many small details I mentioned earlier, that makes DragonFlyBSD stand out. To use multiple jobs, you supply “-j <number>” argument to “make”, like you would in buildworld, and it’s completely safe!
rcNG improvements
Matt wrote a set of tools, which makes it more pleasurable to handle the rcNG system. Like FreeBSD, DragonFlyBSD also uses the rcNG system, to start and stop system daemons, like sendmail and OpenSSHD. It also controls daemons installed from pkgsrc (or ports in FreeBSD). Here are some examples of Matt’s tools:
Enabling OpenSSHD
df# rcrun enable sshd
df# rcrun start sshd
df# rcstop sshd && rcstart sshd && rcrestart sshd
df# rclist sshd
rcng_sshd=running
df#
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.