Bring back 1.6
[ikiwiki.git] / release16 / index.html
1 <!--#set var="title" value="DragonFly - July 2006 Release 1.6.x Download" -->
2 <!--#include virtual="/includes/header.shtml" -->
3
4 <!-- $DragonFly: site/data/community/release1_6.shtml,v 1.4 2007/03/18 19:35:17 dillon Exp $ -->
5
6 <h1>Obtaining DragonFly 1.6.x for your system</h1>
7
8 <h2>1.6.0 ISO Images for CDs</h2>
9
10 <p>
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. 
15 </p>
16 <p>
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
21 login as 'installer'.
22 </p>
23 <p>
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.
30 </p>
31 <p>
32 See the 'Download Site' list below for a list of download locations. 
33 </p>
34
35 <p>
36 <b>The MD5 for the release is:
37 <br />MD5 (dfly-1.6.0_REL.iso.gz) = ebbcc2f4af5f7ee1e5a4cbf6f3f75bf8
38
39 </b><br /> </p>
40
41 <h2>1.6.x Release Errata</h2>
42 <p>
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.
49 </p>
50 <p>
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>
53 </p>
54 <TABLE BORDER="1">
55 <TR>
56 <TH>Version</TH>
57 <TH>Date</TH>
58 <TH>Comments</TH>
59 <TH></TH>
60 </TR>
61 <TR>
62 <TD>1.6.0</TD>
63 <TD>24-Jul-2006</TD>
64 <TD>RELEASE CD</TD>
65 <TD><A HREF="errata1_6.shtml">Errata</A></TD>
66 </TR>
67 </TABLE>
68
69 <p>
70 </p>
71
72
73 <h2>1.6.x Release Sites</h2>
74
75 <TABLE BORDER="1">
76 <TR>
77 <TH>Organization</TH>
78 <TH>Mirrored Data</TH>
79 <TH>Access methods</TH>
80 </TR>
81
82 <!--
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>
86 -->
87
88 <TR><TD>Chlamydia.fs.ei.tum.de (Germany)</TD>
89 <TD>1.6.0_REL image</TD>
90 <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>
93 </TD>
94 </TR>
95
96 <!--
97 <TR><TD>BGP4.net (USA)</TD>
98 <TD>1.6.0_REL image</TD>
99 <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>
102 </TD></TR>
103 -->
104
105 <TR><TD>TheShell.com</TD>
106 <TD>1.6.0_REL image</TD>
107 <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>
110 </TD></TR>
111
112
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>
117
118 </TABLE>
119
120 <h1>Release Notes for DragonFly 1.6.0</h1>
121
122 <p>
123 1.6 is our fourth major DragonFly release.  DragonFly's policy is to
124 only commit bug fixes to release branches.
125 </p>
126 <p>
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.
133 </p>
134 <p>
135 <ul>
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
157             X11BASE.
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
177             searches.
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
209             they are correct.
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
221             used by EXT2.
222         <li>Greatly simplify the lockmgr() API.  Remove LK_DRAIN, 
223             LK_INTERLOCK, and many other flags.  Remove the interlock 
224             argument.
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,
229             and iovec handling.
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
235             each packet.
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
239             the common case.</B>
240         <li>Implement msleep().  Use a novel approach to handling the
241             interlock that greatly improves performance over other 
242             implementations.
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
248             userland.</B>
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
256             fninit.
257         <li>Major BUF/BIO work - <B>make the entire BUF/BIO subsystem BIO
258             centric.</B>
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
266             the strategy layer.
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.
280 </ul>
281 </p>
282
283
284 <!--#include virtual="/includes/footer.shtml" -->