DragonFly Frequently Asked Questions

   Man pages
About this FAQ

You can find a copy of the FAQ on the official DragonFly website. In addition, there is a copy maintained on the wiki which is periodically synchronized with the official FAQ.

You can also find translations to other languages at these locations: Dansk (Danish) - Deutsch (German) - Español (Spanish) - Français (French) - (Italian pending) - Lietuviškai (Lithuanian) - Nederlands - (Norwegian in progress) - Polski (Polish - not completed) - Русский (Russian) - Svenska (Swedish).

Is DragonFly ready for production?

Yes. A number of people are using it in production. DragonFly is generally stable and speedy at this point. As of 1.4, DragonFly uses the NetBSD Packages Collection pkgsrc for third-party software. pkgsrc contains over 5500 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 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?

Userland threading and a new packaging system, along with removal of the multiprocessing lock (known as the Big Giant Lock) inherited from FreeBSD-4. In addition, we plan to implement asynchronous system call messaging, and a threaded VFS.

For DragonFly news and events, keep an eye on Matthew Dillon's diary, the DragonFly BSD Log, the DragonFly Wiki, and the DragonFly mailing lists/newsgroups.

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

Not yet. We intend to emplace most major features on our goals list before we start branching. We do not yet have the development resources required to maintain multiple branches. However, we do have a "DragonFly_Preview" tag (used to be "DragonFly_Stable") which users can synchronize to instead of HEAD. It is just a floating tag indicating a 'reasonably stable point' in development i.e. where the buildworld / buildrelease / buildkernel sequence is likely to work and not producing something that is unusable or too buggy. Keep in mind that "DragonFly_Preview" is a just another tag, so it's not like *BSD's -STABLE. You can use this cvsup config file obtaining source tagged "DragonFly_Preview" via cvsup.

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 will be used to handle third-party applications? (like ports, RPM, apt-get, etc.)

As of 1.4, DragonFly uses the NetBSD Packages Collection pkgsrc 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 existing packaging description.

What architectures does DragonFly support?

DragonFly is currently targeted at the x86 line of processors; it should work on 386 and up, though a 386 is certainly not recommended. Work is also being done on support for the new 64-bit processors from AMD. 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.

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

Current plans are to keep the existing filesystem model, with the removal of minor/major numbering. There may be a 'devd' process to handle dynamic devices. There are other features to complete first before this is tackled.

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