Obtaining DragonFly 2.0.x for your system
2.0 ISO Images for CDs
DragonFly CDs are 'live', which means that the CD will boot your system
and let you log in as root (no password). You can use this feature to
check for hardware compatibility and play with DragonFly a little before
actually installing it on your hard drive.
The CD includes an installer that can be run at the console, or
(experimentally) via a web browser. Make sure you read the
file for more information. To activate the installer, boot the CD and
login as 'installer'.
The installer has a Netboot server option. You can
boot the CD on one machine, enable the feature via the installer, and
then PXEBoot other systems and do a network based install. System
operators should be aware that running the netboot server hardwires
a 10.1.0.X network and runs a DHCP server which might interfere with
other DHCP servers on your LAN.
See the 'Download Site' list below for a list of download locations.
The MD5s for the 2.0 release series are:
MD5 (dfly-2.0.0_REL.iso) = f85a9a50424e7d6407383364f8c4c605
MD5 (dfly-2.0.0_REL.iso.gz) = e1e320a0dbc9c9b94c49012d5b096b5e
MD5 (dfly-2.0.1_REL.iso) = 34b59cac09f00db56cbb486aa6ca8308
MD5 (dfly-2.0.1_REL.iso.gz) = 363ffa0162f92400fd2a64bec5e7406b
2.0.x Release Errata
DragonFly releases are meant to be stable, dependable entities. We
backport compatible bug fixes from current development into release
branches but we do not generally backport new features.
The release CD is always a '.0', e.g. 2.0. The most common way to
track a release is to use cvsup to track the release sources and then
build and install a new world and kernel to keep your system updated.
We do not always get every last little fix into a release. Please
be sure to read the errata page for the release CD!
2.0.x Release Sites
Release Notes for DragonFly 2.0.x
2.0 is our eighth major DragonFly release. DragonFly's policy is to
only commit bug fixes to release branches.
DragonFly 2.0 Release Notes
HAMMER filesystem released!
- Crash recovery on-mount, no fsck.
- Fine-grained snapshots, snapshot management, snapshot-support
for filesystem-wide data integrity checks.
- Historically accessible by default.
- Mirroring: Queueless incremental mirroring, master to multi-slave.
- Undo and rollback.
- Multi-volume, maximum storage capacity of 1-Exabyte.
- Add a sysctl jail.allow_raw_sockets (default to disabled) which
allows jails to use raw sockets.
- Enhance the firmware loading support.
- Improved random number operation.
- Add native fairq-queue implementation using ALTQ, for PF
- Add native connection state recovery to PF - so router
reboots do not drop active TCP connections. New 'pickups'
directives, and a 'set' directive to set default keep policy.
- Incorporate the 'probability' keyword into PF from NetBSD.
- Miscellaneous bug fixes to the LWP (Light Weight Process) code.
Fixes issues with kill -9 on vkernels.
- Significant work on the buffer cache and VM system relating to
system operation under heavy loads and with low amounts of
- Major cleanup of the LWKT token code. This code works very well
now and is here to stay.
- Implement a cothread API and abstraction for vkernel drivers. This
allows a vkernel driver to use a real thread as an I/O co-processor,
outside of the ncpus abstraction, improving vkernel performance
for both UP and SMP bulids.
- Revamp and clean-up a good chunk of the low level pmap code in both
the vkernel and i386 builds. This fixes a number of access safety
issues and races which could occur under heavy loads.
- Fix issues related to gdb'ing a vkernel.
- Add a feature which allows boot0 and boot1 to accept commands
over the serial port (instead of just boot2).
- Fix an issue with the use of O_CREAT on read-only NFS mounts.
- proc structure now allocated with kmalloc instead of zalloc.
- Add support for local SOCK_SEQPACKET ... a connection oriented
protocol over unix domain sockets which retains packetization
boundaries for read() and write().
- Improve network polling support.
- TCP keepalives are now turned on by default.
- Fix ktrace support for threaded processes.
- kern.trap_mpsafe and kern.syscall_mpsafe are now enabled by default,
pushing the MP lock deeper into the kernel.
- Fix a memory corruption issue related to the kernel losing track
of the kernel's own use of the FP unit for bcopy operations.
- Jails can now use raw sockets if jail.allow_raw_sockets is set.
- CAM sync w/ FreeBSD, plus additional CAM work to fix disconnect
races and panics.
- Bring in bug fixes for UFS from FreeBSD related to when the
filesystem becomes full.
- getsockopt() and setsockopt() now copyin/copyout data early,
so the rest of the kernel can just access a kernel buffer.
- Experimental MPLS over ethernet support added.
- Adjust NATA queueing to not allow I/O requests to languish
forever due to sequential writes keeping the elevator going in
one direction only.
- Add cmx(4) from FreeBSD, the driver for Omnikey CardMan 4040
- Sync NATA from FreeBSD.
- Sync DRM from FreeBSD.
Hardware changes (Networking)
- A double-ton of work on wireless drivers (by Sephe)
- A double-ton of work on ethernet drivers (by Sephe)
- Good progress made on removing the BGL from the network paths.
The BGL is still being left in-place for this release.
- Some significant Bluetooth stack work has been done.
- Greatly improved packet routing on SMP systems.
- Greatly improved polling support.
- Greatly improved interrupt moderation support with certain
Hardware changes (USB)
- Better survivability when pulling mass storage devices
- Add many more device IDs across the board.
- Recognize when a device is pulled out of a firewire port (sbp).
- Numerous fixes made to ugen(4), including using interrupt
endpoints to increase responsiveness.
- A few fixes made to firewire (fwohic).
- Defer bus exploration to allow ehci to initialize. Add
a boot loader tunable hw.usb.hack_defer_exploration which
defaults to 1 and can be set to 0 to revert to the old behavior.
- Add blacklist feature for weak Debian-generated SSH keys.
- Miscellaneous additions to help with pkgsrc compatibility.
- Improved ktrdump.
- Unique mode history feature added to /bin/sh (from NetBSD).
- Many improvements to manual pages and documentation.
- mount_nfs no longer gets confused by domain names which start
with a digit.
- Improved pkg_search
- Removal of remaining (x)ntpd bits. dntpd is the official NTP
client for DragonFly.
- Lots of adjustments to libthread_xu to enhance pkgsrc compatibility
and thread support.
- Installer moved to contrib / direct-compile, instead of using
- Properly clear the direction flag (DF) on entry to a signal handler.
- cpdup enhanced to support a verification mode, better remote
operation, and parallelization.
- Add vknet and vknetd ... a simple userland virtual ether switch,
making user-run vkernel execution possible.
- Add lsearch(3) and lfind(3) to libc.
- Bug fixes to strcspn() and strspn() from FreeBSD.
- Add a new utility 'notty', which runs a program detached from
- du now collects information with a 64 bit quantity instead of a
32 bit quantity. ls now displays inode numbers as 64 bit integers.
- Add objc support to gcc.
- Build the installer as part of normal build-/installworld if WANT_INSTALLER is set.
- Fortran was removed from the base.
- libreadline (and its incompatible license) removed.
- Numerous old device drivers have been removed.
- Sync zoneinfo database with tzdata2008d from elsie.
- BIND was updated to version 9.3.4-P2 fixing a serious security issue.
- bzip was updated to version 1.0.5.
- less was updated to version 418.
- libarchive was updated to version 2.5.5.
- OpenSSH was updated to version 5.0p1.
- OpenSSH now has a blacklist feature for weak Debian-generated ssh
- tnftpd was synced with NetBSD as of May 2008.
- Sync Citrus iconv support from NetBSD.
- GCC updated to 4.1.2.