1 <!--#set var="title" value="DragonFly - July 2006 Release 1.6.x Download" -->
2 <!--#include virtual="/includes/header.shtml" -->
4 <!-- $DragonFly: site/data/community/release1_6.shtml,v 1.4 2007/03/18 19:35:17 dillon Exp $ -->
6 <h1>Obtaining DragonFly 1.6.x for your system</h1>
8 <h2>1.6.0 ISO Images for CDs</h2>
11 DragonFly CDs are 'live', which means that the CD will boot your system
12 and let you log in as root (no password). You can use this feature to
13 check for hardware compatibility and play with DragonFly a little before
14 actually installing it on your hard drive.
17 The CD includes an installer that can be run at the console, or
18 (experimentally) via a web browser. Make sure you read the
19 <a href="/cgi-bin/cvsweb.cgi/~checkout~/src/nrelease/root/README">README</a>
20 file for more information. To activate the installer, boot the CD and
24 The installer has a Netboot server option. You can
25 boot the CD on one machine, enable the feature via the installer, and
26 then PXEBoot other systems and do a network based install. System
27 operators should be aware that running the netboot server hardwires
28 a 10.1.0.X network and runs a DHCP server which might interfere with
29 other DHCP servers on your LAN.
32 See the 'Download Site' list below for a list of download locations.
36 <b>The MD5 for the release is:
37 <br />MD5 (dfly-1.6.0_REL.iso.gz) = ebbcc2f4af5f7ee1e5a4cbf6f3f75bf8
41 <h2>1.6.x Release Errata</h2>
43 DragonFly releases are meant to be stable, dependable entities. We
44 backport compatible bug fixes from current development into release
45 branches but we do not generally backport new features.
46 The release CD is always a '.0', e.g. 1.6.0. The most common way to
47 track a release is to use cvsup to track the release sources and then
48 build and install a new world and kernel to keep your system updated.
51 <B>We do not always get every last little fix into a release. Please
52 be sure to read the errata page for the release CD!</B>
65 <TD><A HREF="errata1_6.shtml">Errata</A></TD>
73 <h2>1.6.x Release Sites</h2>
78 <TH>Mirrored Data</TH>
79 <TH>Access methods</TH>
83 <TR><TD>Fortunaty.net</TD>
84 <TD>1.6.0_REL image</TD>
85 <TD><A HREF="http://ftp.fortunaty.net/DragonFly/iso-images/dfly-1.6.0_REL.iso.gz">HTTP</A></TD></TR>
88 <TR><TD>Chlamydia.fs.ei.tum.de (Germany)</TD>
89 <TD>1.6.0_REL image</TD>
91 <A HREF="http://chlamydia.fs.ei.tum.de/pub/DragonFly/iso-images/dfly-1.6.0_REL.iso.gz">HTTP</A>
92 <A HREF="ftp://chlamydia.fs.ei.tum.de/pub/DragonFly/iso-images/dfly-1.6.0_REL.iso.gz">FTP</A>
97 <TR><TD>BGP4.net (USA)</TD>
98 <TD>1.6.0_REL image</TD>
100 <A HREF="http://mirror.bgp4.net/pub/DragonFly/iso-images/dfly-1.6.0_REL.iso.gz">HTTP</A>
101 <A HREF="ftp://mirror.bgp4.net/pub/DragonFly/iso-images/dfly-1.6.0_REL.iso.gz">FTP</A>
105 <TR><TD>TheShell.com</TD>
106 <TD>1.6.0_REL image</TD>
108 <A HREF="http://www.theshell.com/pub/DragonFly/iso-images/dfly-1.6.0_REL.iso.gz">HTTP</A>
109 <A HREF="ftp://ftp.theshell.com/pub/DragonFly/iso-images/dfly-1.6.0_REL.iso.gz">FTP</A>
113 <TR><TD>Dragonflybsd.org (USA)</TD>
114 <TD>1.6.0_REL image</TD>
115 <TD><A HREF="ftp://ftp.dragonflybsd.org/iso-images/dfly-1.6.0_REL.iso.gz">FTP</A>
116 (<I>try to find another site first</I>)</TD></TR>
120 <h1>Release Notes for DragonFly 1.6.0</h1>
123 1.6 is our fourth major DragonFly release. DragonFly's policy is to
124 only commit bug fixes to release branches.
127 The biggest user-visible changes in this release are a new random number
128 generator, a massive reorganization of the 802.11 (wireless) framework,
129 and extensive bug fixes in the kernel. We also made significant progress
130 in pushing the big giant lock inward and made extensive modifications to
131 the kernel infrastructure with an eye towards DragonFly's main clustering
132 and userland VFS goals. We consider 1.6 to be more stable then 1.4.
136 <li>Continued work on LWP/PROC separation.
137 <li>Continued pkgsrc integration.
138 <li>Fix refcount bugs in the kernel module loader and unloader.
139 <li>Lots of netif and serializer cleanups and fixes.
140 <li>Lots of softupdates, filesystem, and buffer cache related fixes.
141 <li>Remove more of the old ports-related infrastructure.
142 <li>Major documentation cleanups.
143 <li>Major code cleanups, ansification.
144 <li>Change the system #include topology so that each include file
145 is responsible for #include'ing any dependant include files.
146 <li>Fix a bug in the PF fragment cache.
147 <li>Random number generator: Instead of generating entropy from
148 selected interrupts (and none by default), we now generate
149 entropy from all interrupts by default and rate limit it to
150 not interfere with high performance interrupts.
151 <li>Random number generator: Completely replace the algorithms,
152 remove limitations on returned bytes from /dev/random (which
153 only served to cause programs to not use /dev/random due to its
154 lack of dependability). Add the ability to seed the RNG.
155 Do some automatic initial seeding at boot.
156 <li>Adjust ssh to find the pkgsrc X11BASE instead of the old ports
158 <li>Fix some compatibility issues in /bin/sh.
159 <li>Fix a small number of critical section enter/exit mismatches.
160 <li>Bring in a bunch of new malloc() features from OpenBSD
161 (guard pages, free page protection, pointer guard, etc).
162 <li>Clean up the DragonFly build system's automatic .patch handling.
163 <li>Bring in openssh 4.3p2.
164 <li>Retire libmsun. It was replaced by NetBSD's libm.
165 <li>Fix a bug in the NFS timer/retry code.
166 <li>Fix issues related to wide-char support.
167 <li><B>Fix a number of private TSS bugs related to threaded programs.</B>
168 <li><B>Completely rewrite the user process scheduler and usched APIs.</B>
169 <li><B>Add system calls that allow a blocking/non-blocking flag to be
170 passed independant of the O_NONBLOCK state of the descriptor.</B>
171 <li><B>Remove all fcntl(... O_NONBLOCK) calls from libc_r, use the
172 new system calls instead. This solves numerous problems with
173 file descriptors shared between threaded and non-threaded
174 programs getting their non-blocking flag set, and then blowing
175 up the non-threaded program.</B>
176 <li>Add additional red-black (RB) tree function support for ranged
178 <li>Get rid of gdb -k, replace with a separately built kgdb, and
179 build a separate libgdb as well.
180 <li>Implement a VM load heuristic. Remove the full-process SWAP
181 code which never worked well and replace with page-fault
182 rate-limiting code based on the VM load.
183 <li>Fix a serious bug in adjtime()'s microseconds calculation.
184 <li>Fix a serious bug in libc's strnstr() function. The function
185 was testing one byte beyond the specified length limit. This
186 can cause a seg-fault when, e.g. using strnstr() on a memory
187 mapped file whos last byte abuts the end of the VM page.
188 <li>Bring in sendmail 8.13.7.
189 <li>Bring in SHA256 support from FreeBSD.
190 <li>Implement a hardlink-mirroring option (-H) in cpdup.
191 <li>Add missing code needed to detect IPSEC packet replays.
192 <li>Enable TCP wrappers in sshd.
193 <li>Restrict recursive DNS queries to localhost by default.
194 <li><B>Massive reorganization and rewrite of the 802_11 subsystem,
195 with many pieces taken from FreeBSD.</B>
196 <li>Fix a number of issues with user-supplied directory offsets
197 blowing up readdir/getdirentries for NFS and UFS.
198 <li>Normalize internal kernel I/O byte lengths to 'int' and remove
199 a ton of crazy casts to and from unsigned int or size_t.
200 <li>Remove NQNFS support. The mechanisms are too crude to co-exist
201 with upcoming cache coherency management work and the original
202 implementation hacked up the NFS code pretty severely.
203 <li>Remove VOP_GETVOBJECT, VOP_DESTROYVOBJECT, and VOP_CREATEVOBJECT.
204 They never lived up to their billing and DragonFly doesn't
205 need them since DragonFly is capable of aliasing vnodes via
206 the namecache. Rearrange the VFS code such that VOP_OPEN is
207 now responsible for assocating a VM object with a vnode.
208 <li>Formalize open/close counting for the vnode and assert that
210 <li>Remove the thread_t argument from most VOP and VFS calls.
211 Remove the thread_t argument from many other kernel procedures.
212 <li>Integrate FreeBSD's new ifconfig(8) utility.
213 <li>Fix a race condition in the floating point fault code that
214 could sometimes result in a kernel assertion.
215 <li>Fix a crash in the TCP code when the MTU is too small to
216 support required TCP/IP/IPSEC options and headers.
217 <li>Separate EXT2 conditionals from the UFS code, copying the files
218 in question to the EXT2 directory instead of trying to
219 conditionalize them. Also remove function hooks and other code
220 mess that had been implemented to allow the UFS code to be
222 <li>Greatly simplify the lockmgr() API. Remove LK_DRAIN,
223 LK_INTERLOCK, and many other flags. Remove the interlock
225 <li>Fix a bug in the POSIX locking code (lockf). Actually, completely
226 rewrite the POSIX locking code. The previous code was too
227 complex and mostly unreadable.
228 <li>Do a major clean up of all *read*() and *write*() system calls,
230 <li>Replace many instances where LWKT tokens are used with spinlocks.
231 <li>Make spinlocks panic-friendly. Properly handle the detection
232 of indefinite waits and other deadlock issues.
233 <li>Improve network performance by embedding the netmsg directly in
234 the mbuf instead of allocating a separate netmsg structure for
236 <li><B>Implement both shared and exclusive spinlocks.
237 Implement a much faster shared spinlock. Cache the shared
238 state such that no locked bus cycle operation is required in
240 <li>Implement msleep(). Use a novel approach to handling the
241 interlock that greatly improves performance over other
243 <li>Add cpu-binding support to the scheduler and add a system call
244 to access it. A user process can be bound to a subset of cpus.
245 <li><B>Prefix all syscall functions in the kernel with 'sys_'
246 to reduce function prototype pollution and incompatibilities,
247 and to eventually support virtualized kernels running in
249 <li>Port the enhanced SpeedStep driver (EST) for cpu frequency control.
250 <li>Remove the asynchronous syscall interface. It was an idea before
251 its time. However, keep the formalization of the syscall
252 arguments structures.
253 <li>Add a facility which statistically records and dumps program
254 counter tracking data for the kernel.
255 <li>Improve kernel SSE2-based bcopies by calling fnclex instead of
257 <li>Major BUF/BIO work - <B>make the entire BUF/BIO subsystem BIO
259 <li>Major BUF/BIO work - <B>get rid of block numbers, use 64 bit
260 byte offsets only.</B>
261 <li>Major BUF/BIO work - Clean up structures and compartmentalize
262 driver-specific private fields. Rewrite and simplify device
263 and vnode strategy APIs.
264 <li>Major BUF/BIO work - Remove B_PHYS. There is no longer any
265 differentiation between physical and non-physical I/O at
267 <li>Major BUF/BIO work - Replace the global buffer cache hash table
268 with a per-vnode RB tree. Add sanity checks. Require that all
269 vnode-based buffers be VMIO backed.
270 <li>MPSAFE work - <B>Implement the parallel route table algorithm.</B>
271 <li>MPSAFE work - <B>Make the user process scheduler MPSAFE.</B>
272 <li>MPSAFE work - <B>File descriptor access is now MPSAFE. Many
273 fd related functions, like dup(), close(), etc, are either MPSAFE
274 or mostly MPSAFE.</B>
275 <li>MPSAFE work - <B>Push the BGL deeper into the kernel call stack
276 for many system calls.</B>
277 <li>MPSAFE work - <B>Make the process list MPSAFE.</B>
278 <li>MPSAFE work - <B>Make all cred functions MPSAFE.</B>
279 <li>NRELEASE - compilable kernel sources are now included on the ISO.
284 <!--#include virtual="/includes/footer.shtml" -->