(no commit message)
[ikiwiki.git] / release210 / index.mdwn
1 # DragonFly Release 2.10
2 ## 25 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.  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 ## DragonFly 2.10 Release Notes
74
75 ### Release Improvements
76
77 > ### Kernel changes
78  * Update of pf from OpenBSD 4.2 to 4.4, keeping DragonFly specific additions (support for pickups and fairq).
79  * mlockall(2)/munlockall(2) implemented
80  * devfs chown/chmod bug fixes
81  * Major overhaul of the device mapper (dm)
82  * dm_target_crypt now uses mpipe for memory allocations
83  * New kern.proc.cwd sysctl
84  * Major overhaul of the vn(4) driver
85  * Many sysctls now have a description
86  * msdosfs bug fixes
87  * mbuf now supports MJUMPAGESIZE
88  * Fix fstatfs() and fstatvfs() when called from a null-mounted chroot()
89  * Several subsystems switched from zalloc to objcache (ufs dirhash, NFS, aio, crypto)
90  * Minimum UNDO storage raised to 500M by newfs_hammer.
91  * Lots of code WARNS raises to improve portability.
92  * ACPI interrupt routing implemented and enabled by default
93  * ACPI - tons of work has gone into our ACPI support.
94  * APIC_IO now acts as a default and can be changed in /boot/loader.conf
95  * Overhaul LWKT scheduler for MP performance.
96  * Significant HAMMER bug fixes and performance improvements.
97  * HAMMER enhancements to allow swapcache to more easily cache file data via vfs.hammer.double_buffer mode.
98  * HAMMER double_buffer mode's strategy code is now asynchronous.
99  * CAM tag reservation code fixed for AHCI and SILI drivers.
100  * CAM DA driver enhanced to separate read and write streams, allowing concurrent write completion in the face of many stalled read requests.
101  * Major enhancements to the if_bridge code, adding support for bonding, weights, and other features.
102  * Use blocking mbufs in TAP/TUN to avoid unnecessary packet loss.
103  * Fixed a few difficult-to-reproduce bugs in the VM system
104  * Major timer functionality changes, the 8254 will no longer be used unless there is no other choice.
105  * Jump page support added to the mbuf API and used in several WIFI drivers.
106  * Fix bugs in ktrace related to the MP work which could freeze the system.
107  * LWKT thread migration code redone.
108  * The FAIRQ altq has been significantly enhanced and now supports weighted expansion of bandwidths up to the interface bandwidth.
109  * Lots of MP-related bug fixes to the network stack.
110
111 > ### Hardware changes (non-networking)
112  * mfi(4) RAID driver and mfiutil(8) configuration tool added.
113  * arcmsr(4) updated
114  * twe(4) updated
115  * amr(4) updated
116  * aac(4) updated
117  * hptmv(4) added
118  * hptiop(4) added
119  * dc(4) support for the Abocom FE2500
120  * tws(4) added, a driver for the LSI 3ware 9750 series SATA/SAS RAID controllers.
121  * aesni(4) bug fixes
122  * kqueue added to ulpt to improve CUPS support.
123
124 > ### Hardware changes (networking)
125  * Wireless cards utilizing the following drivers are supported in this release: ath, iwi, iwn, ral, wi, wpi. (update me)
126  * The following drivers have not been ported and will not yet work: acx, an, bwi, ndis, rtw, rum, ural. (update me)
127
128 > ### New Multiprocessor Safe Work
129  * BGL replaced by mp_token, mp_token replaced by per-subsystem tokens in nearly all cases
130  * Most per-subsystem tokens replaced with fine-grained tokens, except for VM.
131  * The lwkt_token API has been greatly simplified.
132  * Numerous scheduler and memory management changes to improve MP performance.
133
134 > ### Userland changes
135  * The installer now allows you to crypt swap and root
136  * libcrypt now supports sha256/512
137  * The default password hash is now sha256
138  * dmsetup now supports remove_all
139  * utmpx and wtmpx support
140  * newfs now supports volume names
141  * hammer(8) now supports listing volumes
142  * New library libfsid, used to determine what FS is on a given volume
143  * New utility: devattr, exposes the libdevattr and kern_udev functionality
144  * fstat(1) now supports devfs
145  * powerd now dynamically reduces the set of cpus available and adjusts their frequencies independently when the hardware supports it.
146  * GLOB_LIMIT removed from ftpd because it was getting hit by nominal pkgsrc operations.  Swapcache removes most of the DOS attack potential.
147
148 > ### x86_64-specific changes
149 * 64-bit systems now can support up to 63 CPUs and 512G of RAM
150 * Much faster early-kernel-boot memory test
151
152 > ### Removals
153 * this
154 * that
155
156 > ### Contributed Software
157 * Shipping with pkgsrc-2011Q1 built packages.
158 * Code from DragonFly's participation in Google Code-In 2011
159 * Updated ldns/drill to 1.6.7
160 * Updated libarchive to 2.8.4
161 * Updated zlib to 1.2.5
162 * Updated OpenSSL to 1.0.0d
163 * Updated OpenSSH to -5.8p1
164 * Updated file to 5.05
165 * Updated zoneinfo to tzdata2011g
166 * Updated binutils to 2.21
167 * Updated acpica to 20110211
168 * Updated mdocml to 1.10.9
169 * Updated gcc to 4.4.5
170 * Imported xz-5.0.0
171 * Imported binutils 2.21
172
173
174
175 >### Security related
176 * A security issue in OpenSSL (CVE-2011-0014) was fixed.
177