DragonFly BSD


This is the official DragonFly FAQ. Primary language is English, but you can also find translations to other languages here.

Is DragonFly ready for production?

Yes. DragonFly is generally stable and speedy at this point. Since 1.4, DragonFly uses the NetBSD Packages Collection pkgsrc (http://www.netbsd.org/docs/software/packages.html) for third-party software. pkgsrc contains over 8000 packages and is supported on several different platforms from Linux to AIX. You are advised to keep a close eye on the forums. Check the forums page (http://www.dragonflybsd.org/mailinglists/) to find out on how to get access. We have an active community that are working on keeping things working. As in any open source project, if you find problems reporting them increases the chance that someone can fix it.

What are the potential goals for the next release?

For DragonFly news and events, keep an eye on the DragonFly BSD Log (http://www.shiningsilence.com/dbsdlog/), the DragonFly Wiki, and the DragonFly mailing lists/newsgroups (http://www.dragonflybsd.org/mailinglists/).

Is there a branch oriented towards stability, like the FreeBSD's -STABLE?

We have a -RELEASE tag which is considered to be stable.

How do I upgrade my system?

There are three parts to upgrade, kernel, world, and userland. Userland packages should be upgraded with pkg upgrade, many times if it's been a while since the last upgrade you'll need to upgrade pkg first. To upgrade your kernel and world you'll need source, which you can get by running make src-create while in /usr. Enter the src directory and run, in order, the following to upgrade your system, git pull && nice -n 20 make buildworld && nice -n 20 make buildkernel && nice -20 make preupgrade && nice -n 20 make installworld && nice -n 20 make installkernel && nice -n 20 make upgrade. The git pull is part of make src-create and is unnecessary, but for every consequent upgrade, you can omit the make src-create and replace it with that line to update your source and build and install the kernel and world.

I get garbage on the screen when I boot or I can't seem to pause at the initial boot menu.

DragonFly, when booting, outputs to both video and serial ports. If the booting computer has a 'noisy' serial device connected, it may read data from it during the boot process. Serial console activation during boot can be disabled by creating the file /boot.config with the contents: '-V'

How can I speed up my build process?

You can use make quickworld instead of make buildworld. This reuses existing tools on disk and speeds this step up considerably. For the kernel there is a similar quickkernel target.

But make quickworld/quickkernel fails!

Try make buildworld or buildkernel instead.

What is used to handle third-party applications? (like ports, yum, apt-get, etc.)

Since 1.4, DragonFly uses the NetBSD Packages Collection pkgsrc (http://www.netbsd.org/docs/software/packages.html) for third-party applications. pkgsrc is a packaging system much like FreeBSD ports, and there are many pre-built packages available. For a quick guide see the pkgsrc HOWTO. Eventually, DragonFly will have a homegrown port system, using the VFS mechanisms that are as of this writing not complete yet. For more information, check the specifications for the ideal package management system (http://www.dragonflybsd.org/goals/index.html#packages).

Since 3.6, DragonFly uses DPorts, a patched version of the FreeBSD ports, modified and tested to run on DragonFlyBSD systems. You can build from the DPorts collection by going to the port of your choice and running make config install clean. Binary packages are advised unless nonstandard options are required, pkg is the tool used and has thorough documentation in the man page and the help flag.

What architectures does DragonFly support?

DragonFly is currently targeted at the x86 line of processors, both 32 bit and 64 bit; it should work on 386 and up, though a 386 is certainly not recommended. There are currently no plans for support of other processor types. However, support for Sparc or PowerPC or other systems is possible in the future. If you plan to submit code to the DragonFly project, please keep this in mind.

How can I contribute?

Pick a topic that you enjoy and start working. Check the team page (http://www.dragonflybsd.org/team/) to see if there are others interested in your topic, or ask around in the appropriate forum (http://www.dragonflybsd.org/mailinglists/). You can download the source (http://www.dragonflybsd.org/download/) to the operating system and to the official site, and send patches in unified diff format (diff -uN) to 'submit at dragonflybsd.org' for review. Subscribe to that same submit mailing list/newsgroup (http://www.dragonflybsd.org/mailinglists/) to see feedback on your patches, and to find if they have been accepted or rejected. In addition, you can update the DragonFly Wiki.

Note that you do not have to be a programmer in order to help. Evangelizing DragonFly and testing it on a variety of hardware, and reporting results can help a great deal. Try new features and report to the forums on your experiences. Cleaning up /etc/rc.d only requires shell script experience, for instance, and there's always a need for better documentation.

Will DragonFly use a dynamic /dev filesystem, as in devfs?

Since 2.3, DragonFly has a dynamic /dev file system, aka devfs(5).

What is the state of journaling fs / background fsck? We cannot wait...

Matt is working on journaling, but you may want to read this post: http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00133.html

Or just go through the whole topic: http://leaf.dragonflybsd.org/mailarchive/kernel/2004-12/msg00105.html

Will DragonFly use (insert name here) technology?

Yes and no. Features must match the existing plan outlined on the site here, and there's plenty of existing problems to solve before 'nonessential' work can be done. However, if you are willing to work on it, it probably can be done. The forums are an excellent place to get feedback and to find others that may be interested in your topic. The team page (http://www.dragonflybsd.org/team/) is also a good place to check.

What's the correct way to name this operating system?

It's a BSD variant, called DragonFly. Note the capitalization on the F, which isn't proper English.

Should ldconfig_path be updated in /etc/defaults/rc.conf to include support for pkgsrc?

No. pkgsrc links everything with -rpath so all binaries should carry the correct paths already. If it breaks it's broken.