Obtaining DragonFly 1.8.x for your system
1.8.1 ISO Images for CDs
DragonFly CDs are 'live', which means that the CD will boot your system and let you log in as root (no password). You can use this feature to check for hardware compatibility and play with DragonFly a little before actually installing it on your hard drive.
The CD includes an installer that can be run at the console, or (experimentally) via a web browser. Make sure you read the README file for more information. To activate the installer, boot the CD and login as 'installer'.
The installer has a Netboot server option. You can boot the CD on one machine, enable the feature via the installer, and then PXEBoot other systems and do a network based install. System operators should be aware that running the netboot server hardwires a 10.1.0.X network and runs a DHCP server which might interfere with other DHCP servers on your LAN.
See the 'Download Site' list below for a list of download locations.
The MD5 for the release is:
MD5 (dfly-1.8.0_REL.iso) = d5ffce6709ca82be458d95634d73a58b
MD5 (dfly-1.8.0_REL.iso.gz) = 893b606ce5c0f156ea74c57ebf554c2b
MD5 (dfly-1.8.1_REL.iso) = 98b4cfd6f8aabf49acf7a81d75368156
MD5 (dfly-1.8.1_REL.iso.gz) = fdafd2df5f48df4f7fdf0ff0b9ecee0c
1.8.x Release Errata
DragonFly releases are meant to be stable, dependable entities. We backport compatible bug fixes from current development into release branches but we do not generally backport new features. The release CD is always a '.0', e.g. 1.6.0. The most common way to track a release is to use cvsup to track the release sources and then build and install a new world and kernel to keep your system updated.
We do not always get every last little fix into a release. Please be sure to read the errata page for the release CD!
1.8.x Release Sites
|Organization||Mirrored Data||Access methods|
|Chlamydia.fs.ei.tum.de (Germany)||1.8.1_REL image||HTTP FTP|
|TheShell.com||1.8.1_REL image||HTTP FTP|
|high5.net (Amsterdam)||1.8.1_REL image||HTTP|
|Dragonflybsd.org (USA)||1.8.1_REL image||FTP (try to find another site first)|
Release Notes for DragonFly 1.8.1
- Security updates for bind, file, libmagic, and tcpdump
- xorg added to various paths, including periodic directories for cron and manual paths.
- The dynamic loader now properly searches objects, solving problems with a number of pkgsrc applications.
- A bug in getcontext() has been fixed.
- Miscellanious zoneinfo updates have been made.
- Miscellanious ACPI and taskqueue adjustments have been MFCd.
- The fwe network interface is now properly dependant on firewire
- A bug in vinum was fixed
- The virtual kernel's VKE network interface can now be tcpdumped.
- a NULL sa pointer can be passed to the 4.3 compat recvfrom() syscall, to the linux compat recvfrom() syscall, and to the current recvfrom() syscall.
- A bounds check error against UIO_MAXIOV and UIO_SMALLIOV has been fixed.
- Simulate a '/' mount for processes doing a df in a chrooted environment (when chrooted into a subdirectory).
- Fix a bug in DDB's backtrace.
- Update the EST module (cpu voltage / frequency reporting)
- The virtual kernel now properly handles spurious SIGTRAPs
- MFC a bug fix for SMBFS which fixes a kernel panic.
Release Notes for DragonFly 1.8.0
1.8 is our fifth major DragonFly release. DragonFly's policy is to only commit bug fixes to release branches.
The biggest kernel change in this release is the addition of virtual kernel support and a virtual kernel build target (VKERNEL). Virtual kernels are systems-in-a-box... you can run a complete kernel as a userland process. All standard non-hardware-specific applications will run inside the virtual kernel. Performance depends on how heavily an application interacts with the VM system and how often it makes system calls, since these operations have to be forwarded by the real kernel to the virtual kernel.
The biggest user-visible changes include updates to third party applications included in the base system, a major rewrite of NULLFS which removes all directory recursion restrictions from mount_null and removes nearly all the kernel resource overhead when using such mounts, and a multi-ip feature for jails.
A more complete list is included below. We consider 1.8 to be more stable then 1.6.
- Implement Virtual Kernel support and add a VKERNEL target. Virtual kernels are run as userland processes and provide a complete (minus hardware drivers) working kernel environment. A simulated disk driver is included and a simulated network driver using the TAP interface is included, allowing network access. See the vkernel(7) manual page for more information.
- Jails are now IPv6 aware and support multiple IP addresses.
- Bridging support has been greatly improved.
- Many, many new network drivers and chipsets have been added.
- Major infrastructure for 802.x wireless support added (WPA, TX rate control, major API layer for all wireless network devices, better ifconfig integration, and more).
- The cpdup program has been greatly enhanced and now supports remote copies via ssh.
- Introduce getcontext(3), setcontext(3), and friends
- Improved support for old-style disklabels.
- Kernel sources are now included on release CDs.
- Major rewrite of the vnode operations infrastructure, greatly simplifying the layer.
- Fix a bug related to POSIX locking.
- Tons of documentation updates and code readability cleanups.
- Restructure the kernel build to accomodate multiple architectures. Start separting platform components from cpu components.
- Synchronize a bunch of AMD64 related items (but we don't support 64 bit mode yet).
- Major rewrite of the mount glue infrastructure and NULLFS which allows the namecache topology to be shared for multiple NULLFS mounts and also allows arbitrary stacking of read-only and read-write NULLFS mounts with basically zero kernel overhead.
- Unconditionally associate a namecache reference with all file descriptors, allowing us to share vnodes across different mounts (NULLFS).
- NULLFS mounts may now be arbitrarily stacked and distinct paths are no longer required.
- Properly dereference mount point roots when unmounting. Raise hell if unmounting a filesystem which still has references.
- Do a massive reorganization of the device operations vector and remove many instances where devops functions were dependant on the calling process or thread to obtain cred information.
- Do a run through of all system header files to make sure they include any dependancies themselves, instead of requiring the originating source file to include the dependancies first. This greatly reduces the effort required to use kernel header files in new sources.
- Synchronize MII support with NetBSD and OpenBSD, including adding standard conforming GMII support. Er. In otherwords, improve driver support for physical network interfaces (phys's).
- Remove VOP locking vectors. Make VOP locking functions direct calls (and thus mandatory).
- Control access to vnode ref count fields with a spinlock
- Fix a dubious construct in usr.bin/tail (no, really! That's what the commit message said!).
- Add support for %j to the kernel printf.
- Major symbol separation for most kernel functions which inexactly mimic libc functions. e.g. printf -> kprintf, in order to allow user-mode kernels to be linked against libc.
- Update to sendmail to 8.13.8.
- Update to OpenSSL to 0.9.8d
- Update to OpenSSH 4.5p1
- Update to Bind 9.3.2-P1
- Update to less 3.9.4
- Update to awk 20050424
- Update to file 4.19
- Update to tcpdump 3.9.5
- Update to libpcap 0.9.5
- Synchronize m4 with FreeBSD
- Import libarchive
- Import bsdtar 1.3.1 and make bsdtar our default tar. GNU tar is still installed as gtar.
- Import NetBSD's ftp client under its new name (tnftp).
- Bring in GCC-4.1 (setenv CCVER GCC41 to use).
- Significant code cleanups to make the world and kernel compile under GCC-4.1. Note that the default compiler is still GCC 3.4 (GCC-4.x will probably become the default sometime in 2007).
- More work on LWP/THREAD/PROC separation for 1:1 threading support.
- Fix a major bug in /bin/make that can cause make (or some child make in a large build) to ignore ^C. make temporarily installs SIG_IGN when polling whether a signal is being ignored or not. Fix the code to not do this.
- Fix a long standing signal/fork race that could cause a process group signal to not make it to a newly fork child if it occurs while the fork is in progress.
- Synchronize the zoneinfo database with tzdata2006p.
- Add an ECC detection device, currently supporting AMD64's memory controller.
- Greatly reduce the memory allocated by fsck when fscking filesytems with a huge number of directories (primarily mirors with lots of hardlinked files). Otherwise fsck can run out of memory on such filesystems.
- Adjust RCNG to support 'blah=YES/NO' as well as 'blah_enable=YES/NO', giving us better compatibility with PkgSrc based RC scripts.
- Fix a bug related to ALTQ when setting the algorithm for a queue on which packets are already present.
- Do a major clean up of the BUSDMA header file architecture.
- We have a new web site layout!
- Use spinlocks in the objcache instead of tokens (the critical path is still lockless).
- Replace the global VM page hash table with a per-VM-object Red-Black tree.
- A considerable amount of work on IPSEC support has been done.
- NATA has been ported from FreeBSD and is currently being tested.
- Sync USB support with FreeBSD6 - use task queues to handle operations that cannot be handled from an interrupt thread.
- Explore low-speed USB busses during cold boot so the USB keyboard starts working earlier in the boot sequence.
- Start introducing glue for the SYSLINK and CCMS infrastructures. (system link protocol and cache coherency management subsystems).
- Introduce a system call skeleton and test code for SYSLINK.
- Introduce the algorithm and structural topology that will be used for cache coherency into the VFS path.
- Introduce a user-managed virtuallized page table infrastructure which can be accessed via mmap(), as part of the infrastructure to support virtual kernels running in userland (MAP_VPAGETABLE).
- Introduce vmspace_*() system calls which allows a user process to manage and control multiple VM spaces, as part of the virtualization support effort.