b4ba64e2e117cdd670f1c29735f78b5a5f25d059
[ikiwiki.git] / release210 / index.mdwn
1 # DragonFly Release 2.10
2 ## 26 April 2011 (2.10.1)
3
4 The DragonFly 2.10 release is here!
5
6 ## Big-ticket items
7
8 **Hardware and multiprocessor support** - This release supports a much larger variety of hardware and multiprocessor systems than previous releases, thanks to updates of ACPI and APIC and ACPI interrupt routing support.
9
10 **Hammer Deduplication** - Hammer volumes can now deduplicate volumes overnight in a batch process and during live operation.  The 'hammer dedup-simulate' command can be used to estimate space savings for existing data.
11
12 **Packet Filter (pf)** - Pf was updated to a version based upon OpenBSD 4.4. The previous version of pf in DragonFly was based on OpenBSD 4.2. 
13
14 **Compiler updates** - DragonFly now uses gcc 4.4 as the default system compiler, and is the first BSD to take that step.  
15
16 **New bridging functionality** - The bridging system has been rewritten.  Multiple interfaces on a single system can be bound together transparently under a single virtual MAC address, and bandwidth aggregated to that new interface.
17
18 **MP Performance** - The MPLOCK (the primary lock, that when held ensures only a single cpu is operating within the kernel) has been removed from every area except the VM system. DragonFly is one of the few non-academic operating systems to use a primary sychronization mechanism that is not a blocking mutex
19
20 **Overall Performance** - DragonFly now offers significant performance gains over previous releases, especially for machines using AHCI or implementing swapcache(8).
21
22 **ACPI Support** - Major update to DragonFly's ACPI support have been made, particularly for interrupt routing.
23
24 ## Availability
25
26 Three 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.
27
28 * An ISO, to be burned to a physical cd or used as an image to install a virtual machine.
29 * A bootable USB disk-key image (minimum 2G USB stick needed)
30 * A GUI bootable USB disk-key image with a full X environment (minimum 4G USB stick needed).
31
32 The release ISO images should be available on most of the [[mirrors|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
33
34 The GUI bootable USB image also contains the DragonFly git repo in /usr/src and the PkgSrc git repo in /usr/pkgsrc.  The code can be trivially checked out using these repos and even an old repo can be incrementally updated from master sites post-install.
35
36 ### MD5 sums
37
38 * MD5 (dfly-i386-2.10.1_REL.img.bz2) = 3b296fdbdb6189c802954b1267956048
39 * MD5 (dfly-i386-2.10.1_REL.iso.bz2) = 3761a7deedcf4b07168a822cb068bf27
40 * MD5 (dfly-i386-gui-2.10.1_REL.img.bz2) = ae4df7b369f1c6129638eb0daa424cab
41 * MD5 (dfly-x86_64-2.10.1_REL.img.bz2) = 3cc9df8f74f8c329605ad08cd8045a80
42 * MD5 (dfly-x86_64-2.10.1_REL.iso.bz2) = 980305aa5282138a3fdecbe182334e53
43 * MD5 (dfly-x86_64-gui-2.10.1_REL.img.bz2) = 13243061d32cc68d95eeb8cf36aefb1d
44 * MD5 (dfly-i386-2.10.1_REL.img) = d9c210e32b34d5697744c3db60d8c734
45 * MD5 (dfly-i386-2.10.1_REL.iso) = 7ead78315076382bc3410c6af12d4bcd
46 * MD5 (dfly-i386-gui-2.10.1_REL.img) = 152188ac8ba600c4428e774d6e70a787
47 * MD5 (dfly-x86_64-2.10.1_REL.img) = 088ee5b4119b1a7fc8986912f15d06fb
48 * MD5 (dfly-x86_64-2.10.1_REL.iso) = 069f8c819b4a0418c05ca1a8b375092b
49 * MD5 (dfly-x86_64-gui-2.10.1_REL.img) = ab4ed9e564efe6d48122a3b1c949cfd4
50
51 ### pkgsrc packages
52
53 We offer roughly 10,000 pre-built [pkgsrc](http://www.pkgsrc.org) packages for this release. The [pkg_radd(1)](http://leaf.dragonflybsd.org/cgi/web-man?command=pkg_radd&section=ANY) utility may be used to download pre-built binary packages.  The path can be overridden by setting BINPKG_BASE in `/etc/pkg_radd.conf`.
54
55 To get a list of all packages, let [pkg_search(1)](http://leaf.dragonflybsd.org/cgi/web-man?command=pkg_search&section=ANY) download the summary file for that release:
56
57     # pkg_search -d
58
59 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.
60
61 ## DragonFly 2.10 Special Installation and Upgrade Notes
62
63 **Using deduplication** - Hammer volumes need to be upgraded to version 5 to use deduplication.  The 'hammer version-upgrade <filesystem> <version>' command will perform this in-place.
64
65 ** APIC_IO** - The APIC_IO kernel option can now also be controlled via the hw.apic_io_enable /boot/loader.conf tunable.  The kernel option simply specifies the default now.
66
67 **VirtualBox, Virtual PC, and VMWare users** - Unless your virtual hard disk is 50G or larger, we recommend doing a UFS install and not the default HAMMER install.  We also recommend installing from the CD ISO and not the GUI IMG.  A more serious installation should use HAMMER with at least a 50G disk image and can install from the GUI IMG.
68
69 **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.)
70
71 **Interrupt Routing Issues** - If you are experiencing interrupt routing issues there are several boot options you can try.  You can try booting both UP and MP kernels (both are available via the boot menu), you can try booting without ACPI, you can boot with ACPI but disable ACPI-based interrupt routing by setting debug.acpi.disabled="pcib", you can disable use of the IO APICs by setting hw.apic_io_enable=0, and you can enable an emergency interrupt polling thread by setting kern.emergency_intr_enable=1.  Once you have a working system you can edit /boot/loader.conf on the USB stick to set your new defaults in stone.
72
73 **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.
74
75 ## DragonFly 2.10 Release Notes
76
77 ### Release Improvements
78
79 > ### Kernel changes
80  * Update of pf from OpenBSD 4.2 to 4.4, keeping DragonFly specific additions (support for pickups and fairq).
81  * mlockall(2)/munlockall(2) implemented
82  * devfs chown/chmod bug fixes
83  * Major overhaul of the device mapper (dm)
84  * dm_target_crypt now uses mpipe for memory allocations
85  * New kern.proc.cwd sysctl
86  * Major overhaul of the vn(4) driver
87  * Many sysctls now have a description
88  * msdosfs bug fixes
89  * mbuf now supports MJUMPAGESIZE
90  * Fix fstatfs() and fstatvfs() when called from a null-mounted chroot()
91  * Several subsystems switched from zalloc to objcache (ufs dirhash, NFS, aio, crypto)
92  * Minimum UNDO storage raised to 500M by newfs_hammer.
93  * Lots of code WARNS raises to improve portability.
94  * ACPI interrupt routing implemented and enabled by default
95  * ACPI - tons of work has gone into our ACPI support.
96  * APIC_IO now acts as a default and can be changed in /boot/loader.conf
97  * Overhaul LWKT and USCHED schedulers for MP performance when many cpus are present.
98  * Significant HAMMER bug fixes and performance improvements.
99  * HAMMER enhancements to allow swapcache to more easily cache file data via vfs.hammer.double_buffer mode.
100  * HAMMER double_buffer mode's strategy code is now asynchronous.
101  * CAM tag reservation code fixed for AHCI and SILI drivers.
102  * CAM DA driver enhanced to separate read and write streams, allowing concurrent write completion in the face of many stalled read requests.
103  * Major enhancements to the if_bridge code, adding support for bonding, weights, and other features.
104  * Use blocking mbufs in TAP/TUN to avoid unnecessary packet loss.
105  * Fixed a few difficult-to-reproduce bugs in the VM system
106  * Major timer functionality changes, the 8254 will no longer be used unless there is no other choice.
107  * Jump page support added to the mbuf API and used in several WIFI drivers.
108  * Fix bugs in ktrace related to the MP work which could freeze the system.
109  * LWKT thread migration code redone.
110  * The FAIRQ altq has been significantly enhanced and now supports weighted expansion of bandwidths up to the interface bandwidth.
111  * Lots of MP-related bug fixes to the network stack.
112  * Use MONITOR/MWAIT in the idle thread as an intermediate step prior to ACPI halt.
113
114 > ### Hardware changes (non-networking)
115  * mfi(4) RAID driver and mfiutil(8) configuration tool added.
116  * arcmsr(4) updated
117  * twe(4) updated
118  * amr(4) updated
119  * aac(4) updated
120  * hptmv(4) added
121  * hptiop(4) added
122  * dc(4) support for the Abocom FE2500
123  * tws(4) added, a driver for the LSI 3ware 9750 series SATA/SAS RAID controllers.
124  * aesni(4) bug fixes
125  * kqueue added to ulpt to improve CUPS support.
126  * AHCI driver enhanced to better support semi-broken chipsets which do not properly mask transient phy events during training.
127  * AHCI driver hotplug support improved.
128
129 > ### Hardware changes (networking)
130  * Wireless cards utilizing the following drivers are supported in this release: ath, iwi, iwn, ral, wi, wpi. (update me)
131  * The following drivers have not been ported and will not yet work: acx, an, bwi, ndis, rtw, rum, ural. (update me)
132
133 > ### New Multiprocessor Safe Work
134  * BGL replaced by mp_token, mp_token replaced by per-subsystem tokens in nearly all cases
135  * Most per-subsystem tokens replaced with fine-grained tokens, except for VM.
136  * The lwkt_token API has been greatly simplified.
137  * Numerous scheduler and memory management changes to improve MP performance.
138
139 > ### Userland changes
140  * The installer now allows you to crypt swap and root
141  * libcrypt now supports sha256/512
142  * The default password hash is now sha256
143  * dmsetup now supports remove_all
144  * utmpx and wtmpx support
145  * newfs now supports volume names
146  * hammer(8) now supports listing volumes
147  * New library libfsid, used to determine what FS is on a given volume
148  * New utility: devattr, exposes the libdevattr and kern_udev functionality
149  * fstat(1) now supports devfs
150  * powerd now dynamically reduces the set of cpus available and adjusts their frequencies independently when the hardware supports it.
151  * GLOB_LIMIT removed from ftpd because it was getting hit by nominal pkgsrc operations.  Swapcache removes most of the DOS attack potential.
152
153 > ### x86_64-specific changes
154 * 64-bit systems now can support up to 63 CPUs and 512G of RAM
155 * Much faster early-kernel-boot memory test
156 * More generous kernel resource limits
157
158 > ### Removals
159 * TBD
160
161 > ### Contributed Software
162 * Shipping with pkgsrc-2011Q1 built packages.
163 * Code from DragonFly's participation in Google Code-In 2011
164 * Updated ldns/drill to 1.6.7
165 * Updated libarchive to 2.8.4
166 * Updated zlib to 1.2.5
167 * Updated OpenSSL to 1.0.0d
168 * Updated OpenSSH to -5.8p1
169 * Updated file to 5.05
170 * Updated zoneinfo to tzdata2011g
171 * Updated binutils to 2.21
172 * Updated acpica to 20110211
173 * Updated mdocml to 1.10.9
174 * Updated gcc to 4.4.5
175 * Imported xz-5.0.0
176 * Imported binutils 2.21
177
178
179
180 >### Security related
181 * A security issue in OpenSSL (CVE-2011-0014) was fixed.
182