posted by Trent Townsend on Wed 18th Jan 2006 22:03 UTC
IconDragonFly BSD 1.4 is the third major release of Matthew Dillon's fork of the FreeBSD operating system, and significant progress has been made towards reaching many of the project's numerous goals. New in this release include a more up to date version of the GNU Compiler Collection (required due to the incread use of thread local storage in DragonFly), an import of NetBSD's Citrus code (Comprehensive I18N Framework Towards Respectable Unix Systems), major reworking of all core subsystems in preparation for removing the MP lock, rewrites of various VFS related code and many updated drivers, frameworks and contributed programs.

Perhaps the biggest potential change for users of the system is the inclusion of NetBSD's pkgsrc package management system by default, and the retirement of the aging FreeBSD-4 ports system.

A full list of changes to the system can be found here.

Installation and post-install setup

As has been the case for over a year now, installing the base system was quick and mostly painless. As always, I did not add users or passwords from the installer, nor did I change the timezone or set up the network until I had rebooted into the installed system, as I find the installer of limited usefulness for these tasks in it's current implementation. Most irritating for me personally, is that the following charaters cannot be used in passwords entered into the installer, despite being valid within the operating system itself:

:;,`~!@#$%^&*()+={}[]\|/?<>'"

For more issues with the installer, check out the following pages:
http://www.dragonflybsd.org/main/errata1_4.cgi
http://leaf.dragonflybsd.org/mailarchive/bugs/2006-01/msg00065.html

Once the system reboots, the very first thing I do is set it up to use blowfish passwords instead of the default MD5. After this, the root password was entered (so I could use characters not supported by the installer), users created, driver modules for harware are loaded (and set to load at boot in /boot/loader.conf), and the final touches are added to /etc/rc.conf (network setup, firewall, shutting down sendmail, enabling usb and the console mouse etc.)

Because at the present time updates to the system require rebuilding from source, I like to keep a copy of the release's source on hand. Easy enough to get, as an example CVSup file is provided in '/usr/share/examples/cvsup/'. Some people prefer to keep a copy of the CVS repository on hand and for those people it's recomended to have the following in /root/.cvsrc

cvs -q
diff -u
update -Pd
checkout -P

Very bad things happen if you try to checkout from the repo without that file, and then attempt to rebuild the system. I am left wondering why it's not included by default, instead of being in the errata for the release.

Also of note in the errata, new users don't automatically have the new pkgsrc related paths in their profiles by default. A minor issue, and easilly fixed, but it leaves me wondering how something like this got missed in the RCs. Do the developers and testers only ever log in as root?

Documentation and packages

Although the man pages are well written, documentation in the DragonFly project overall leaves something to be desired. They have a slightly modified version of the FreeBSD Handbook, but it is somewhat out of date, and still contains references to functionality in FreeBSD not present in DragonFly, and written in such a way as to leave the reader believing them to be DragonFly features (quick off the top of my head example can be found here where it is claimed that "DragonFly is a 32-bit operating system (64-bit on the Itanium and AMD64) and was designed as such from the ground up." DragonFly currently does not run natively on any 64 bit processors in 64 bit mode and there are no plans for port it to the Itanium family of processors.

Table of contents
  1. "DragonFly BSD 1.4, 1/2"
  2. "DragonFly BSD 1.4, 2/2"
e p (0)    29 Comment(s)

Technology White Papers

See More