DragonFly BSD

FAQ-English

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. For third-party software, it uses DPorts, which is based on the FreeBSD ports collection and contains more than 24000 packages. You are advised to keep a close eye on the forums. Check the forums page 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 Digest, the DragonFly Wiki, and the DragonFly mailing lists/newsgroups.

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-shallow 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-shallow and is unnecessary, but for every consequent upgrade, you can omit the make src-create-shallow and replace it with that line to update your source and build and install the kernel and world. Detailed information can be found in /usr/src/UPDATING.

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 this 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 / make quickkernel fails!

Try make buildworld or make buildkernel instead.

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

Since 3.6, DragonFly uses DPorts, a patched version of the FreeBSD ports collection, modified and tested to run on DragonFly 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 64-bit x86 line of processors (x86_64); version 3.8 was the last release supporting 32-bit processors (i386). 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 to see if there are others interested in your topic, or ask around in the appropriate forum. You can download the source 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 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.

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

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

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 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.