(no commit message)
[ikiwiki.git] / release30 / index.mdwn
e30d3486 1# DragonFly Release 3.0
20ba3570 2## ?? February 2012
9c890424 3
e30d3486 4The DragonFly 3.0 release is here!
9c890424 5
6## Big-ticket items
79a2e5d7 8### Major VM SMP work
10Previously the majority of the VM was under a single token, the vm_token; now vm_objects (mappable entities) are each under a private token, concurrent page faults in the same object can proceed, and VM SMP scalability overall improved. Results for Postgres and MySQL, among others, are excellent.
b7649713 12Francois Tigeot [worked on benchmarks](http://leaf.dragonflybsd.org/mailarchive/kernel/2011-11/msg00004.html) comparing DragonFly 2.10 and DragonFly 2.13, among other operating systems. The [resulting graphs](http://dl.wolfpond.org/Pg-benchmarks.dfly_only.pdf) show how well DragonFly responds to multiple CPUs. (2.13 is the version of DragonFly that became 3.0.)
79a2e5d7 13See:
79a2e5d7 14
9c890424 15
ec2cfb63 16### HAMMER performance greatly increased
d5518634 17
ec2cfb63 18A new [time domain multiplexing method](http://leaf.dragonflybsd.org/mailarchive/commits/2011-07/msg00086.html) has been added to balance storage operation types over long time periods. HAMMER fairness and throughput under heavy storage loads has significantly improved.
a896c6a1 19
ec2cfb63 20HAMMER's behavior in very low memory configurations has also improved; it will no longer readily starve a system of kernel allocation space. HAMMER should work on systems with as little as 256M of RAM.
20ba3570 21
afdfc39f 22### SMP kernel installed by default
a896c6a1 23
86dab385 24ACPI + interrupt routing have been upgraded. A SMP kernel will work on all machines and is installed by default.
9c890424 25
eedd8701 26### Disk Encryption
28DragonFly now has [tcplay(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=tcplay&section=8), a tool for creating and managing encrypted disk volumes. It is 100% [TrueCrypt](http://www.truecrypt.org/) compatible and BSD licensed.
9c890424 30## Availability
32Three release options are now available for 32-bit as well as for 64-bit. 64-bit installations are recommended if you do not need the linux emulation layer.
34* An ISO, to be burned to a physical cd or used as an image to install a virtual machine.
35* A bootable USB disk-key image (minimum 2G USB stick needed)
afdfc39f 36* A GUI bootable USB disk-key image with a full X environment. _Minimum_ 4G USB stick needed.
9c890424 37
38The 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 master site. 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
afdfc39f 40The GUI bootable USB image also contains the DragonFly git repo in /usr/src and the pkgsrc git repo in /usr/pkgsrc. The code can be trivially checked out using these repos and can be incrementally updated from master sites, post-install.
9c890424 41
42### MD5 sums
86dab385 44* MD5 (dfly-i386-3.0_REL.img.bz2) =
45* MD5 (dfly-i386-3.0_REL.iso.bz2) =
46* MD5 (dfly-i386-gui-3.0_REL.img.bz2) =
47* MD5 (dfly-x86_64-3.0_REL.img.bz2) =
48* MD5 (dfly-x86_64-3.0_REL.iso.bz2) =
49* MD5 (dfly-x86_64-gui-3.0_REL.img.bz2) =
50* MD5 (dfly-i386-3.0_REL.img) =
51* MD5 (dfly-i386-3.0_REL.iso) =
52* MD5 (dfly-i386-gui-3.0_REL.img) =
53* MD5 (dfly-x86_64-3.0_REL.img) =
54* MD5 (dfly-x86_64-3.0_REL.iso) =
55* MD5 (dfly-x86_64-gui-3.0_REL.img) =
9c890424 56
57### pkgsrc packages
59We offer roughly 10,000 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/pkg_radd.conf`.
61To 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:
63 # pkg_search -d
afdfc39f 65We 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. Type 'make' in /usr to see the available commands for performing these actions.
9c890424 66
86dab385 67## DragonFly 3.0 Special Installation and Upgrade Notes
9c890424 68
afdfc39f 69**Disk size warning** - Unless your hard disk is 50G or larger, we recommend doing a UFS install and not the default HAMMER install. We also recommend installing from the CD ISO, not the GUI .img, for smaller drives. A more serious installation should use HAMMER with at least 50G of disk space and can install from the GUI .img. HAMMER on smaller disk drives is possible but requires careful pruning to keep from filling the disk with file history.
9c890424 70
71**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.)
73**Installer Crypt Options** - The installer can encrypt the root volume and the swap volume. It will not work properly for other volumes despite any additional check-boxes you might see. Installer and boot-time support works but is still a bit rough around the edges. Performance will be relatively high on multi-core machines.
92d4b6c9 75**ISA driver removal** - A number of ISA hardware drivers have been removed. One of these drivers, ie(4), was in our GENERIC config. Another driver, aha(4), was in both our GENERIC and our X86_64_GENERIC kernel configuration files. If you are using a kernel config based on a previous release's GENERIC config file, you may need to remove these drivers in order to successfully compile the kernel.
eedd8701 77**PAM Changes** - The pam_krb5 and pam_ksu modules have been removed as part of a PAM update. If you were using these modules, the security/pam-krb5 package in pkgsrc is a suitable replacement.
92d4b6c9 79
86dab385 80## DragonFly 3.0 Release Notes
9c890424 81
82### Release Improvements
84> ### Kernel changes
92e7a92a 85* crypto(4) now supports the AES-GCM, Twofish, Serpent, Twofish-XTS and Serpent-XTS ciphers.
86* Fixed dm(4)'s remove_all so that it works correctly when the volumes are interdependent.
87* Improved dm(4) performance by reducing serialization in the I/O path.
88* dm_target_crypt now supports plain64 IV generator.
89* dm_target_crypt now supports Serpent and Twofish XTS modes.
90* dm_target_crypt now uses per-volume mpipes. This fixes a major issue with stacked volumes.
91* devfs(4) has been changed to track related devices explicitly by cdev pointer instead of by (sub)name. The devfs subname* API has been completely replaced by the related* API.
92* Fixed some potential deadlocks in dsched(4) and dsched_fq.
e8939ade 93* bfq(4), an experimental, work-in-progress budget fair queuing dsched(4) policy has been added.
612a9a4d 94* mps(4) driver has been updated and now supports RAID.
630b0c86 95* pf(4) has been converted to use kmalloc instead of zalloc
9f07c779 96* Substantial update to the kernel's ELF handling
97* The refcount API has been overhauled.
98* A netgraph MP race has been fixed.
99* A bug in the kernel smb code relating to directory scanning has been fixed.
20ba3570 100* NFS server updates were pulled in from FreeBSD; read and write clustering behavior is improved.
8ac09e85 101* MSI (Managed System Interrupt) and MSI-X support has been greatly expanded.
79a2e5d7 102* Soft tokens can now be taken in shared mode in addition to the classical exclusive mode.
b7649713 103* Virtual file system accounting support has been added and will serve as a basis for future file-system independent quota work.
104* Appletalk support removed.
eedd8701 105* dmalloc, a new memory allocator, added for x86_64 only.
b7649713 106* tmpfs filesystems can now be exported via NFS.
9c890424 107
108> ### Hardware changes (non-networking)
92e7a92a 109* padlock(4) now supports the built-in random number generator and feeds entropy into the kernel's entropy pool.
110* ubsec(4) has now been fixed to be compatible with the new crypto(4) framework.
92d4b6c9 111* lsi(4) updated to version 3.981.
112* mfi(4) & mfiutil(8) updated.
113* hptiop(4) updated.
114* safe(4) added.
79a2e5d7 115* mps(4) driver updated
eedd8701 116* ecc(4) now supports more hardware.
9c890424 117
118> ### Hardware changes (networking)
9a6d4a26 119* bge(4) now supports the 5761, 5784, and 57780 chipsets.
92d4b6c9 120* ndis(4) updated.
eedd8701 121* re(4) updated.
9c890424 122
123> ### New Multiprocessor Safe Work
79a2e5d7 124* VM: vm_objects now use per-object tokens and a hold/release based-lock protocol, rather than the global VM token.
125* VM: VM page queues locking is now fine-grained
126* VM: x86-64 PMAP has been rewritten to synchronise at the page/object level rather than using the vm_token.
127* kqueue: kqueue uses per-kq and per-list token rather than a global page queue token
128* signals: Move some signal processing unto LWP rather than process tokens
9c890424 129
130> ### Userland changes
20ba3570 131* The C library slab allocator (nmalloc) has been replaced with a considerably more scalable, faster design on x86-64 (dmalloc).
92e7a92a 132* proplib(3) has been updated
133* libdm, a simple BSD-licensed device mapper library that is API-compatible with libdevicemapper has been added.
134* tcplay(8), a simple BSD-licensed tool that allows creation, managing and mapping of TrueCrypt volumes has been added. It is fully integrated with initrd and cryptdisks and 100% compatible with TrueCrypt.
135* tcplay(3), a library based on tcplay(8) that allows access to TrueCrypt volumes, has been added.
f2bba171 136* POSIX 2008 fmemopen(3) and open_memstream(3) routines have been added to libc
137* Bug in socket timeouts has been fixed, allowing Varnish to run w/ default configuration.
9f07c779 138* The jail rc.d script can now automatically mount a devfs inside the jails.
139* Minor fix in hammer(8) for snapshot count in the info directive.
140* Major update to rtld-elf.
141* Major update and bugfixes to sh(1).
79a2e5d7 142* hammer dedup can run in fixed memory by running multiple passes.
eedd8701 143* buildworld can now be run in parallel for faster results.
144* dfregress, a regression testing framework, added
9c890424 145
146> ### x86_64-specific changes
92e7a92a 147* A bug in the initial stack pointer alignment has been fixed.
f2bba171 148* File-descriptor passing via sendmsg has been fixed on x86_64
9f07c779 149* MTRR support added to x86_64 kernel
9c890424 150
151> ### Removals
92d4b6c9 152* The following ISA only drivers have been removed along with a couple of associated userland tools: aha(4), asc(4), sasc(1), ctx, dgb(4), el(4), gpib, gsc(4), sgsc(1), ie(4), labpc(4), le(4), mse(4), rc(4), rdp(4), spigot, tw(4) & xten(1) & xtend(8), wl(4), wlconfig(8), wt(4).
9c890424 153
154> ### Contributed Software
86dab385 155* Shipping with pkgsrc-2011Q4 built packages.
156* ldns/drill updated to 1.6.11
9f07c779 157* sendmail updated to v8.14.15
158* grep updated to 2.7
159* GNU sort replaced by NetBSD's
20ba3570 160* gcc44 updated to 4.4.7
9f07c779 161* gdb updated to 7.2
eedd8701 162* binutils updated to 2.22 (2.21 is still used by default)
9f07c779 163* xchat removed from GUI build
86dab385 164* file updated to 5.10
9f07c779 165* less updated to 444
92d4b6c9 166* awk updated to 20110810
9f07c779 167* OpenSSH updated to 5.9p1
86dab385 168* OpenSSL updated to 1.0.0g
92d4b6c9 169* zoneinfo database updated to tzdata2011l
eedd8701 170* mdocml updated to 1.11.3
171* libpcap updated to 1.2.1
172* tcpdump updated to 4.2.1
8ac09e85 173* libarchive updated to 3.0.3
174* xz updated to 5.0.3
eedd8701 175* dma updated to 0.7
8ac09e85 176* ftp updated to match NetBSD as of 2012/01/08
eedd8701 177
9c890424 178
179>### Security related