Update MD5's and date
[ikiwiki.git] / release28 / index.mdwn
1 # DragonFly Release 2.8
2 ## 30 October 2010 (2.8.2)
3
4 The DragonFly 2.8 release is here!
5
6 ## Big-ticket items
7
8 **Crypto support** - A cryptsetup compatible cryptographic device mapper target was written for DragonFly.  This means that it is now possible to encrypt DragonFly partitions (e.g., HAMMER and UFS). While it is possible to only encrypt any partition like `/home/`, it is also possible to encrypt the whole root file system. The latter is especially useful for mobile devices. It is also possible to encrypt the swap partition while still being able to dump a kernel core. Further, the code is SMP aware, so expect a speedup if using multi-core machines and don't have cryptographic hardware support.
9
10 **Packet Filter (pf)** - Pf was updated to a version based upon OpenBSD 4.2. The previous version of pf in DragonFly was based on OpenBSD 3.5. This, in addition to laying the ground for further following OpenBSD's implementation, introduced several performance gains: Information like route-to, altq, tags, etc are now stored in the `mbuf` header directly. This was partially already the case up to DragonFly 2.6, but now the implementation corresponds to OpenBSD's. Furthermore an often unnecessary checksumming was removed, which gains another 10% performance.  Also state tables and interface bound states were reimplemented and the pf_test_*() functions where fold into pf_test_rule() to make things clearer. DragonFly-specific additions, support for fairq packet queueing and pickups, have remained intact.
11
12 **WiFi Stack Update** - FreeBSD's WiFi (802.11) network stack has been ported.  While not all WiFi drivers have been ported the ability to port drivers from FreeBSD much more easily will allow us to ultimately add support for more and newer WiFi devices in the near future.
13
14 **MP Performance** - The multiprocessor work that has been ongoing in DragonFly is beginning to bear fruit. The MPLOCK (The primary lock, that when held ensures only a single cpu is operating within the kernel) has been pushed back significantly with this release. Another major effort has involved replacing the MPLOCK with LWKT soft tokens in most of the major subsystems throughout the kernel. These tokens still acquire the MPLOCK, but feature a sysctl to disconnect the token from the MPLOCK for testing, increasing safety for future development. The system is nearly stable with 'lwkt.vm_mpsafe' set, for example, which removes the MPLOCK from the entire VM subsystem. The result of this continuing work is improved performance for many workloads.
15
16 ## Availability
17
18 Three release options are now available for 32-bit as well as for 64-bit.
19
20 * An ISO, to be burned to a physical cd or used as an image to install a virtual machine.
21 * A bootable USB disk-key image (minimum 1G USB stick needed)
22 * A GUI bootable USB disk-key image with a full X environment.
23
24 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 FTP server. 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
25
26
27 ### MD5 sums
28
29 * MD5 (dfly-i386-2.8.2_REL.img.bz2) = 2123df13f656fc84f752bd742ba497fc
30 * MD5 (dfly-i386-2.8.2_REL.iso.bz2) = 80ba243f241dfa66828e0cb752a06ff3
31 * MD5 (dfly-i386-gui-2.8.2_REL.img.bz2) = 9ce3f7d99dc32650214b99f4a38104dc
32 * MD5 (dfly-x86_64-2.8.2_REL.img.bz2) = 71dd11dbe0a87fbd8811e5b1000626f3
33 * MD5 (dfly-x86_64-2.8.2_REL.iso.bz2) = 7d73c5d693be29b9efd1f2886508466e
34 * MD5 (dfly-x86_64-gui-2.8.2_REL.img.bz2) = e5cb712ace4b5216cfb7a349197acc30
35
36
37 ### pkgsrc packages
38
39 We offer thousands of 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/settings.conf`.
40
41 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:
42
43     # pkg_search -d
44
45 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.
46
47 ## DragonFly 2.8.x Special Installation and Upgrade Notes
48
49 **New Loader** - The forth loader is no longer in the system. The new loader, 'dloader', has to be installed before an 'installkernel'. If you are updating from an older system such as DragonFly 2.6 it is recommended to run an installworld before the installkernel to update the loader. Otherwise you can simply do the following before the 'installkernel'.
50
51 >     # cd /usr/src/sys/boot
52 >     # make all install
53
54
55 **BIND removal** - BIND is no longer in the base system.  If you are using BIND or any of the associated utilities (host, nslookup, etc.), this method will allow you to transition to the version in pkgsrc:
56
57 >     # cd /usr/pksrc/net/bind96
58 >     # bmake all install clean
59
60 or
61
62 >     # pkg_radd bind96
63
64 >     # cp /usr/pkg/share/examples/rc.d/named9 /etc/rc.d/
65 >     # /etc/rc.d/named stop
66
67 edit /etc/rc.conf, and  remove 
68
69 >     named_enable="YES"
70
71 then add
72
73 >     named9_enable="YES"
74 >     named_chrootdir="/etc/namedb"
75 >     named_flags="-c named.conf"
76 >     named_program="/usr/pkg/sbin/named"
77 >
78 >     # chown -R named /etc/namedb
79 >     # /etc/rc.d/named9 start
80
81 Test your setup with `host`, `dig` and so on. Check for a running `named` process with ps. Error messages should go to `/var/log/messages`.
82
83 **OpenSSL upgrade** - OpenSSL has been upgraded, and SHLIB_MAJOR was bumped for `libssh` and `libcrypto`. This shouldn't break any 3rd-party software, but you'll need to recompile your 3rd-party software if you want it to link against the new version of OpenSSL.
84
85 **libevent removal** - Any previously installed applications depending on the `libevent` library in base will require recompilation, as this library is no longer supplied as standard.
86
87 **VirtualBox, Virtual PC, and VMWare users** - Unless your virtual hard disk is 50G or larger, we recommend
88 doing a UFS install and not the default HAMMER install.  We also recommend installing from the CD ISO
89 and not the DVD ISO.
90
91 **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.)
92
93 ## DragonFly 2.8 Release Notes
94
95 ### Release Improvements
96
97 > ### Kernel changes
98 * dsched, an IO Scheduler framework and dsched_fq, a Fair Queuing I/O scheduler policy.
99 * Device Mapper imported from NetBSD.
100 * stripe and crypt targets for the Device Mapper.
101 * select(2), poll(2) and kqueue/kevent(2) implementations were unified on top of the existing kqueue implementation.
102 * Device polling API's and selrecord/selwakeup were dropped, in favor of kqueue's knote API, simplifying device implementation.
103 * LWKT tokens reworked to improve efficiency, especially in recursive scenarios.
104 * Direct acquisition of MPLOCK removed from VM and pmaps, now under a global VM token.
105 * VM: Idle time page zeroing.
106 * Major update of pf from OpenBSD 3.5 to 4.2, keeping DragonFly specific additions (support for pickups and fairq).
107 * Network socket flags were made atomic.
108 * Additional portions of the network stack were removed from under the MPLOCK.
109 * Major performance improvements to softcrypto on SMP systems.
110 * kern_udev - A framework to associate optional information with device nodes.
111 * initrd (initial ramdisk/malloc disk) support.
112 * Removal of shared spinlocks and renaming of the spinlock API.
113 * Added support for AES-XTS and AES-CTR to the opencrypto framework.
114 * proplib imported from NetBSD.
115 * Removal of the forth loader in favor of a C-only loader, 'dloader'.
116 * Fixing of {MADV,MAP}_NOSYNC, resulting in a great performance improvement for vkernels.
117 * TCP-MD5 (RFC 2385) was ported from FreeBSD.
118 * LWKT scheduler's priority mechanism was rewritten
119 * Linux Emulation mostly MPSAFE.
120 * Added renameat syscall
121 * kfree() IPIs dramatically reduced.
122 * Add support for cdevs as virtual disks for vkernels.
123 * nullfs gained support for the noexec flag.
124 * It is now possible to dump to dm disks.
125 * Sync amdpm(4) with FreeBSD (and bring in amdsmb(4)).
126 * Sync alpm(4) with FreeBSD.
127
128 > ### Hardware changes (non-networking)
129 * Driver for Areca RAID controllers (arcmsr).
130 * aesni crypto driver.
131 * AHCI support for recent AMD SATA chipsets.
132 * VIA Padlock support fixed.
133 * The uguru(4) driver for ABIT temperature, voltage and fan sensors was ported from OpenBSD.
134 * twa(4) was synced with FreeBSD version 3.80.06.003.
135 * New swapoff utility to turn off swap space.
136
137 > ### Hardware changes (networking)
138  * New wireless network card framework has been ported from FreeBSD.
139  * Wireless cards utilizing the following drivers are supported in this release: ath, iwi, iwn, ral, wi, wpi.
140  * The following drivers have not been ported and will not yet work: acx, an, bwi, ndis, rtw, rum, ural.
141
142 > ### Multiprocessor Safe Work
143 * Major MPSAFE Infrastructure was done.
144 * The following parts (referencing source files) of the kernel are now MPSAFE:
145  * imgact_resident
146  * kern_mpipe
147  * kern_plimit
148  * kern_prot
149  * kern_sensors
150  * kern_sig
151  * kern_slaballoc
152  * kern_uuid
153  * kern_umtx
154  * syscons
155  * sys_pipe
156  * sys_process
157  * uipc_mbuf
158  * vfs_sync
159  * vm_zeroidle
160  * vnode_pager
161 * Additional subsystems that are now MPSAFE: protocol drain routines, pf packet filter, kevent. The ahci and sili drivers and tty's have also received MPSAFE treatment.
162
163 > ### Userland changes
164 * A catastrophic recovery command was added to the hammer(8) utility, allowing data to be potentially recovered from physically damaged media.
165 * Power/CPU frequency management daemon named powerd(8).
166 * libdevattr - A library giving access to additional information about kernel device nodes with an API that is mostly compatible with Linux' libudev.
167 * udevd - A support daemon for libdevattr.
168 * Kernel programming guide (section 9 man pages) updated and extended.
169 * mkinitrd - A tool to generate an initrd image to be able to boot from crypto, lvm and other devices.
170 * crashinfo, a tool to automatically extract some useful information from kernel dumps in a text format.
171 * proplib imported from NetBSD.
172 * Added sha512 support to libmd.
173 * ftp-proxy and bthcid were ported from libevent to kqueue(2)/kevent(2) and libevent was removed from the base system.
174 * FreeBSD's stress2 stress testing suite was imported.
175 * ioprio, a utility to change the I/O priority of a process doing I/O on a disk with the dsched_fq policy.
176 * lt, a 'tree'-like utility.
177 * Ported savecore(1) from FreeBSD used to gather info from crash dumps.
178 * Installer now uses tmpfs instead of mfs.
179 * Several fixes for the DragonFly Mail Agent (dma).
180 * top(1) prints now Proportional RSS (PRES) instead of RSS.
181 * pf(4) OS fingerprints for all DragonFly versions.
182 * OpenSSL can now load engines at run-time.
183 * Various vkernel updates including support for diskless operation.
184 * nmalloc (libc malloc) gained a per-thread magazine layer for improved scalability.
185
186 > ### amd64-specific changes
187 * A number of rare race conditions was fixed. This improves overall stability.
188 * It is now possible to use powernow(4).
189 * It is now possible to boot an SMP kernel without having to enable `APIC_IO`.
190
191 > ### Removals
192 * BIND is no longer in the base system.  See Special Upgrade notes above for a migration path.
193 * libevent.
194
195 > ### Contributed Software
196 * Imported drill and libldns as a resolving utility in base as BIND has gone.
197 * Imported lvm (Logical Volume Manager).
198 * Imported cryptsetup for use with the new device mapper crypto target, dm_target_crypt.
199 * Updated awk to 20100523.
200 * Updated bzip2 to 1.0.6 which fixes CVE-2010-0405.
201 * Updated OpenSSH to 5.6p1 (with HPN patch).
202 * Updated OpenSSL to 1.0.0a.
203 * Updated tzdata to 2010n.
204
205
206 >### Security related
207 * Improved stability of tmpfs so that a user can't panic the system due to malloc zone exhaustion.
208 * A security issue in libopie was fixed.
209 * A security issue in the libc globbing code was fixed.