release62
DragonFly BSD 6.2
- Version 6.2.1 released 2022 01 09
- Version 6.2.2 released 2022 06 09
DragonFly version 6.2 is the next step in the 6.x release series. This version has hardware support for type-2 hypervisors with NVMM, an amdgpu driver, the experimental ability to remote-mount HAMMER2 volumes, and many other changes.
The details of all commits between the 6.0 and 6.2 releases are available in the associated commit messages for 6.2.2 and 6.2.1. 6.2.0 was not released.
To see all the bugtracker issues that were closed for this release, please check here.
Big-ticket items
- NVMM, a type-2 hypervisor for hardware-supported virtualization, ported to DragonFly. See the NVMM Hypervisor documentation.
- growfs support added to HAMMER2 for changing the size of an existing HAMMER2 volume.
- xdisk included in build. Remote HAMMER2 disks can be mounted (Experimental!)
- drm/amdgpu driver imported, matches Linux 4.19 support.
- drm/ttm updated to match.
Details
Checksums
MD5 (dfly-x86_64-6.2.2_REL.img) = 4c46d6545e58bfda7d99bbb594ef0730
MD5 (dfly-x86_64-6.2.2_REL.iso) = aa942f24aa8a53dbf1ca9400cf6e949b
MD5 (dfly-x86_64-6.2.2_REL.img.bz2) = ee9fe5b7af806469d58465617361111a
MD5 (dfly-x86_64-6.2.2_REL.iso.bz2) = b391a29c8e9c1cc33f2441ff1f0d98a0
Upgrading
If you have an existing 5.x or 6.0 system and are running a generic kernel, the normal upgrade process, described below, will work.
Change your local /usr/src
to 6.2:
cd /usr/src
git fetch origin
git branch DragonFly_RELEASE_6_2 origin/DragonFly_RELEASE_6_2
git checkout DragonFly_RELEASE_6_2
git pull
And then rebuild: (in /usr/src
)
make build-all
make install-all
(reboot your system)
make initrd
make initrd
is optional for systems with unencrypted disks.
See the initrd(7) man page for details.
Don't forget to upgrade your existing packages. 6.2 packages have already been built and are immediately available.
pkg update
pkg upgrade
If you get a lua error when upgrading pkg, copy over a new config file:
cp /usr/local/etc/pkg/repos/df-latest.conf.sample /usr/local/etc/pkg/repos/df-latest.conf
All other changes since prior release
Security Issues
- Recommend updating all systems, a locally-exploitable kernel vulnerability was fixed for this release.
Kernel
- Many different changes were made for NVMM support; check the release tag for a full list
- Implement
POLLHUP
for pipes and filesystem FIFOs (improve dports portability) - amdtemp - Fix family 0x17 support, add family 0x19 support
- kernel - Add
DIOCGMEDIASIZE
andDIOCGSECTORSIZE
- edk2: Sync our TianoCore EDK II headers with the edk2-stable202105 tag
- Import OpenPAM Tabebuia
- Import passwdqc 2.0.2
- Remove a.out support
- Fix
posix_fallocate()
- Fix indefinite blocking in exit when draining controlling tty
- Fix
select()
/kqueue()
bug related to writability of a closed pipe() - Make
getpeerid()
work withsocketpair()
descriptors - Fix rman ref count races against sysctl -a dumps
- Be more friendly to latency when running as a guest OS under a VM
- Remove terminal PTE pv_entry tracking entirely, moving more of the VM system to extent-based recording.
This also means
MAP_VPAGETABLE
had to be removed and userland vkernel support had to be removed. NVMM under QEMU should now be used for virtualizing DFly. This saves an enormous amount of kernel memory when running services that share large amounts of memory across large numbers of distinct processes. - Various npx (floating point state) cleanups and fixes
- Offset the per-cpu scheduler clock interrupts to avoid waking up all cpu cores simultaneously. Improves idle conditions.
- Improve
vfs.timestamp_precision
defaults when running under VMs - Improve TSC concurrency tests when running under VMs
- Major improvements to the paging algorithms. The system now does a much, much better job selecting pages for swap, significantly improving the user experience with browsers on low-memory systems.
- The default maxvnodes calculation has been reduced, reducing kernel memory use. Caching too many vnodes can be detrimental, particularly since H2 caches block data at the raw block device level too (helps with compression / decompression data caching).
Filesystems
- multiple checks added to fdisk
- growfs support improved in HAMMER2
- usr.sbin/fstyp: Add BeFS support
- makefs: Add FAT support (taken from FreeBSD)
- hammer2 - Fix excessive memory use during bulkfree.
- hammer2 - Fix H2 BOOT support when the BOOT pfs is recreated.
- hammer2 - Fix freemap accounting that could lead to incorrect filesystem full situations.
- hammer2 - Fix I/O error panic during bulkfree.
- hammer2 - Fix panic on illegal renames made possible by nullfs mounts
- hammer2 - Add growfs support
- hammer2 - Better CPU localization user vs XOP threads, improving performance
- ext2fs - Various cleanups
- ext2fs - Various fixes
- msdosfs - Various fixes
Networking
- ipfw3nat: ICMP packets NAT using icmp idport reuse.
- Add SIOCGHWADDR support.
Graphics
- drm/i915: Enable WhiskeyLake GPUs
- drm/i915: Hack around crashes due to ring timeouts during startup.
- drm/amd: amdgpu support added through (roughly) the 3400G APU. Thanks to Sergey Zigachev for lighting a fire under this.
- drm/amd: Increase stolen memory from 9MB to 64MB to fix amdgpu crash with 4K monitor attached
Driver updates
- sn, sbsh security fixes
- psm no longer temporarily freezes on sync errors
- ichsmb: Add {Cannon,Comet,Tiger,Gemini}lake PCI IDs
- Remove ndis(4) and associated tools and stuff.
- amdgpu driver updated to match Linux 4.19
- ttm updated to match amdgpu
- radeon driver updated to use ttm
- nvme improve compatibility with broken off-label drives
- xdisk: Integrate into tree
- sound: Bug fixes / fix a panic
- ahci: Document
hint.ahci.force{150,300,600}
loader vars - amdtemp: Fix family 0x17 support
Userland
- tcsh: Add csh-mode.el
- defaults/compilers.conf: Add CCVER definitions for clang11.
- Import mandoc-1.14.6.
- Import OpenSSH-8.8p1
- Import tzdata2021e
- initrd/mkinitrd.sh: Switch the initrd generation from vn(4) to makefs(8)
- Update to dhcpcd-9.4.1
- Synchronize zoneinfo (we do this regularly)
- fdisk - various improvements
Libraries
- libc - Fix env passing in
posix_spawnp()
- libc - Add
getentropy()
to improve ports compatibility - libc - Add
clearenv()
- libc - Add platform specific
__double_t
and__float_t
- libc - Improve
shm_open()
portability - libc - Add
mkdirat()
- libdmsg restore crypto functionality
- pthreads - Improve low level lock performance
Miscellaneous
- ahci - Document more loader.conf variables
- periodic: Enable
{daily,weekly,monthly,security}_show_badconfig
by default. - ACPICA sync with Intel version 20211217
- Boot source code rearranged in the source tree
- Memorialize the Covid epidemic with a manual page
- libc - Revamp
/var/run/shm
to improve portability
DSynth work
- dsynth - Add -M scale option
- dsynth - Support pkg 1.17 (.pkg suffix for packages)
- dsynth - Support for pkg meta version 2
- dsynth - Add
PKG_COMPRESSION_FORMAT
Various tools have been upgraded in the base system:
- dhcpcd-9.4.0 to dhcpcd-9.4.1
- vendor/file: upgrade from 5.39 to 5.40
Compiler status
- Currently using GCC 8 by default, with GCC 4.7 built but not used as fallback.
- Unchanged from 6.0.
Package updates
- A full set of new binary packages has been built for 6.2, available through the
pkg(8)
tool.