LiveCD & Installer
This release includes a Makefile in /usr that can be used to get the fill distribution source tree and to get the full PkgSrc tree. Just type 'make' in /usr for more information on available options.
* NATA is now the default ata driver.
* Major changes made to the disk abstraction layer.
* Significant changes made to disk device minor numbers in /dev.
* GPT and 64 bit disklabel support added (non booting).
* The LWP (Userland threading work) is now essentially done.
* Major work on vinum to remove its roll-your-own disklabel layer and to remove its assumptions about the device layer's DMA capabilities.
* Introduce libpthread as a softlink allowing libthread_xu or libc_r to be selected. All multithreaded programs are now linked against libpthread. libc_r is the default as there are still a few issues that need to be worked out with libthread_xu.
* Major improvements to wireless networking drivers.
* Many new USB and PCI devices added.
* Numerous new PCI drivers added, particularly w/ networking.
* Userland syslink API is now finished.
* Link state changes are now reported through the routing socket.
* Signal and proper stop/continue support added to LWPs
* Entire kernel is now LWP and thread centric instead of process and thread centric.
* Bind 9.3.4P1 integrated (including Jul/Aug-07 security fixes)
* GCC 4.1.2 integrated, selectable with CCVER. GCC-3 is still the default.
* Add an abstraction layer to vn_strategy() to hide DMA limitations of underlying devices.
* Fix symbol resolution issues with loaded modules.
* Both GCC-3 and GCC-4 are now built by default.
* Improve virtual kernel disk and networking support. Multiple disks and network interfaces are now supported.
* Implement SMP support for virtual kernels (mainly as a testbed).
* Many documentation updates.
* Enhance kinfo_proc to return LWP info.
* Enhance the virtual kernel's console.
* Replace gnu tar with BSD tar.
* Fix a single stepping bug that could lead to a panic.
* Allow multiple kernels to be supplied on the release ISO and supply a VKERNEL kernel in addition to the normal kernel.
* Get rid of the UAREA for good.
* Synchronize zoneinfo changes with recent standards changes.
* Fix a mbuf leak in sbappendcontrol().
* Fix an exec*() syscall memory leak that can lock a machine up when the exec temporary argument space becomes exhausted.
* Bring in the latest libarchive, bsdtar, sendmail, awk, ping, file, less, and openssh.
* Bring in binutils 2.17.
* Support MBs that do not have keyboard controllers by placing an upper limit on the keyboard controller probe timeout.
* Remove IPV6 type 0 router header support entirely.
* Implement SYSREF for the kernel - this structure and API implements MP-safe reference counting and also associates a unique 64 bit id with the structure allowing the structure to be referenced off-machine. SYSREF is part of the clustering work.
* Use SYSREF for struct vmspace and struct vnode, including doing a major revamping of the vnode reference handling code.
* Do a major reordering of many SYSINITs and a major reordering of where device configuration occurs in the boot sequence. Device configuration now occurs far later in the boot sequence and has access to most major subsystems including threading and major memory subsystems. Interrupts are now enabled during device configuration. This is somewhat experimental but works great in allowing us to locate ordering issues in various device init functions related to their interrupts.
* Implement asynchronous device attachment but default to disabled for 1.10.
* Reformulate disk management layer ioctls and remove data pollution. Do not store filesystem-specific data such as the fragment size in the disklabel any more.
* Expand the SCSI subsystem to handle 16-byte commands, allowing > 32 bit block addressing for devices that support it.
* Change the 'make upgrade' target to attempt to rebuild the devices found in /dev instead of just rebuilding base devices.
* Distributions now include a Makefile in /usr with easy-to-use targets for creating and synchronizing /usr/src and /usr/pkgsrc.
* Greatly simplify LWKT messaging within the kernel.
* Add virtual CDROM support to the virtual kernel.
* Add halt and reboot support to the virtual kernel.
* Fix a bug in bus_dmamap_load() that was not properly following boundary and maximum segment size limits.
* Save and restore a USB keyboard's translation mode, allowing the keyboard to be un-plugged and re-plugged.
* Remove the last source of major SMP TLB invalidations in the fork/exec/exit/wait critical paths, significantly reducing IPI traffic and improving fork/exec performance.
* ktrdump now has an option to loop waiting for new input.
* Fix mouse jumpiness when emergency interrupts are enabled by not polling PS/2 mouse interrupts.
* Fix numerous CAM/USB issues so we do not panic or crash if a USB mass storage device is pulled while still mounted. Make sure umount -f works on pulled devices.
* Synchronize the sound subsystem with FreeBSD.
* Timeout positive hits in the namecache as well as negative hits for NFS mounts. Otherwise rename-over's can result in a stale namecache that doesn't auto recover.
* Add MPLS support to traceroute and add a protocol entry in /etc/protocols for MPLS-in-ip.
* Bring in a number of math library fixes from FreeBSD.
* dntpd now properly handles DNS failures, supports DNS pools, and does a quorum consistency check when told to use more then one source.
* Fix a bug in the checkpointing code that was preventing a program from being re-checkpointed properly.
* Major USB code cleanup.
* Adjust dynamic objcache sizing to handle certain degenerate conditions.
* Synchronize with the Adaptec SCSI code from FreeBSD.
* Retire the original ports packaging tools.