[ikiwiki.git] / release28 / index.mdwn
40478675 1# DragonFly Release 2.8
67b6e840 2## x October 2010 (2.8.1)
40478675 3
4The DragonFly 2.8 release is here!
67b6e840 6Three release options are now available for 32-bit as well as for 64-bit:
8* Our bare-bones CD ISO,
cdc15fdc 9* a bare-bones bootable USB disk-key image (minimum 1G USB stick needed),
67b6e840 10* and a GUI bootable USB disk-key image with a full X environment.
40478675 11
12## Availability
67b6e840 14The 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.
40478675 16
17### MD5 sums
fc70d622 19* MD5 (dfly-i386-2.8.1_REL.img.bz2) = 66d38f9329573cb23b0577ba652703b7
20* MD5 (dfly-i386-2.8.1_REL.iso.bz2) = 5db1b1559301f627e642c91c09d24e8c
21* MD5 (dfly-x86_64-2.8.1_REL.img.bz2) = 2085ceaf0a036614733abf3f3e6eb2f9
22* MD5 (dfly-x86_64-2.8.1_REL.iso.bz2) = 7847617cb2b58f04f31677a2f4538c3c
40478675 23
24### pkgsrc packages
67b6e840 26We offer thousands of pre-built [pkgsrc]( packages for this release. The [pkg_radd(1)]( utility may be used to download pre-built binary packages. The path can be overridden by setting BINPKG_SITES in `/etc/settings.conf`.
40478675 27
28To get a list of all packages, let [pkg_search(1)]( download the summary file for that release:
30 # pkg_search -d
fa02c98a 32We supply a Makefile in /usr to track the pkgsrc tree and we supply a Git mirror of the NetBSD pkgsrc CVS repo at `git://`. We recommend that
67b6e840 33users use it, instead of pulling from NetBSD with CVS. Our Git mirror is updated several times a day.
40478675 34
35## DragonFly 2.6.x Special Installation and Upgrade Notes
88c1951b 37**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.4 it is recommended to run an installworld before the installkernel to update the loader. Otherwise you can simply do the following before the 'installkernel'.
5eab3ca9 39> # cd /usr/src/sys/boot
40> # make all install
88c1951b 41
40478675 43**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:
45> # cd /usr/pksrc/net/bind96;
46> # bmake all install clean
adf2a786 47
50> # pkg_radd bind96
52> # cp /usr/pkg/share/examples/rc.d/named9 /etc/rc.d/
40478675 53> # /etc/rc.d/named stop
67b6e840 54
55edit /etc/rc.conf, and remove
40478675 57> named_enable="YES"
67b6e840 58
59then add
40478675 61> named9_enable="YES"
62> named_chrootdir="/etc/namedb"
63> named_flags="-c named.conf"
adf2a786 64> named_program="/usr/pkg/sbin/named"
40478675 65>
66> # chown -R named /etc/namedb
67> # /etc/rc.d/named9 start
67b6e840 68
69Test your setup with `host`, `dig` and so on. Check for a running `named` process with ps. Error messages should go to `/var/log/messages`.
40478675 70
fc70d622 71**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.
40478675 72
73## DragonFly 2.8 Release Notes
75### Release Improvements
77> ### Kernel changes
cdc15fdc 78* dsched, an IO Scheduler framework and dsched_fq, a Fair Queuing I/O scheduler policy.
79* Device Mapper imported from NetBSD.
80* stripe and crypt targets for the Device Mapper.
b12b5b6b 81* select(2), poll(2) and kqueue/kevent(2) implementations were unified on top of the existing kqueue implementation.
82* Device polling API's and selrecord/selwakeup were dropped, in favor of kqueue's knote API, simplifying device implementation.
83* LWKT tokens reworked to improve efficiency, especially in recursive scenarios.
84* Direct acquisition of MPLOCK removed from VM and pmaps, now under a global VM token.
cdc15fdc 85* VM: Idle time page zeroing.
b12b5b6b 86* Major update of pf from OpenBSD 3.5 to 4.2, keeping DragonFly specific additions (support for pickups and fairq).
87* Network socket flags were made atomic.
88* Additional portions of the network stack were removed from under the MPLOCK.
cdc15fdc 89* Major performance improvements to softcrypto on SMP systems.
90* kern_udev - A framework to associate optional information with device nodes.
91* initrd (initial ramdisk/malloc disk) support.
92* Removal of shared spinlocks and renaming of the spinlock API.
93* Added support for AES-XTS and AES-CTR to the opencrypto framework.
94* proplib imported from NetBSD.
95* Removal of the forth loader in favour of a C-only loader, 'dloader'.
96* Fixing of {MADV,MAP}_NOSYNC, resulting in a great performance improvement for vkernels.
b12b5b6b 97* TCP-MD5 (RFC 2385) was ported from FreeBSD.
98* LWKT scheduler's priority mechanism was rewritten
cdc15fdc 99* Linux Emulation mostly MPSAFE.
b12b5b6b 100* Added renameat syscall
cdc15fdc 101* kfree() IPIs dramatically reduced.
102* Add support for cdevs as virtual disks for vkernels.
b12b5b6b 103* nullfs gained support for the noexec flag.
fc70d622 104* It is now possible to dump to dm disks.
1a8d4d78 105* Sync amdpm(4) with FreeBSD (and bring in amdsmb(4)).
106* Sync alpm(4) with FreeBSD.
40478675 107
40478675 108> ### Hardware changes (non-networking)
cdc15fdc 109* Driver for Areca RAID controllers (arcmsr).
110* aesni crypto driver.
111* AHCI support for recent AMD SATA chipsets.
112* VIA Padlock support fixed.
fc70d622 113* The uguru(4) driver for ABIT temperature, voltage and fan sensors was ported from OpenBSD.
cdc15fdc 114* twa(4) was synced with FreeBSD version
115* New swapoff utility to turn off swap space.
40478675 116
117> ### Hardware changes (networking)
b12b5b6b 118 * New wireless network card framework has been ported from FreeBSD under contract.
119 * Wireless cards utilizing the following drivers are supported in this release: ath, iwi, iwn, ral, wi, wpi.
120 * The following drivers have not been ported and will not yet work: acx, an, bwi, ndis, rtw, rum, ural.
fc70d622 121
122> ### Multiprocessor Safe Work
cdc15fdc 123* Major MPSAFE Infrastructure was done.
b12b5b6b 124* The following parts (referencing source files) of the kernel are now MPSAFE:
62384dfe 125 * imgact_resident
126 * kern_mpipe
127 * kern_plimit
128 * kern_prot
129 * kern_sensors
130 * kern_sig
131 * kern_slaballoc
132 * kern_uuid
133 * kern_umtx
134 * syscons
135 * sys_pipe
136 * sys_process
137 * uipc_mbuf
138 * vfs_sync
139 * vm_zeroidle
140 * vnode_pager
b12b5b6b 141* Additional subsystems that are now MPSAFE: protocol drain routines, pf packet filter, kevent.
40478675 142
143> ### Userland changes
b12b5b6b 144* A catastrophic recovery command was added to the hammer(8) utility, allowing data to be potentially recovered from physically damaged media.
cdc15fdc 145* Power/CPU frequency management daemon named powerd(8).
88c1951b 146* libdevattr - A library giving access to additional information about kernel device nodes with an API that is mostly compatible with Linux' libudev.
cdc15fdc 147* udevd - A support daemon for libdevattr.
c8f28241 148* Kernel programming guide (section 9 man pages) updated and extended.
cdc15fdc 149* mkinitrd - A tool to generate an initrd image to be able to boot from crypto, lvm and other devices.
150* crashinfo, a tool to automatically extract some useful information from kernel dumps in a text format.
151* proplib imported from NetBSD.
152* Added sha512 support to libmd.
153* ftp-proxy - Port from libevent to kqueue(2)/kevent(2).
154* bthcid - Port from libevent to kqueue(2)/kevent(2).
1a8d4d78 155* FreeBSD's stress2 stress testing suite was imported.
cdc15fdc 156* ioprio, a utility to change the I/O priority of a process doing I/O on a disk with the dsched_fq policy.
157* lt, a 'tree'-like utility.
158* Ported savecore(1) from FreeBSD used to gather info from crash dumps.
b12b5b6b 159* Installer now uses tmpfs instead of mfs.
cdc15fdc 160* Several fixes for the DragonFly Mail Agent (dma).
161* top(1) prints now Proportional RSS (PRES) instead of RSS.
162* pf(4) OS fingerprints for all DragonFly versions.
fc70d622 163* OpenSSL can now load engines at run-time.
164* Various vkernel updates including support for diskless operation.
cdc15fdc 165* nmalloc (libc malloc) gained a per-thread magazine layer for improved scalability.
166* A security issue in the libc globbing code was fixed.
40478675 167
b12b5b6b 168> ### amd64-specific changes
fc70d622 169* A number of rare race conditions was fixed. This improves overall stability.
170* It is now possible to use powernow(4).
171* It is now possible to boot an SMP kernel without having to enable `APIC_IO`.
40478675 172
173> ### Removals
174* BIND is no longer in the base system. See Special Upgrade notes above for a migration path.
176> ### Contributed Software
cdc15fdc 177* Imported drill and libldns as a resolving utility in base as BIND has gone.
178* Imported lvm (Logical Volume Manager).
179* Imported cryptsetup for use with the new device mapper crypto target, dm_target_crypt.
180* Updated awk to 20100523.
181* Updated bzip2 to 1.0.6 which fixes CVE-2010-0405.
182* Updated OpenSSH to 5.6p1 (with HPN patch).
183* Updated OpenSSL to 1.0.0a.
184* Updated tzdata to 2010n.
63df655f 185
40478675 186
187>### Security related
cdc15fdc 188* Improved stability of tmpfs so that a simple user can't panic the system due to kva exhaustion.
40478675 189
190>### Big-ticket items
62384dfe 192**Crypto support** - dm-crypt was ported to DragonFly. This means that it is now possible to encrypt DragonFly partitions (e.g., HAMMER and UFS). While it is possible to only encrypt certain partition like `/home/`, it is also possible to encrypt the whole root file system. The latter is especially useful for mobile devices. Further, some parts of the code are SMP aware, so expect a speedup if using multi core machines.
fc70d622 193
54244394 194**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.
40478675 195
dfef4d62 196**WiFi Stack Update** - FreeBSD's WiFi (802.11) network stack has been ported by Rui Paulo. 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.