Fix typo in pf detail explanation
[ikiwiki.git] / release28 / index.mdwn
1 # DragonFly Release 2.8
2 ## x October 2010 (2.8.1)
3
4 The DragonFly 2.8 release is here!
5
6 Three release options are now available for 32-bit as well as for 64-bit:  
7
8 * Our bare-bones CD ISO,
9 * a bare-bones bootable USB disk-key image (minimum 1G USB stick needed)
10 * and a GUI bootable USB disk-key image with a full X environment.
11
12 ## Availability
13
14 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.
15
16
17 ### MD5 sums
18
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
23
24 ### pkgsrc packages
25
26 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_SITES in `/etc/settings.conf`.
27
28 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:
29
30     # pkg_search -d
31
32 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/pkgsrcv1.git`.  We recommend that
33 users use it, instead of pulling from NetBSD with CVS.  Our Git mirror is updated several times a day.
34
35 ## DragonFly 2.6.x Special Installation and Upgrade Notes
36
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'.
38
39 >     # cd /usr/src/sys/boot
40 >     # make all install
41
42
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:
44
45 >     # cd /usr/pksrc/net/bind96; 
46 >     # bmake all install clean
47
48 or
49
50 >     # pkg_radd bind96
51
52 >     # cp /usr/pkg/share/examples/rc.d/named9 /etc/rc.d/
53 >     # /etc/rc.d/named stop
54
55 edit /etc/rc.conf, and  remove 
56
57 >     named_enable="YES"
58
59 then add
60
61 >     named9_enable="YES"
62 >     named_chrootdir="/etc/namedb"
63 >     named_flags="-c named.conf"
64 >     named_program="/usr/pkg/sbin/named"
65 >
66 >     # chown -R named /etc/namedb
67 >     # /etc/rc.d/named9 start
68
69 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`.
70
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.
72
73 ## DragonFly 2.8 Release Notes
74
75 ### Release Improvements
76
77 > ### Kernel changes
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
81 * select/poll hoisted onto kqueue
82 * LWKT tokens reworked
83 * MP Lock removed from VM and pmaps (sorta: its still taken with the vm token, but the groundwork is there)
84 * VM: Idle time page zeroing
85 * Major update of pf  from OpenBSD 3.5 to 4.2, keeping DragonFly specific additions (support for pickups and fairq)
86 * swapoff added
87 * Major network work (NEEDS MORE DETAILS).
88 * Major performance improvements to softcrypto on SMP systems
89 * kern_udev - A framework to associate optional information with device nodes
90 * initrd (initial ramdisk/malloc disk) support
91 * Removal of shared spinlocks and renaming of the spinlock API
92 * Added support for AES-XTS and AES-CTR to the opencrypto framework
93 * proplib imported from NetBSD
94 * Removal of the forth loader in favour of a C-only loader, 'dloader'
95 * Fixing of {MADV,MAP}_NOSYNC, resulting in a great performance improvement for vkernels
96 * add TCP-MD5 (RFC 2385) support to ipsec (XXX: or is it fast_ipsec?)
97 * rewrite the LWKT scheduler's priority mechanism (XXX: more info?)
98 * Linux Emulation mostly MPSAFE
99 * Added renameat syscall (XXX: do we mention individual syscalls like this?)
100 * kfree() IPIs dramatically reduced
101 * Add support for cdevs as virtual disks for vkernels
102 * nullfs has now support for the noexec flag
103 * It is now possible to dump to dm disks.
104
105 > ### HAMMER changes
106 * foo
107 * bar 
108
109 > ### Hardware changes (non-networking)
110 * Driver for Areca RAID controllers (arcmsr)
111 * aesni crypto driver
112 * AHCI support for recent AMD SATA chipsets
113 * VIA Padlock support fixed
114 * The uguru(4) driver for ABIT temperature, voltage and fan sensors was ported from OpenBSD.
115 * twa(4) was synced with FreeBSD version 3.80.06.003
116 * New swapoff utility to turn off swap space
117 * TCP-MD5 (RFC 2385) was ported from FreeBSD
118
119 > ### Hardware changes (networking)
120 * New wireless network card framework, which work with the following cards: ath, iwn, ral, wi, wpi 
121
122 > ### Multiprocessor Safe Work
123 * Major MPSAFE Infrastructure was done
124 * The following parts (as in source files) of the kernel are now MPSAFE:
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
141 * The protocol drain routines as now MPSAFE
142 * The pf packet filter works now with the MPSAFE network stack
143
144 > ### Userland changes
145 * Power/CPU frequency management daemon named powerd(8)
146 * libdevattr - A library giving access to additional information about kernel device nodes with an API that is mostly compatible with Linux' libudev.
147 * udevd - A support daemon for libdevattr
148 * Kernel programming guide (section 9 man pages) updated and extended.
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 * ioprio, a utility to change the I/O priority of a process doing I/O on a disk with the dsched_fq policy
154 * lt, a 'tree'-like utility
155 * Ported savecore(1) from FreeBSD used to gather info from crash dumps
156 * Installer - It now uses tmpfs instead of mfs
157 * Several fixes for the DragonFly Mail Agent (dma)
158 * top(1) prints now Proportional RSS (PRES) instead of RSS
159 * pf(4) OS fingerprints for all DragonFly versions 
160 * OpenSSL can now load engines at run-time.
161 * Various vkernel updates including support for diskless operation.
162 * nmalloc (libc malloc) gained a per-thread magazine layer for improved scalability
163 * A security issue in the libc globbing code was fixed
164
165 > ### amd64 related changes
166 * A number of rare race conditions was fixed. This improves overall stability.
167 * It is now possible to use powernow(4).
168 * It is now possible to boot an SMP kernel without having to enable `APIC_IO`.
169
170 > ### Removals
171 * BIND is no longer in the base system.  See Special Upgrade notes above for a migration path.
172
173 > ### Contributed Software
174 * Imported drill and libldns as a resolving utility in base as BIND has gone
175 * Imported lvm (Logical Volume Manager)
176 * Imported cryptsetup for use with the new device mapper crypto target, dm_target_crypt
177 * Updated awk to 20100523
178 * Updated bzip2 to 1.0.6 which fixes CVE-2010-0405
179 * Updated OpenSSH to 5.6p1 (with HPN patch)
180 * Updated OpenSSL to 1.0.0a
181 * Updated tzdata to 2010n
182
183
184 >### Security related
185 * Improved stability of tmpfs so that a simple user can't panic the system due to kva exhaustion
186
187 >### Big-ticket items
188
189 **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.
190
191 **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.
192
193 **thingname** - thingsdesc
194