release34

DragonFly Release 3.4

Version 3.4.1 released 29 April 2013.

Version 3.4.2 released 27 May 2013. See the tagged commit for details.

Version 3.4.3 released 26 August 2013. See the tagged commit for details.

Big-ticket items

Experimental packaging system: dports

John Marino has created a system, DPorts, that uses the FreeBSD ports system to build ports for DragonFly, and uses pkgng to manage the binary packages produced from those ports.

The default packaging system on DragonFly is pkgsrc. To use DPorts, you must remove or disable pkgsrc packages. Pkgsrc and DPorts cannot be used at the same time, or have packages mixed together. See the DPorts Howto page for details on installing and using DPorts. Note: this is the first release with DPorts, and this is still experimental.

The DragonFly snapshots are built using dports. (and also have XFCE for the desktop)

Performance improvements under extreme load

The process of testing poudriere, a tool for mass-producing binary dports packages, exposed stability issues when repeatedly mounting and unmounting many tmpfs systems on large multicore (48) systems. These issues have been fixed. In addition to stability, several changes were made to improve performance in situations with heavy processor and disk usage.

Improvements in poudriere performance, tmpfs performance, and CPU usage (graphs are linked in those message) were graphed by Francois Tigeot and posted on the kernel@dragonflybsd.org mailing list.

New default compiler

The two base compilers have swapped roles. GCC 4.7, introduced as an alternative compiler with Release 3.2, is now the primary compiler used to build DragonFly. GCC 4.4 remains on the system and still has an important role as the primary DPorts compiler. GCC 4.7 brings OpenMP (parallel programming) support to DragonFly via libgomp as well as stack smashing protection via libssp, neither of which was supported by GCC 4.4. The newer compiler also offers improved C++ and Objective-C support, and introduces Link-Time Optimization (LTO) support.

New USB stack

USB4BSD is available this release, though not by default. More USB devices are compatible with DragonFly, and xhci (USB 3.0) users may be able to take full advantage of their newer hardware. Since this is a new feature, it is available in 3.4 but not built by default. See the original announcement for how to do so. This feature was available in DragonFly 3.2 but is still experimental.

Availability

Two release options are now available for 32-bit as well as for 64-bit. 64-bit installations are recommended if you do not need the Linux emulation layer.

An ISO, to be burned to a physical CD or used as an image to install a virtual machine.

A bootable USB disk-key image. (minimum 2G USB stick needed)

The release ISO images should be available on most of the mirrors. If the ISO is not available on a certain mirror, please try another one or download it from the DragonFly master site. Each image is in the "Live CD" format, meaning that it boots into a running and fully functional DragonFly system, which can be used for testing or system recovery tasks as well as installation. Check the hardware page or boot a Live CD to check for compatibility.

MD5 sums

MD5 sums for the compressed images:

MD5 (dfly-i386-3.4.1_RELEASE.img.bz2) = 304aac2b5662f11af790c7f0873a1aa3

MD5 (dfly-i386-3.4.1_RELEASE.iso.bz2) = 2d5bdbff3b6bd67956519757e346ab26

MD5 (dfly-i386-gui-3.4.1_RELEASE.img.bz2) = 5d2b24c3ac661b0a22f588ac81f2e2ad

MD5 (dfly-i386-gui-3.4.1_RELEASE.iso.bz2) = 4ca4b3511cff0f46b3cf0a4130be95fa

MD5 (dfly-x86_64-3.4.1_REL.img.bz2) = ea1f86fc95f9cf30b9481a0bf4dff8eb

MD5 (dfly-x86_64-3.4.1_REL.iso.bz2) = 4e7dad45b484f00290accd14fe030171

MD5 (dfly-x86_64-gui-3.4.1_REL.img.bz2) = 3c8897a6f2ae2c2d2b9c000d3a85a720

MD5 (dfly-x86_64-gui-3.4.1_REL.iso.bz2) = ca66aa3f58d9e66075480ce10f3249e9

MD5 sums for the uncompressed images:

MD5 (dfly-i386-3.4.1_REL.img) = a233e06f0149e454e973996da9004850

MD5 (dfly-i386-3.4.1_REL.iso) = 5cc59952ecfc8fc18b447df8dd2b6086

MD5 (dfly-i386-gui-3.4.1_REL.img) = d0338bd1a48533a1fbed346fd43cfc40

MD5 (dfly-i386-gui-3.4.1_REL.iso) = bb9b3a6032e56d66b10f448a8ff5ed33

MD5 (dfly-x86_64-3.4.1_REL.img) = d430112f7d901fdd10c2f53d345c333d

MD5 (dfly-x86_64-3.4.1_REL.iso) = 5b1db3c77eeb6a71cf507cd76ddff860

MD5 (dfly-x86_64-gui-3.4.1_REL.img) = cd0a0dd126d280b37a864918705b33a1

MD5 (dfly-x86_64-gui-3.4.1_REL.iso) = 3b77c0074f141ee37c1cb221ed018bfd

pkgsrc packages

Prebuilt pkgsrc packages are built using pkgsrc-2013Q1. 'pkg_radd' can be used to automatically install binary pkgsrc packages and dependencies.

We supply a Makefile in /usr to track the pkgsrc tree and we supply a Git mirror of the NetBSD pkgsrc CVS repo at git://git.dragonflybsd.org/pkgsrcv2.git . We recommend that users use it, instead of pulling from NetBSD with CVS. Our Git mirror is updated several times a day. Type 'make' in /usr to see the available commands for performing these actions.

DragonFly 3.4 Special Installation and Upgrade Notes

Disk size warning - Installations using HAMMER should use disks over 50G in size. HAMMER history will consume disk space quickly. Either use UFS on smaller disks, or prune your file history carefully.

Virtual PC users - Virtual PC does not supply serial numbers for the virtual disks. The system may need to be manually directed in the boot loader if the disk identifier changes. (Hit ? in the boot loader for a list of available volumes.)

Qemu users - If you see a large number of error messages on the console when booting, you may need to boot DragonFly with ACPI disabled. This can be done in the menu presented at initial boot. If that doesn't help, try placing hw.ioapic_enable=0 in /boot/loader.conf.

VMWare Player users - xorg.conf may require additional configuration to display a desktop on the i386 GUI DragonFly images.

Installer Crypt Options - The installer can encrypt the root volume and the swap volume. It will not work properly for other volumes despite any additional check-boxes you might see. Installer and boot-time support works but is still a bit rough around the edges. Performance will be relatively high on multi-core machines.

DragonFly 3.4.2 Release Notes

For a list of per-commit changes between 3.4.1 and 3.4.2, see the 3.4.2 tag commit.

The major reasons for this point release were fixes for DragonFly under Xen with more than 2 CPUs specified, and for booting x86_64 DragonFly in KVM.

DragonFly 3.4.0/3.4.1 Release Notes

For a list of per-commit changes, see the 3.4.0rc tag commit and the 3.4.1 tag commit.

Kernel changes

Very large number of ACPI changes

Very large number of Interrupt routing changes

Far better MSI/MSI-X support

Multiple TX and RX ring support with networking chipsets

Many network throughput and latency enhancements

Enhanced FP unit support

Fixed panics during keyboard screen switches

Improved performance under heavy paging loads

Greatly improved namecache performance and stability under heavy SMP loads

Greatly improved VM fault performance and stability under heavy SMP loads

Improved PMAP performance and stability under heavy SMP loads (64-bit)

Fixed SMP races with ^T on heavily threaded programs

Fixed symbolic DDB backtraces (64-bit)

Improved stability of swapoff

Improved swap page allocation algorithm

Greatly Improved TMPFS performance and stability by a lot

Fixed performance issues with namecache negative caching

Improved error handling in mount and unmount

Fixed BUFFER CACHE related performance issues due to fragmentation

Proper accounting for system time during heavy token contention

'sync' system call no longer uses MNT_LAZY as this prevents a full sync

Reduce unnecessary KVM use on systems with large amounts of memory.

Improve UFS performance by making the ihash table per-mount

Better support for BIOS-emulated video displays

Fixed ptrace panic

64-bit reverted to use nmalloc (dmalloc had too many memory bloat issues)

More reliable when very rapidly mounting and unmounting filesystems

USB4BSD libraries added: libusbhid, usbhidctl.

SMP support now on by default

SMBIOS information is now detected and available.

ifnet/ifaddr statistics are now saved per-CPU.

virtio, virtio-blk drivers added.

eaccess support implemented

SO_NOSIGPIPE support implemented

Hardware changes

AVX instructions are now supported on 64-bit processors.

Improved stability for iwi(4), wpi(4), and ath(4)

hptiop(4) supports RocketRAID 4520 and 4522

USB4BSD drivers added: usb, ehci, ohci, uhci, xhci, umass, usfs, uaudio, uep, uhid, ukbd, ums, uether, udav, and axe.

em(4) and emx(4) are updated to Intel em-7.3.4.

igb(4) has I210 and I211 support, and is updated to Intel igb-2.3.7.

bnx(4) supports the BCM5717-C0, BCM5762, BCM5725 and BCM5727.

rl(4) supports the DLink DFE520TX C1

msk(4) and et(4) are MSI-enabled

bce(4) supports multiple-vector MSI-X, multiple receiving queues and multiple transmitting queues for BCM5709/BCM5716

bce(4), bge(4), bnx(4), em(4), emx(4) and jme(4) packet transmission performance has been improved by aggregating hardware register writing.

bce(4) and igb(4) now enable multiple hardware transmitting queues by default.

emx(4) supports 2 transmitting queues on 82571/82572, but is not enabled by default.

bce(4), emx(4), igb(4) and jme(4) fully support the new polling(4) (IFPOLL).

AHCI bug fixes.

HAMMER2

NOTE: HAMMER2 is not operational yet, not even for devs.

AES GCM support.

Cache coherency management system created based on HAMMER1.

Message passing system implemented.

Spanning code written.

Userland changes

Vkernel disk serial numbers and interface MACs can now be set from the command line.

mktemp(1) improvements from FreeBSD.

System make set to bmake.

Automatic installation of dports via /usr/Makefile added.

Fixed bug in powerd that could lead to only 1 cpu in the cpumask for userland scheduling.

libfetch synced with FreeBSD

libutil updated with file group utilities and hexdump

cp, mv synced with FreeBSD

getline bug fixed

Implemented automatic backup of binaries prior to installworld

Removals

None in this release

Contributed Software

Shipping with pkgsrc-2013Q1.

gcc4.1 removed

gcc4.7 promoted to primary compiler

gcc4.4 demoted to alternate compiler

flex updated to 2.5.37

bmake updated to 20121010

OpenSSH updated to 6.1p1

m4 updated

byacc updated to 20121003

OpenSSL updated to 1.0.1e

dialog updated to 1.2-20121230

libarchive updated to 3.1.2

zoneinfo updated to tzdata2013b

Security related