git: 17101a25f98e - main - Revert "Remove UPDATING entries from old branches."
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 27 Nov 2022 21:12:27 UTC
The branch main has been updated by netchild: URL: https://cgit.FreeBSD.org/src/commit/?id=17101a25f98e3e4b21bf19b2e6807ea0c4563f8a commit 17101a25f98e3e4b21bf19b2e6807ea0c4563f8a Author: Alexander Leidinger <netchild@FreeBSD.org> AuthorDate: 2022-11-27 21:10:09 +0000 Commit: Alexander Leidinger <netchild@FreeBSD.org> CommitDate: 2022-11-27 21:12:20 +0000 Revert "Remove UPDATING entries from old branches." This reverts commit ff0c7816db696d31adc437134dcad45a70ad5889 as more history than just from branch N-1 to N is requested/needed by some downstram consumers. Requested by: imp --- UPDATING | 2175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2175 insertions(+) diff --git a/UPDATING b/UPDATING index 83e97246b964..3782692c2a49 100644 --- a/UPDATING +++ b/UPDATING @@ -275,6 +275,2181 @@ https://lists.freebsd.org/archives/freebsd-current/2021-June/000153.html Please update your drm-kmod port to after the __FreeBSD_version 1400003 update. +20210108: + PC Card attachments for all devices have been removed. In the case of + wi and cmx, the entire drivers were removed because they were only + PC Card devices. FreeBSD_version 1300134 should be used for this + since it was bumped so recently. + +20210107: + Transport-independent parts of HID support have been split off the USB + code in to separate subsystem. Kernel configs which include one of + ums, ukbd, uhid, atp, wsp, wmt, uaudio, ugold or ucycom drivers should + be updated with adding of "device hid" line. + +20210105: + ncurses installation has been modified to only keep the widechar + enabled version. Incremental build is broken for that change, so it + requires a clean build. + +20201223: + The FreeBSD project has migrated from Subversion to Git. Temporary + instructions can be found at + https://github.com/bsdimp/freebsd-git-docs/blob/main/src-cvt.md + and other documents in that repo. + +20201216: + The services database has been updated to cover more of the basic + services expected in a modern system. The database is big enough + that it will cause issues in mergemaster in Releases previous to + 12.2 and 11.3, or in very old current systems from before r358154. + +20201215: + Obsolete in-tree GDB 6.1.1 has been removed. GDB (including kgdb) + may be installed from ports or packages. + +20201124: + ping6 has been merged into ping. It can now be called as "ping -6". + See ping(8) for details. + +20201108: + Default value of net.add_addr_allfibs has been changed to 0. + If you have multi-fib configuration and rely on existence of all + interface routes in every fib, you need to set the above sysctl to 1. + +20201030: + The internal pre-processor in the calendar(1) program has been + extended to support more C pre-processor commands (e.g. #ifdef, #else, + and #undef) and to detect unbalanced conditional statements. + Error messages have been extended to include the filename and line + number if processing stops to help fixing malformed data files. + +20201026: + All the data files for the calendar(1) program, except calendar.freebsd, + have been moved to the deskutils/calendar-data port, much like the + jewish calendar entries were moved to deskutils/hebcal years ago. After + make delete-old-files, you need to install it to retain full + functionality. calendar(1) will issue a reminder for files it can't + find. + +20200923: + LINT files are no longer generated. We now include the relevant NOTES + files. Note: This may cause conflicts with updating in some cases. + find sys -name LINT\* -delete + is suggested across this commit to remove the generated LINT files. + + If you have tried to update with generated files there, the svn + command you want to un-auger the tree is + cd sys/amd64/conf + svn revert -R . + and then do the above find from the top level. Substitute 'amd64' + above with where the error message indicates a conflict. + +20200824: + OpenZFS support has been integrated. Do not upgrade root pools until + the loader is updated to support zstd. Furthermore, we caution against + 'zpool upgrade' for the next few weeks. The change should be transparent + unless you want to use new features. + + Not all "NO_CLEAN" build scenarios work across these changes. Many + scenarios have been tested and fixed, but rebuilding kernels without + rebuilding world may fail. + + The ZFS cache file has moved from /boot to /etc to match the OpenZFS + upstream default. A fallback to /boot has been added for mountroot. + + Pool auto import behavior at boot has been moved from the kernel module + to an explicit "zpool import -a" in one of the rc scripts enabled by + zfs_enable=YES. This means your non-root zpools won't auto import until + you upgrade your /etc/rc.d files. + +20200824: + The resume code now notifies devd with the 'kernel' system + rather than the old 'kern' subsystem to be consistent with + other use. The old notification will be created as well, but + will be removed prior to FreeBSD 14.0. + +20200821: + r362275 changed the internal API between the kernel RPC and the + NFS modules. As such, all the modules must be recompiled from + sources. + +20200817: + r364330 modified the internal API used between the NFS modules. + As such, all the NFS modules must be re-compiled from sources. + +20200816: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 11.0.0. Please see the 20141231 entry below for + information about prerequisites and upgrading, if you are not already + using clang 3.5.0 or higher. + +20200810: + r364092 modified the internal ABI used between the kernel NFS + modules. As such, all of these modules need to be rebuilt + from sources, so a version bump was done. + +20200807: + Makefile.inc has been updated to work around the issue documented in + 20200729. It was a case where the optimization of using symbolic links + to point to binaries created a situation where we'd run new binaries + with old libraries starting midway through the installworld process. + +20200729: + r363679 has redefined some undefined behavior in regcomp(3); notably, + extraneous escapes of most ordinary characters will no longer be + accepted. An exp-run has identified all of the problems with this in + ports, but other non-ports software may need extra escapes removed to + continue to function. + + Because of this change, installworld may encounter the following error + from rtld: Undefined symbol "regcomp@FBSD_1.6" -- It is imperative that + you do not halt installworld. Instead, let it run to completion (whether + successful or not) and run installworld once more. + +20200627: + A new implementation of bc and dc has been imported in r362681. This + implementation corrects non-conformant behavior of the previous bc + and adds GNU bc compatible options. It offers a number of extensions, + is much faster on large values, and has support for message catalogs + (a number of languages are already supported, contributions of further + languages welcome). The option WITHOUT_GH_BC can be used to build the + world with the previous versions of bc and dc. + +20200625: + r362639 changed the internal API used between the NFS kernel modules. + As such, they all need to be rebuilt from sources. + +20200613: + r362158 changed the arguments for VFS_CHECKEXP(). As such, any + out of tree file systems need to be modified and rebuilt. + Also, any file systems that are modules must be rebuilt. + +20200604: + read(2) of a directory fd is now rejected by default. root may + re-enable it for system root only on non-ZFS filesystems with the + security.bsd.allow_read_dir sysctl(8) MIB if + security.bsd.suser_enabled=1. + + It may be advised to setup aliases for grep to default to `-d skip` if + commonly non-recursively grepping a list that includes directories and + the potential for the resulting stderr output is not tolerable. Example + aliases are now installed, commented out, in /root/.cshrc and + /root/.shrc. + +20200523: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 10.0.1. Please see the 20141231 entry below for + information about prerequisites and upgrading, if you are not already + using clang 3.5.0 or higher. + +20200512: + Support for obsolete compilers has been removed from the build system. + Clang 6 and GCC 6.4 are the minimum supported versions. + +20200424: + closefrom(2) has been moved under COMPAT12, and replaced in libc with a + stub that calls close_range(2). If using a custom kernel configuration, + you may want to ensure that the COMPAT_FREEBSD12 option is included, as + a slightly older -CURRENT userland and older FreeBSD userlands may not + be functional without closefrom(2). + +20200414: + Upstream DTS from Linux 5.6 was merged and they now have the SID + and THS (Secure ID controller and THermal Sensor) node present. + The DTB overlays have now been removed from the tree for the H3/H5 and + A64 SoCs and the aw_sid and aw_thermal driver have been updated to + deal with upstream DTS. If you are using those overlays you need to + remove them from loader.conf and update the DTBs on the FAT partition. + +20200310: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 10.0.0. Please see the 20141231 entry below for + information about prerequisites and upgrading, if you are not already + using clang 3.5.0 or higher. + +20200309: + The amd(8) automount daemon has been removed from the source tree. + As of FreeBSD 10.1 autofs(5) is the preferred tool for automounting. + amd is still available in the sysutils/am-utils port. + +20200301: + Removed brooktree driver (bktr.4) from the tree. + +20200229: + The WITH_GPL_DTC option has been removed. The BSD-licenced device tree + compiler in usr.bin/dtc is used on all architectures which use dtc, and + the GPL dtc is available (if needed) from the sysutils/dtc port. + +20200229: + The WITHOUT_LLVM_LIBUNWIND option has been removed. LLVM's libunwind + is used by all supported CPU architectures. + +20200229: + GCC 4.2.1 has been removed from the tree. The WITH_GCC, + WITH_GCC_BOOTSTRAP, and WITH_GNUCXX options are no longer available. + Users who wish to build FreeBSD with GCC must use the external toolchain + ports or packages. + +20200220: + ncurses has been updated to a newer version (6.2-20200215). Given the ABI + has changed, users will have to rebuild all the ports that are linked to + ncurses. + +20200217: + The size of struct vnet and the magic cookie have changed. + Users need to recompile libkvm and all modules using VIMAGE + together with their new kernel. + +20200212: + Defining the long deprecated NO_CTF, NO_DEBUG_FILES, NO_INSTALLLIB, + NO_MAN, NO_PROFILE, and NO_WARNS variables is now an error. Update + your Makefiles and scripts to define MK_<var>=no instead as required. + + One exception to this is that program or library Makefiles should + define MAN to empty rather than setting MK_MAN=no. + +20200108: + Clang/LLVM is now the default compiler and LLD the default + linker for riscv64. + +20200107: + make universe no longer uses GCC 4.2.1 on any architectures. + Architectures not supported by in-tree Clang/LLVM require an + external toolchain package. + +20200104: + GCC 4.2.1 is now not built by default, as part of the GCC 4.2.1 + retirement plan. Specifically, the GCC, GCC_BOOTSTRAP, and GNUCXX + options default to off for all supported CPU architectures. As a + short-term transition aid they may be enabled via WITH_* options. + GCC 4.2.1 is expected to be removed from the tree on 2020-03-31. + +20200102: + Support for armv5 has been disconnected and is being removed. The + machine combination MACHINE=arm MACHINE_ARCH=arm is no longer valid. + You must now use a MACHINE_ARCH of armv6 or armv7. The default + MACHINE_ARCH for MACHINE=arm is now armv7. + +20191226: + Clang/LLVM is now the default compiler for all powerpc architectures. + LLD is now the default linker for powerpc64. The change for powerpc64 + also includes a change to the ELFv2 ABI, incompatible with the existing + ABI. + +20191226: + Kernel-loadable random(4) modules are no longer unloadable. + +20191222: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 9.0.1. Please see the 20141231 entry below for + information about prerequisites and upgrading, if you are not already + using clang 3.5.0 or higher. + +20191212: + r355677 has modified the internal interface used between the + NFS modules in the kernel. As such, they must all be upgraded + simultaneously. I will do a version bump for this. + +20191205: + The root certificates of the Mozilla CA Certificate Store have been + imported into the base system and can be managed with the certctl(8) + utility. If you have installed the security/ca_root_nss port or package + with the ETCSYMLINK option (the default), be advised that there may be + differences between those included in the port and those included in + base due to differences in nss branch used as well as general update + frequency. Note also that certctl(8) cannot manage certs in the + format used by the security/ca_root_nss port. + +20191120: + The amd(8) automount daemon has been disabled by default, and will be + removed in the future. As of FreeBSD 10.1 the autofs(5) is available + for automounting. + +20191107: + The nctgpio and wbwd drivers have been moved to the superio bus. + If you have one of these drivers in a kernel configuration, then + you should add device superio to it. If you use one of these drivers + as a module and you compile a custom set of modules, then you should + add superio to the set. + +20191021: + KPIs for network drivers to access interface addresses have changed. + Users need to recompile NIC driver modules together with kernel. + +20191021: + The net.link.tap.user_open sysctl no longer prevents user opening of + already created /dev/tapNN devices. Access is still controlled by + node permissions, just like tun devices. The net.link.tap.user_open + sysctl is now used only to allow users to perform devfs cloning of + tap devices, and the subsequent open may not succeed if the user is not + in the appropriate group. This sysctl may be deprecated/removed + completely in the future. + +20191009: + mips, powerpc, and sparc64 are no longer built as part of + universe / tinderbox unless MAKE_OBSOLETE_GCC is defined. If + not defined, mips, powerpc, and sparc64 builds will look for + the xtoolchain binaries and if installed use them for universe + builds. As llvm 9.0 becomes vetted for these architectures, they + will be removed from the list. + +20191009: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 9.0.0. Please see the 20141231 entry below for + information about prerequisites and upgrading, if you are not already + using clang 3.5.0 or higher. + +20191003: + The hpt27xx, hptmv, hptnr, and hptrr drivers have been removed from + GENERIC. They are available as modules and can be loaded by adding + to /boot/loader.conf hpt27xx_load="YES", hptmv_load="YES", + hptnr_load="YES", or hptrr_load="YES", respectively. + +20190913: + ntpd no longer by default locks its pages in memory, allowing them + to be paged out by the kernel. Use rlimit memlock to restore + historic BSD behaviour. For example, add "rlimit memlock 32" + to ntp.conf to lock up to 32 MB of ntpd address space in memory. + +20190823: + Several of ping6's options have been renamed for better consistency + with ping. If you use any of -ARWXaghmrtwx, you must update your + scripts. See ping6(8) for details. + +20190727: + The vfs.fusefs.sync_unmount and vfs.fusefs.init_backgrounded sysctls + and the "-o sync_unmount" and "-o init_backgrounded" mount options have + been removed from mount_fusefs(8). You can safely remove them from + your scripts, because they had no effect. + + The vfs.fusefs.fix_broken_io, vfs.fusefs.sync_resize, + vfs.fusefs.refresh_size, vfs.fusefs.mmap_enable, + vfs.fusefs.reclaim_revoked, and vfs.fusefs.data_cache_invalidate + sysctls have been removed. If you felt the need to set any of them to + a non-default value, please tell asomers@FreeBSD.org why. + +20190713: + Default permissions on the /var/account/acct file (and copies of it + rotated by periodic daily scripts) are changed from 0644 to 0640 + because the file contains sensitive information that should not be + world-readable. If the /var/account directory must be created by + rc.d/accounting, the mode used is now 0750. Admins who use the + accounting feature are encouraged to change the mode of an existing + /var/account directory to 0750 or 0700. + +20190620: + Entropy collection and the /dev/random device are no longer optional + components. The "device random" option has been removed. + Implementations of distilling algorithms can still be made loadable + with "options RANDOM_LOADABLE" (e.g., random_fortuna.ko). + +20190612: + Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have + been upgraded to 8.0.1. Please see the 20141231 entry below for + information about prerequisites and upgrading, if you are not already + using clang 3.5.0 or higher. + +20190608: + A fix was applied to i386 kernel modules to avoid panics with + dpcpu or vnet. Users need to recompile i386 kernel modules + having pcpu or vnet sections or they will refuse to load. + +20190513: + User-wired pages now have their own counter, + vm.stats.vm.v_user_wire_count. The vm.max_wired sysctl was renamed + to vm.max_user_wired and changed from an unsigned int to an unsigned + long. bhyve VMs wired with the -S are now subject to the user + wiring limit; the vm.max_user_wired sysctl may need to be tuned to + avoid running into the limit. + +20190507: + The IPSEC option has been removed from GENERIC. Users requiring + ipsec(4) must now load the ipsec(4) kernel module. + +20190507: + The tap(4) driver has been folded into tun(4), and the module has been + renamed to tuntap. You should update any kld_list="if_tap" or + kld_list="if_tun" entries in /etc/rc.conf, if_tap_load="YES" or + if_tun_load="YES" entries in /boot/loader.conf to load the if_tuntap + module instead, and "device tap" or "device tun" entries in kernel + config files to select the tuntap device instead. + +20190418: + The following knobs have been added related to tradeoffs between + safe use of the random device and availability in the absence of + entropy: + + kern.random.initial_seeding.bypass_before_seeding: tunable; set + non-zero to bypass the random device prior to seeding, or zero to + block random requests until the random device is initially seeded. + For now, set to 1 (unsafe) by default to restore pre-r346250 boot + availability properties. + + kern.random.initial_seeding.read_random_bypassed_before_seeding: + read-only diagnostic sysctl that is set when bypass is enabled and + read_random(9) is bypassed, to enable programmatic handling of this + initial condition, if desired. + + kern.random.initial_seeding.arc4random_bypassed_before_seeding: + Similar to the above, but for arc4random(9) initial seeding. + + kern.random.initial_seeding.disable_bypass_warnings: tunable; set + non-zero to disable warnings in dmesg when the same conditions are + met as for the diagnostic sysctls above. Defaults to zero, i.e., + produce warnings in dmesg when the conditions are met. + +20190416: + The loadable random module KPI has changed; the random_infra_init() + routine now requires a 3rd function pointer for a bool (*)(void) + method that returns true if the random device is seeded (and + therefore unblocked). + +20190404: + r345895 reverts r320698. This implies that an nfsuserd(8) daemon + built from head sources between r320757 (July 6, 2017) and + r338192 (Aug. 22, 2018) will not work unless the "-use-udpsock" + is added to the command line. + nfsuserd daemons built from head sources that are post-r338192 are + not affected and should continue to work. + +20190320: + The fuse(4) module has been renamed to fusefs(4) for consistency with + other filesystems. You should update any kld_load="fuse" entries in + /etc/rc.conf, fuse_load="YES" entries in /boot/loader.conf, and + "options FUSE" entries in kernel config files. + +20190304: + Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to + 8.0.0. Please see the 20141231 entry below for information about + prerequisites and upgrading, if you are not already using clang 3.5.0 + or higher. + +20190226: + geom_uzip(4) depends on the new module xz. If geom_uzip is statically + compiled into your custom kernel, add 'device xz' statement to the + kernel config. + +20190219: + drm and drm2 have been removed from the tree. Please see + https://wiki.freebsd.org/Graphics for the latest information on + migrating to the drm ports. + +20190131: + Iflib is no longer unconditionally compiled into the kernel. Drivers + using iflib and statically compiled into the kernel, now require + the 'device iflib' config option. For the same drivers loaded as + modules on kernels not having 'device iflib', the iflib.ko module + is loaded automatically. + +20190125: + The IEEE80211_AMPDU_AGE and AH_SUPPORT_AR5416 kernel configuration + options no longer exist since r343219 and r343427 respectively; + nothing uses them, so they should be just removed from custom + kernel config files. + +20181230: + r342635 changes the way efibootmgr(8) works by requiring users to add + the -b (bootnum) parameter for commands where the bootnum was previously + specified with each option. For example 'efibootmgr -B 0001' is now + 'efibootmgr -B -b 0001'. + +20181220: + r342286 modifies the NFSv4 server so that it obeys vfs.nfsd.nfs_privport + in the same as it is applied to NFSv2 and 3. This implies that NFSv4 + servers that have vfs.nfsd.nfs_privport set will only allow mounts + from clients using a reserved port. Since both the FreeBSD and Linux + NFSv4 clients use reserved ports by default, this should not affect + most NFSv4 mounts. + +20181219: + The XLP config has been removed. We can't support 64-bit atomics in this + kernel because it is running in 32-bit mode. XLP users must transition + to running a 64-bit kernel (XLP64 or XLPN32). + + The mips GXEMUL support has been removed from FreeBSD. MALTA* + qemu is + the preferred emulator today and we don't need two different ones. + + The old sibyte / swarm / Broadcom BCM1250 support has been + removed from the mips port. + +20181211: + Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to + 7.0.1. Please see the 20141231 entry below for information about + prerequisites and upgrading, if you are not already using clang 3.5.0 + or higher. + +20181211: + Remove the timed and netdate programs from the base tree. Setting + the time with these daemons has been obsolete for over a decade. + +20181126: + On amd64, arm64 and armv7 (architectures that install LLVM's ld.lld + linker as /usr/bin/ld) GNU ld is no longer installed as ld.bfd, as + it produces broken binaries when ifuncs are in use. Users needing + GNU ld should install the binutils port or package. + +20181123: + The BSD crtbegin and crtend code has been enabled by default. It has + had extensive testing on amd64, arm64, and i386. It can be disabled + by building a world with -DWITHOUT_BSD_CRTBEGIN. + +20181115: + The set of CTM commands (ctm, ctm_smail, ctm_rmail, ctm_dequeue) + has been converted to a port (misc/ctm) and will be removed from + FreeBSD-13. It is available as a package (ctm) for all supported + FreeBSD versions. + +20181110: + The default newsyslog.conf(5) file has been changed to only include + files in /etc/newsyslog.conf.d/ and /usr/local/etc/newsyslog.conf.d/ if + the filenames end in '.conf' and do not begin with a '.'. + + You should check the configuration files in these two directories match + this naming convention. You can verify which configuration files are + being included using the command: + $ newsyslog -Nrv + +20181015: + Ports for the DRM modules have been simplified. Now, amd64 users should + just install the drm-kmod port. All others should install + drm-legacy-kmod. + + Graphics hardware that's newer than about 2010 usually works with + drm-kmod. For hardware older than 2013, however, some users will need + to use drm-legacy-kmod if drm-kmod doesn't work for them. Hardware older + than 2008 usually only works in drm-legacy-kmod. The graphics team can + only commit to hardware made since 2013 due to the complexity of the + market and difficulty to test all the older cards effectively. If you + have hardware supported by drm-kmod, you are strongly encouraged to use + that as you will get better support. + + Other than KPI chasing, drm-legacy-kmod will not be updated. As outlined + elsewhere, the drm and drm2 modules will be eliminated from the src base + soon (with a limited exception for arm). Please update to the package + asap and report any issues to x11@freebsd.org. + + Generally, anybody using the drm*-kmod packages should add + WITHOUT_DRM_MODULE=t and WITHOUT_DRM2_MODULE=t to avoid nasty + cross-threading surprises, especially with automatic driver + loading from X11 startup. These will become the defaults in 13-current + shortly. + +20181012: + The ixlv(4) driver has been renamed to iavf(4). As a consequence, + custom kernel and module loading configuration files must be updated + accordingly. Moreover, interfaces previous presented as ixlvN to the + system are now exposed as iavfN and network configuration files must + be adjusted as necessary. + +20181009: + OpenSSL has been updated to version 1.1.1. This update included + additional various API changes throughout the base system. It is + important to rebuild third-party software after upgrading. The value + of __FreeBSD_version has been bumped accordingly. + +20181006: + The legacy DRM modules and drivers have now been added to the loader's + module blacklist, in favor of loading them with kld_list in rc.conf(5). + The module blacklist may be overridden with the loader.conf(5) + 'module_blacklist' variable, but loading them via rc.conf(5) is strongly + encouraged. + +20181002: + The cam(4) based nda(4) driver will be used over nvd(4) by default on + powerpc64. You may set 'options NVME_USE_NVD=1' in your kernel conf or + loader tunable 'hw.nvme.use_nvd=1' if you wish to use the existing + driver. Make sure to edit /boot/etc/kboot.conf and fstab to use the + nda device name. + +20180913: + Reproducible build mode is now on by default, in preparation for + FreeBSD 12.0. This eliminates build metadata such as the user, + host, and time from the kernel (and uname), unless the working tree + corresponds to a modified checkout from a version control system. + The previous behavior can be obtained by setting the /etc/src.conf + knob WITHOUT_REPRODUCIBLE_BUILD. + +20180826: + The Yarrow CSPRNG has been removed from the kernel as it has not been + supported by its designers since at least 2003. Fortuna has been the + default since FreeBSD-11. + +20180822: + devctl freeze/thaw have gone into the tree, the rc scripts have been + updated to use them and devmatch has been changed. You should update + kernel, userland and rc scripts all at the same time. + +20180818: + The default interpreter has been switched from 4th to Lua. + LOADER_DEFAULT_INTERP, documented in build(7), will override the default + interpreter. If you have custom FORTH code you will need to set + LOADER_DEFAULT_INTERP=4th (valid values are 4th, lua or simp) in + src.conf for the build. This will create default hard links between + loader and loader_4th instead of loader and loader_lua, the new default. + If you are using UEFI it will create the proper hard link to loader.efi. + + bhyve uses userboot.so. It remains 4th-only until some issues are solved + regarding coexisting with multiple versions of FreeBSD are resolved. + +20180815: + ls(1) now respects the COLORTERM environment variable used in other + systems and software to indicate that a colored terminal is both + supported and desired. If ls(1) is suddenly emitting colors, they may + be disabled again by either removing the unwanted COLORTERM from your + environment, or using `ls --color=never`. The ls(1) specific CLICOLOR + may not be observed in a future release. + +20180808: + The default pager for most commands has been changed to "less". To + restore the old behavior, set PAGER="more" and MANPAGER="more -s" in + your environment. + +20180731: + The jedec_ts(4) driver has been removed. A superset of its functionality + is available in the jedec_dimm(4) driver, and the manpage for that + driver includes migration instructions. If you have "device jedec_ts" + in your kernel configuration file, it must be removed. + +20180730: + amd64/GENERIC now has EFI runtime services, EFIRT, enabled by default. + This should have no effect if the kernel is booted via BIOS/legacy boot. + EFIRT may be disabled via a loader tunable, efi.rt.disabled, if a system + has a buggy firmware that prevents a successful boot due to use of + runtime services. + +20180727: + Atmel AT91RM9200 and AT91SAM9, Cavium CNS 11xx and XScale + support has been removed from the tree. These ports were + obsolete and/or known to be broken for many years. + +20180723: + loader.efi has been augmented to participate more fully in the + UEFI boot manager protocol. loader.efi will now look at the + BootXXXX environment variable to determine if a specific kernel + or root partition was specified. XXXX is derived from BootCurrent. + efibootmgr(8) manages these standard UEFI variables. + +20180720: + zfsloader's functionality has now been folded into loader. + zfsloader is no longer necessary once you've updated your + boot blocks. For a transition period, we will install a + hardlink for zfsloader to loader to allow a smooth transition + until the boot blocks can be updated (hard link because old + zfs boot blocks don't understand symlinks). + +20180719: + ARM64 now have efifb support, if you want to have serial console + on your arm64 board when an screen is connected and the bootloader + setup a frame buffer for us to use, just add : + boot_serial=YES + boot_multicons=YES + in /boot/loader.conf + For Raspberry Pi 3 (RPI) users, this is needed even if you don't have + an screen connected as the firmware will setup a frame buffer are that + u-boot will expose as an EFI frame buffer. + +20180719: + New uid:gid added, ntpd:ntpd (123:123). Be sure to run mergemaster + or take steps to update /etc/passwd before doing installworld on + existing systems. Do not skip the "mergemaster -Fp" step before + installworld, as described in the update procedures near the bottom + of this document. Also, rc.d/ntpd now starts ntpd(8) as user ntpd + if the new mac_ntpd(4) policy is available, unless ntpd_flags or + the ntp config file contain options that change file/dir locations. + When such options (e.g., "statsdir" or "crypto") are used, ntpd can + still be run as non-root by setting ntpd_user=ntpd in rc.conf, after + taking steps to ensure that all required files/dirs are accessible + by the ntpd user. + +20180717: + Big endian arm support has been removed. + +20180711: + The static environment setup in kernel configs is no longer mutually + exclusive with the loader(8) environment by default. In order to + restore the previous default behavior of disabling the loader(8) + environment if a static environment is present, you must specify + loader_env.disabled=1 in the static environment. + +20180705: + The ABI of syscalls used by management tools like sockstat and + netstat has been broken to allow 32-bit binaries to work on + 64-bit kernels without modification. These programs will need + to match the kernel in order to function. External programs may + require minor modifications to accommodate a change of type in + structures from pointers to 64-bit virtual addresses. + +20180702: + On i386 and amd64 atomics are now inlined. Out of tree modules using + atomics will need to be rebuilt. + +20180701: + The '%I' format in the kern.corefile sysctl limits the number of + core files that a process can generate to the number stored in the + debug.ncores sysctl. The '%I' format is replaced by the single digit + index. Previously, if all indexes were taken the kernel would overwrite + only a core file with the highest index in a filename. + Currently the system will create a new core file if there is a free + index or if all slots are taken it will overwrite the oldest one. + +20180630: + Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to + 6.0.1. Please see the 20141231 entry below for information about + prerequisites and upgrading, if you are not already using clang 3.5.0 + or higher. + +20180628: + r335753 introduced a new quoting method. However, etc/devd/devmatch.conf + needed to be changed to work with it. This change was made with r335763 + and requires a mergemaster / etcupdate / etc to update the installed + file. + +20180612: + r334930 changed the interface between the NFS modules, so they all + need to be rebuilt. r335018 did a __FreeBSD_version bump for this. + +20180530: + As of r334391 lld is the default amd64 system linker; it is installed + as /usr/bin/ld. Kernel build workarounds (see 20180510 entry) are no + longer necessary. + +20180530: + The kernel / userland interface for devinfo changed, so you'll + need a new kernel and userland as a pair for it to work (rebuilding + lib/libdevinfo is all that's required). devinfo and devmatch will + not work, but everything else will when there's a mismatch. + +20180523: + The on-disk format for hwpmc callchain records has changed to include + threadid corresponding to a given record. This changes the field offsets + and thus requires that libpmcstat be rebuilt before using a kernel + later than r334108. + +20180517: + The vxge(4) driver has been removed. This driver was introduced into + HEAD one week before the Exar left the Ethernet market and is not + known to be used. If you have device vxge in your kernel config file + it must be removed. + +20180510: + The amd64 kernel now requires a ld that supports ifunc to produce a + working kernel, either lld or a newer binutils. lld is built by default + on amd64, and the 'buildkernel' target uses it automatically. However, + it is not the default linker, so building the kernel the traditional + way requires LD=ld.lld on the command line (or LD=/usr/local/bin/ld for + binutils port/package). lld will soon be default, and this requirement + will go away. + + NOTE: As of r334391 lld is the default system linker on amd64, and no + workaround is necessary. + +20180508: + The nxge(4) driver has been removed. This driver was for PCI-X 10g + cards made by s2io/Neterion. The company was acquired by Exar and + no longer sells or supports Ethernet products. If you have device + nxge in your kernel config file it must be removed. + +20180504: + The tz database (tzdb) has been updated to 2018e. This version more + correctly models time stamps in time zones with negative DST such as + Europe/Dublin (from 1971 on), Europe/Prague (1946/7), and + Africa/Windhoek (1994/2017). This does not affect the UT offsets, only + time zone abbreviations and the tm_isdst flag. + +20180502: + The ixgb(4) driver has been removed. This driver was for an early and + uncommon legacy PCI 10GbE for a single ASIC, Intel 82597EX. Intel + quickly shifted to the long lived ixgbe family. If you have device + ixgb in your kernel config file it must be removed. + +20180501: + The lmc(4) driver has been removed. This was a WAN interface + card that was already reportedly rare in 2003, and had an ambiguous + license. If you have device lmc in your kernel config file it must + be removed. + +20180413: + Support for Arcnet networks has been removed. If you have device + arcnet or device cm in your kernel config file they must be + removed. + +20180411: + Support for FDDI networks has been removed. If you have device + fddi or device fpa in your kernel config file they must be + removed. + +20180406: + In addition to supporting RFC 3164 formatted messages, the + syslogd(8) service is now capable of parsing RFC 5424 formatted + log messages. The main benefit of using RFC 5424 is that clients + may now send log messages with timestamps containing year numbers, + microseconds and time zone offsets. + + Similarly, the syslog(3) C library function has been altered to + send RFC 5424 formatted messages to the local system logging + daemon. On systems using syslogd(8), this change should have no + negative impact, as long as syslogd(8) and the C library are + updated at the same time. On systems using a different system + logging daemon, it may be necessary to make configuration + adjustments, depending on the software used. + + When using syslog-ng, add the 'syslog-protocol' flag to local + input sources to enable parsing of RFC 5424 formatted messages: + + source src { + unix-dgram("/var/run/log" flags(syslog-protocol)); + } + + When using rsyslog, disable the 'SysSock.UseSpecialParser' option + of the 'imuxsock' module to let messages be processed by the + regular RFC 3164/5424 parsing pipeline: + + module(load="imuxsock" SysSock.UseSpecialParser="off") + + Do note that these changes only affect communication between local + applications and syslogd(8). The format that syslogd(8) uses to + store messages on disk or forward messages to other systems + remains unchanged. syslogd(8) still uses RFC 3164 for these + purposes. Options to customize this behaviour will be added in the + future. Utilities that process log files stored in /var/log are + thus expected to continue to function as before. + + __FreeBSD_version has been incremented to 1200061 to denote this + change. + +20180328: + Support for token ring networks has been removed. If you + have "device token" in your kernel config you should remove + it. No device drivers supported token ring. + +20180323: + makefs was modified to be able to tag ISO9660 El Torito boot catalog + entries as EFI instead of overloading the i386 tag as done previously. + The amd64 mkisoimages.sh script used to build amd64 ISO images for + release was updated to use this. This may mean that makefs must be + updated before "make cdrom" can be run in the release directory. This + should be as simple as: + + $ cd $SRCDIR/usr.sbin/makefs + $ make depend all install + +20180212: + FreeBSD boot loader enhanced with Lua scripting. It's purely opt-in for + now by building WITH_LOADER_LUA and WITHOUT_FORTH in /etc/src.conf. + Co-existence for the transition period will come shortly. Booting is a + complex environment and test coverage for Lua-enabled loaders has been + thin, so it would be prudent to assume it might not work and make + provisions for backup boot methods. + +20180211: + devmatch functionality has been turned on in devd. It will automatically + load drivers for unattached devices. This may cause unexpected drivers + to be loaded. Please report any problems to current@ and + imp@freebsd.org. + +20180114: + Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to + 6.0.0. Please see the 20141231 entry below for information about + prerequisites and upgrading, if you are not already using clang 3.5.0 + or higher. + +20180110: + LLVM's lld linker is now used as the FreeBSD/amd64 bootstrap linker. + This means it is used to link the kernel and userland libraries and + executables, but is not yet installed as /usr/bin/ld by default. + + To revert to ld.bfd as the bootstrap linker, in /etc/src.conf set + WITHOUT_LLD_BOOTSTRAP=yes + +20180110: + On i386, pmtimer has been removed. Its functionality has been folded + into apm. It was a no-op on ACPI in current for a while now (but was + still needed on i386 in FreeBSD 11 and earlier). Users may need to + remove it from kernel config files. + +20180104: + The use of RSS hash from the network card aka flowid has been + disabled by default for lagg(4) as it's currently incompatible with + the lacp and loadbalance protocols. + + This can be re-enabled by setting the following in loader.conf: + net.link.lagg.default_use_flowid="1" + +20180102: + The SW_WATCHDOG option is no longer necessary to enable the + hardclock-based software watchdog if no hardware watchdog is + configured. As before, SW_WATCHDOG will cause the software + watchdog to be enabled even if a hardware watchdog is configured. + +20171215: + r326887 fixes the issue described in the 20171214 UPDATING entry. + r326888 flips the switch back to building GELI support always. + +20171214: + r362593 broke ZFS + GELI support for reasons unknown. However, + it also broke ZFS support generally, so GELI has been turned off + by default as the lesser evil in r326857. If you boot off ZFS and/or + GELI, it might not be a good time to update. + +20171125: + PowerPC users must update loader(8) by rebuilding world before + installing a new kernel, as the protocol connecting them has + changed. Without the update, loader metadata will not be passed + successfully to the kernel and users will have to enter their + root partition at the kernel mountroot prompt to continue booting. + Newer versions of loader can boot old kernels without issue. + +20171110: + The LOADER_FIREWIRE_SUPPORT build variable has been renamed to + WITH/OUT_LOADER_FIREWIRE. LOADER_{NO_,}GELI_SUPPORT has been renamed + to WITH/OUT_LOADER_GELI. + +20171106: + The naive and non-compliant support of posix_fallocate(2) in ZFS + has been removed as of r325320. The system call now returns EINVAL + when used on a ZFS file. Although the new behavior complies with the + standard, some consumers are not prepared to cope with it. + One known victim is lld prior to r325420. + +20171102: + Building in a FreeBSD src checkout will automatically create object + directories now rather than store files in the current directory if + 'make obj' was not ran. Calling 'make obj' is no longer necessary. + This feature can be disabled by setting WITHOUT_AUTO_OBJ=yes in + /etc/src-env.conf (not /etc/src.conf), or passing the option in the + environment. + +20171101: + The default MAKEOBJDIR has changed from /usr/obj/<srcdir> for native + builds, and /usr/obj/<arch>/<srcdir> for cross-builds, to a unified + /usr/obj/<srcdir>/<arch>. This behavior can be changed to the old + format by setting WITHOUT_UNIFIED_OBJDIR=yes in /etc/src-env.conf, + the environment, or with -DWITHOUT_UNIFIED_OBJDIR when building. + The UNIFIED_OBJDIR option is a transitional feature that will be + removed for 12.0 release; please migrate to the new format for any + tools by looking up the OBJDIR used by 'make -V .OBJDIR' means rather + than hardcoding paths. + +20171028: + The native-xtools target no longer installs the files by default to the *** 1220 LINES SKIPPED ***