Update md5 checksums; linkify various man page refs
[ikiwiki.git] / release32 / index.mdwn
da4e7f03 1# DragonFly Release 3.2
dfe4d1da 3## 02 November 2012 (3.2.1 release)
da4e7f03 4
b13ba507 5The DragonFly 3.2 release is here!
da4e7f03 6
7## Big-ticket items
fa7ea09f 9### Performance improvements under database load
da4e7f03 10
fa7ea09f 11Significant work has gone into the scheduler to improve performance, using postgres benchmarking as a measure. See
372b1eff 12[the PDF of graphed results](http://lists.dragonflybsd.org/pipermail/users/attachments/20121010/7996ff88/attachment-0002.pdf) to see the improvements. DragonFly should be now one of the best selections for Postgres and other databases.
d7de0cab 13
fa7ea09f 14### New USB stack
da4e7f03 15
fa7ea09f 16[USB4BSD](http://www.selasky.org/hans_petter/usb4bsd/) has been incorporated into this release. More USB devices are compatible with DragonFly, and xhci (USB 3.0) users may be able to take full advantage of their newer hardware. Since this is a new feature, it is available in 3.2 but *not* built by default. See the [original announcement](http://lists.dragonflybsd.org/pipermail/users/2012-October/017542.html) for how to do so.
da4e7f03 17
18## Availability
20Four 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.
22* An ISO, to be burned to a physical CD or used as an image to install a virtual machine.
23* A bootable USB disk-key image. (minimum 2G USB stick needed)
24* A GUI bootable ISO image with a full X environment. DVD disc required.
25* A GUI bootable USB disk-key image with a full X environment. (minimum 4G USB stick needed)
26* The GUI images also include a snapshot of our git repos in /usr/src/.git and /usr/pkgsrc/.git which can be incrementally updated after the installation.
28The 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. Check the [hardware page](http://www.dragonflybsd.org/docs/supportedhardware/) or boot a Live CD to check for compatibility.
dfe4d1da 30The 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. See below for methods to obtain this code using the other images.
da4e7f03 31
32### MD5 sums
34MD5 sums for the compressed images:
dfe4d1da 36* MD5 (dfly-i386-3.2.1_REL.img.bz2) = a592a2da318c081850a4e7cb28ef18c8
37* MD5 (dfly-i386-3.2.1_REL.iso.bz2) = a6a78642d636d4205e0f3b6b78a6ead9
38* MD5 (dfly-i386-gui-3.2.1_REL.img.bz2) = cdd250a8eaa7331d4130efacf068ded7
39* MD5 (dfly-i386-gui-3.2.1_REL.iso.bz2) = b04e274d58539fee8dbaa70da8cfcfdd
40*MD5 (dfly-x86_64-3.2.1_REL.img.bz2) = a8af1d8d7d865acf7ab4f49ed5e5321b
41* MD5 (dfly-x86_64-3.2.1_REL.iso.bz2) = c8ea968b85ddd522ccaa0e6e1f1de17a
42* MD5 (dfly-x86_64-gui-3.2.1_REL.img.bz2) = 5c1519a46a386ec310cbb285debf6485
43* MD5 (dfly-x86_64-gui-3.2.1_REL.iso.bz2) = 34c11445c55102ef122b7ae8209e99d5
da4e7f03 44
45MD5 sums for the uncompressed images:
dfe4d1da 47* MD5 (dfly-i386-3.2.1_REL.img) = 52c416d9ea77ef11dace6e24e24a1741
48* MD5 (dfly-i386-3.2.1_REL.iso) = b1a6c18097b9e8ae86929b60b2974f1d
49* MD5 (dfly-i386-gui-3.2.1_REL.img) = c94d6ebde1914b89064af9df7b402d9b
50* MD5 (dfly-i386-gui-3.2.1_REL.iso) = 21fc0e02557f331d943de2f9682b5df6
51* MD5 (dfly-x86_64-3.2.1_REL.img) = 2a0900c62432af5e805f8c7b1a71b073
52* MD5 (dfly-x86_64-3.2.1_REL.iso) = aec7bf8de6813900d23a5c30838def2e
53* MD5 (dfly-x86_64-gui-3.2.1_REL.img) = beebf543d1c8c22fe4e799120c77f68b
54* MD5 (dfly-x86_64-gui-3.2.1_REL.iso) = c5958a04246b7b99b13e33c1032de6ff
da4e7f03 55
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
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.
7b50f0f7 67## DragonFly 3.2 Special Installation and Upgrade Notes
da4e7f03 68
dfe4d1da 69**Disk size warning** - GUI disk installs and installations using HAMMER should be to disks over 50G in size. HAMMER history will consume disk space quickly. Either use UFS on smaller disks, or prune your file history carefully.
da4e7f03 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**Qemu users** - If you see a large number of error messages on the console when booting, you may need to boot DragonFly with ACPI disabled. This can be done in the menu presented at initial boot. If that doesn't help, try placing hw.ioapic_enable=0 in /boot/loader.conf.
75**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.
77**Remaining issues** -
dfe4d1da 79None known at this time.
da4e7f03 80
81## DragonFly 3.2.1 Release Notes
83> ### Kernel changes
33410790 85* Many bug fixes, greatly improving stability. More robust pcb_onfault handling, fixed issues in the namecache module, VM system, etc.
33410790 86* Removed several arbitrary bounds on kernel caches (such as the buffer cache) for x86-64.
33410790 87* Improved control over BREAK_TO_DEBUGGER by adding run-time sysctls.
33410790 88* Removed sio console baud switching when console & getty/login is running on the same serial port.
33410790 89* mmap() now segment-aligns mappings when reasonable to do so.
33410790 90* KTR logging is now frozen on entry to panic.
96930242 91* Removed size cap for tmpfs. This created problems when mounting tmpfs partitions from fstab prior to swap being turned on.
96930242 92* Numerous buffer cache clustering performance improvements.
96930242 93* Numerous vkernel related fixes.
3395d15b 94* Implicit 64KB I/O request size limitations have been removed. All block devices can now cluster I/O requests up to MAXPHYS (currently 128KB) if they support it.
a4c07330 95* A new filesystem-independent quota subsystem has been added. See vquota(8)
9d63f830 96* Fixed floating point rounding for long double in x86_64 platform
b55d5a0a 97* Implemented RFC1405 and SACK rescue retransmission
98* Several Google Summer of Code projects added for PUFFS support, scheduler changes.
99* tmpfs filesystems can be exported over NFS
1e37177a 100* Make carp(4) lockless MPSAFE
101* More [RFC3390](http://www.ietf.org/rfc/rfc3390.txt) conforming
102* [RFC6298](http://www.ietf.org/rfc/rfc6298.txt) conforming
103* [RFC6633](http://www.ietf.org/rfc/rfc6633.txt) conforming
104* Improve [RFC4015](http://www.ietf.org/rfc/rfc4015.txt) support
105* Implement [RFC6675](http://www.ietf.org/rfc/rfc6675.txt)
106* Implement [RFC4653](http://www.ietf.org/rfc/rfc4653.txt)
107* Fix several SACK related bugs
108* Optimize SACK scoreboard allocation
109* Implement "Rescue Retransmission for SACK-based Loss Recovery Algorithm"
110* Support memory-mapped PCIe configuration space access
111* Make PAWS robust against segement reordering
112* Asynchronize TCP's pru_rcvd; improve performance.
113* ACPICA update (submitted by Magliano Andrea)
d9129023 114* Added O_DIRECTORY and O_CLOEXEC support to open(2)
9d63f830 115
a4c07330 116> ### Hardware changes
3395d15b 118* A driver for the new Ivy Bridge random number generator has been added
3395d15b 119* Our ACPI reference implementation has been updated
3395d15b 120* Smart Battery System support has been added
3395d15b 121* Many ACPI and interrupt routing improvements, as well as bug fixes and workarounds for broken hardware
dfe4d1da 122* Watchdog drivers for Intel and AMD chipsets have been imported from FreeBSD. See [ichwd(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=ichwd&section=ANY) and [amdsbwd(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=amdsbwd&section=ANY).
123* A [ixgbe(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=ixgbe&section=ANY) driver for Intel 10Gb/s ethernet adapters has been added.
5250ed68 124* Many drivers for hardware RAID adapters have been updated
dfe4d1da 125* A [hpt27xx(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=hpt27xx&section=ANY) driver for HighPoint RocketRAID 27xx SAS controllers has been added
126* A [hptrr(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=hptrr&section=ANY) driver for HighPoint RocketRAID 17xx, 22xx, 23xx and 25xx has been added
127* Update [igb(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=igb&section=ANY) to 2.2.3, add MSI-X support and various improvements
128* Update [bge(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=bge&section=ANY) support from FreeBSD
129* Add Broadcom 5718 and 57785 chip-family support ([bnx(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=bnx&section=ANY))
1e37177a 130* Add TSO support for IPv4 TCP
dfe4d1da 131* Add TSO support in [em(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=em&section=ANY), [emx(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=emx&section=ANY), [bce(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=bce&section=ANY), [bge(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=bge&section=ANY), [bnx(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=bnx&section=ANY), [igb(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=igb&section=ANY), [jme(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=jme&section=ANY)
132* Stabilize [alc(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=alc&section=ANY) support
133* Update [em(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=em&section=ANY)/[emx(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=emx&section=ANY) to 7.2.4, fix bugs mentioned in errata
134* Improve [jme(4)](http://leaf.dragonflybsd.org/cgi/web-man?command=jme&section=ANY) multiple reception queue and MSI-X support
1e37177a 135
da4e7f03 136> ### New Multiprocessor-safe Work
81b597c4 137
138* Introduced a new cpu topology aware scheduler, usched_dfly, and made it the default. This scheduler implements several weighted algorithms and will first try to schedule threads to different sockets (to make best use of on-chip caches). As the load increases threads are then scheduled to real cores, and finally will be scheduled to hyper-threads. Threads with similar load characteristics tend to get spread out more. The scheduler also implements wait/wakeup pairing detection and tries to move related threads closer together to reduce inter-socket cache coherency bandwidth and share L3 caches.
81b597c4 139* Greatly reduced SMP bottlenecks in the unix domain socket code.
81b597c4 140* Implemented shared tokens to reduce unnecessary bottlenecks in the VM system, particularly for forked and threaded processes.
81b597c4 141* Introduced a major pmap optimization for x86-64 which allows page table pages to be shared between UNRELATED processes (so it works for process's separately exec'd or forked), in situations where those processes are mmap()ing the same thing. This feature works extremely well for both sysv shared memory and mmap()-based shared memory. In tests with postgres and a 6GB shared memory block the prior memory consumption from forking is now gone. This page table sharing works even better than the original shm_use_phys sysctl. Also observed significantly faster X application startup.
33410790 142* Removed bottlenecks from the SYSV semaphore module and fixed numerous timing races.
dfe4d1da 143* Added ability to bypass hardware timer read for [gettimeofday()](http://leaf.dragonflybsd.org/cgi/web-man?command=gettimeofday&section=ANY), added additional CLOCK_* defines for [clock_gettime()](http://leaf.dragonflybsd.org/cgi/web-man?command=clock_gettime&section=ANY) and friends.
33410790 144
da4e7f03 145> ### Userland changes
33410790 146
dfe4d1da 147* [mount(8)](http://leaf.dragonflybsd.org/cgi/web-man?command=mount&section=ANY) now sniffs the label for hints on what type of filesystem is being mounted, when not otherwise specified. UFS is only assumed if no information can be garnered from the sniffing.
5a2fc42a 148* Added support for DT_GNU_HASH elf sections (RTLD).
ecfe9d07 149Essentially DT_GNU_HASH is a GNU extension to the ELF
150format that allows symbol searches much faster than the System V ABI
dfe4d1da 151standard hash does. For very large programs written in languages such as C++ that tend to link in many libraries with many symbols, the reduction in start-time can be dramatic. Base compilers were updated to generate both SysV and GNU hashes for every dynamic binary and the GNU hash will be used preferentially by the dynamic linker.
b55d5a0a 152* Dynamic linker (RTLD) Added support for preinit, init, and fini arrays, DT_RUNPATH, -z nodefaultlib flag, and dflopen. Updated ELF filter implementation and added two new directives to libmap.conf, along with general bug fixes from FreeBSD
dee6b11d 153* Support exception handling on statically linked binaries
dfe4d1da 154* Imported [terminfo(5)](http://leaf.dragonflybsd.org/cgi/web-man?command=terminfo&section=ANY) and deprecated termcap. DragonFly is the only BSD using terminfo for its terminal database. Termcap is still installed, but terminfo has a higher priority and is accessed first.
5bf28e0d 155* LDVER support added. If the environment variable LDVER is set as "ld.gold" then the gold linker will be used over the default ld.bfd linker, similar to compiler-focused CCVER. Invalid values are ignored.
dfe4d1da 156* [cut(1)](http://leaf.dragonflybsd.org/cgi/web-man?command=cut&section=ANY) - synced with FreeBSD
157* [realpath(1)](http://leaf.dragonflybsd.org/cgi/web-man?command=realpath&section=ANY) - missing posix functionality added (From FreeBSD)
bcbb21ce 158* TUI mode added to kgdb, fixed on gdb
b370399d 159* boot2 loader reworked for more efficient code so gcc4.6, gcc4.7, and clang will be able to build it within the size limit
b55d5a0a 160* dragonfly.pool.ntp.org now exists and is used by default for network time
161* LVM stripe support in rconfig
cfd46f3d 162
da4e7f03 163> ### Removals
da4e7f03 164
b55d5a0a 165* kzip
da4e7f03 167> ### Contributed Software
1e37177a 168
da4e7f03 169* Shipping with pkgsrc-2012Q3 built packages.
b55d5a0a 170* Removed gcc 4.1
171* Added libedit 2012-03-11 from NetBSD
172* Added libmpc 1.0.1
173* Added gcc 4.7.2
dfe4d1da 174* Updated gcc 4.4 to 4.4.7
175* Updated grep to 2.12
176* Updated gdb to 7.4.1
177* Updated zlib to 1.2.7
178* Updated ncurses to 5.9
179* Updated libgmp to 5.0.5
180* Updated OpenSSL to 1.01c
181* Updated tzdata to tzdata2012f
182* Updated sh from FreeBSD
183* Updated libpcap to 1.3.0
184* Updated dhclient from OpenBSD
185* Updated OpenPAM to 'Micrampelis'
186* Updated xz to 5.0.4
187* Updated tnftp to newest NetBSD version
188* Updated libarchive to 3.0.4
189* Updated tcpdump to 4.3.0
190* Updated file to 5.11
da4e7f03 191
192>### Security related
1e37177a 193
194* No specific security-related updates in this release.
195* So surely there are no problems whatsoever.