1f9f848faSopenharmony_ci Updating Information for users of FreeBSD stable/13. 2f9f848faSopenharmony_ci 3f9f848faSopenharmony_ciThis file is maintained and copyrighted by M. Warner Losh <imp@freebsd.org>. 4f9f848faSopenharmony_ciSee end of file for further details. For commonly done items, please see the 5f9f848faSopenharmony_ciCOMMON ITEMS: section later in the file. These instructions assume that you 6f9f848faSopenharmony_cibasically know what you are doing. If not, then please consult the FreeBSD 7f9f848faSopenharmony_cihandbook: 8f9f848faSopenharmony_ci 9f9f848faSopenharmony_ci https://docs.freebsd.org/en/books/handbook/cutting-edge/#makeworld 10f9f848faSopenharmony_ci 11f9f848faSopenharmony_ciItems affecting the ports and packages system can be found in 12f9f848faSopenharmony_ci/usr/ports/UPDATING. Please read that file before updating system packages 13f9f848faSopenharmony_ciand/or ports. 14f9f848faSopenharmony_ci 15f9f848faSopenharmony_ci20240305: 16f9f848faSopenharmony_ci 13.3-RELEASE. 17f9f848faSopenharmony_ci 18f9f848faSopenharmony_ci20240218: 19f9f848faSopenharmony_ci Change 9b998db87c28 changed 'struct ieee80211vap' internals in net80211. 20f9f848faSopenharmony_ci Given we do not have enough spares and the struct is allocated by 21f9f848faSopenharmony_ci drivers, all wireless drivers have to be recompiled. 22f9f848faSopenharmony_ci __FreeBSD_version is updated to 1303001 to track this change. 23f9f848faSopenharmony_ci 24f9f848faSopenharmony_ci20240207: 25f9f848faSopenharmony_ci sendmail 8.18.1 has been imported and merged. This version enforces 26f9f848faSopenharmony_ci stricter RFC compliance by default, especially with respect to line 27f9f848faSopenharmony_ci endings. This may cause issues with receiving messages from 28f9f848faSopenharmony_ci non-compliant MTAs; please see the first 8.18.1 release note in 29f9f848faSopenharmony_ci contrib/sendmail/RELEASE_NOTES for mitigations. 30f9f848faSopenharmony_ci 31f9f848faSopenharmony_ci20230913: 32f9f848faSopenharmony_ci Improvements to libtacplus(8) mean that tacplus.conf(5) now 33f9f848faSopenharmony_ci follows POSIX shell syntax rules. This may cause TACACS+ 34f9f848faSopenharmony_ci authentication to fail if the shared secret contains a single 35f9f848faSopenharmony_ci quote, double quote, or backslash character which isn't 36f9f848faSopenharmony_ci already properly quoted or escaped. 37f9f848faSopenharmony_ci 38f9f848faSopenharmony_ci20230619: 39f9f848faSopenharmony_ci To enable pf rdr rules for connections initiated from the host, pf 40f9f848faSopenharmony_ci filter rules can be optionally enabled for packets delivered 41f9f848faSopenharmony_ci locally. This can change the behavior of rules which match packets 42f9f848faSopenharmony_ci delivered to lo0. To enable this feature: 43f9f848faSopenharmony_ci 44f9f848faSopenharmony_ci sysctl net.pf.filter_local=1 45f9f848faSopenharmony_ci service pf restart 46f9f848faSopenharmony_ci 47f9f848faSopenharmony_ci When enabled, its best to ensure that packets delivered locally are not 48f9f848faSopenharmony_ci filtered, e.g. by adding a 'skip on lo' rule. 49f9f848faSopenharmony_ci 50f9f848faSopenharmony_ci20230404: 51f9f848faSopenharmony_ci llvm-objump is now always installed as objdump. Previously there was 52f9f848faSopenharmony_ci no /usr/bin/objdump unless the WITH_LLVM_BINUTILS knob was used. 53f9f848faSopenharmony_ci 54f9f848faSopenharmony_ci Some LLVM objdump options have a different output format compared to 55f9f848faSopenharmony_ci GNU objdump; readelf is available for inspecting ELF files, and GNU 56f9f848faSopenharmony_ci objdump is available from the devel/binutils port or package. 57f9f848faSopenharmony_ci 58f9f848faSopenharmony_ci20230217: 59f9f848faSopenharmony_ci Bump __FreeBSD_verion after various changes to LinuxKPI pci and 802.11 60f9f848faSopenharmony_ci in order to help out-of-tree consumers to deal accordingly. 61f9f848faSopenharmony_ci 62f9f848faSopenharmony_ci20220701: 63f9f848faSopenharmony_ci LinuxKPI pm.h changes require an update to the latest drm-kmod version 64f9f848faSopenharmony_ci before re-compiling to avoid errors. 65f9f848faSopenharmony_ci 66f9f848faSopenharmony_ci20220327: 67f9f848faSopenharmony_ci Bump __FreeBSD_verion to 1301501 after merging LinuxKPI and 68f9f848faSopenharmony_ci net80211 changes in order to help out-of-tree consumers to deal 69f9f848faSopenharmony_ci accordingly. 70f9f848faSopenharmony_ci 71f9f848faSopenharmony_ci20220123: 72f9f848faSopenharmony_ci For 64-bit architectures the base system is now built with Position 73f9f848faSopenharmony_ci Independent Executable (PIE) support enabled by default. It may be 74f9f848faSopenharmony_ci disabled using the WITHOUT_PIE knob. A clean build is required. 75f9f848faSopenharmony_ci 76f9f848faSopenharmony_ci20220114: 77f9f848faSopenharmony_ci The macros provided for the manipulation of CPU sets (e.g. CPU_AND) 78f9f848faSopenharmony_ci have been modified to take 2 source arguments instead of only 1. 79f9f848faSopenharmony_ci Externally maintained sources that use these macros will have to 80f9f848faSopenharmony_ci be adapted. The FreeBSD version has been bumped to 1300524 to 81f9f848faSopenharmony_ci reflect this change. 82f9f848faSopenharmony_ci 83f9f848faSopenharmony_ci20211218: 84f9f848faSopenharmony_ci Commit 18f5b477ee66 adds two arguments to VOP_ALLOCATE(). 85f9f848faSopenharmony_ci Normally changes to VOP calls are not MFC'd, but a 86f9f848faSopenharmony_ci discussion on freebsd-current@ seemed to agree that 87f9f848faSopenharmony_ci it was acceptable in this case, to fix the NFSv4.2 server. 88f9f848faSopenharmony_ci Any out of source tree file system with a custom 89f9f848faSopenharmony_ci VOP_ALLOCATE() call will need to be modified. 90f9f848faSopenharmony_ci Bump __FreeBSD_version to 1300523 since the NFS modules need 91f9f848faSopenharmony_ci to be rebuilt from sources. 92f9f848faSopenharmony_ci 93f9f848faSopenharmony_ci20211124: 94f9f848faSopenharmony_ci Commit 6e8e261f0d4e changed the internal KAPI between the NFS 95f9f848faSopenharmony_ci modules. As such, all the modules must be rebuilt from sources. 96f9f848faSopenharmony_ci __FreeBSD_version has been bumped to 1300522. 97f9f848faSopenharmony_ci 98f9f848faSopenharmony_ci20211119: 99f9f848faSopenharmony_ci Bump __FreeBSD_version to 1300521 after merging LinuxKPI and 100f9f848faSopenharmony_ci net80211 changes in order to support building various wireless 101f9f848faSopenharmony_ci drivers. This is to help other external consumers of LinuxKPI 102f9f848faSopenharmony_ci and net80211 to deal accordingly. 103f9f848faSopenharmony_ci 104f9f848faSopenharmony_ci20211003: 105f9f848faSopenharmony_ci Commit a599f9f7620b deleted the variable called nfs_maxcopyrange 106f9f848faSopenharmony_ci from nfscommon.ko, since it no longer needs to be global. As such, 107f9f848faSopenharmony_ci the other nfs modules must be rebuilt from up to date sources. 108f9f848faSopenharmony_ci Bump __FreeBSD_version to 1300516 for this. 109f9f848faSopenharmony_ci 110f9f848faSopenharmony_ci20210823: 111f9f848faSopenharmony_ci As of commit 622809b0868f OpenSSL no longer enables kernel TLS 112f9f848faSopenharmony_ci by default. Users can enable kernel TLS via the "KTLS" SSL 113f9f848faSopenharmony_ci option. This can be enabled globally by using a custom 114f9f848faSopenharmony_ci OpenSSL config file via OPENSSL_CONF or via an 115f9f848faSopenharmony_ci application-specific configuration option for applications 116f9f848faSopenharmony_ci which permit setting SSL options via SSL_CONF_cmd(3). 117f9f848faSopenharmony_ci 118f9f848faSopenharmony_ci20210803: 119f9f848faSopenharmony_ci Commits 9fb6e613373c and 9ec7dbf46b0a both changed the internal 120f9f848faSopenharmony_ci KAPI between the NFS modules. Bump __FreeBSD_version to 1300514. 121f9f848faSopenharmony_ci All NFS modules must be rebuilt from sources. 122f9f848faSopenharmony_ci 123f9f848faSopenharmony_ci20210730: 124f9f848faSopenharmony_ci Commit b69019c14cd8 removes pf's DIOCGETSTATESNV ioctl. 125f9f848faSopenharmony_ci As of be70c7a50d32 it is no longer used by userspace, but it does mean 126f9f848faSopenharmony_ci users may not be able to enumerate pf states if they update the kernel 127f9f848faSopenharmony_ci past c021ff986e2b without first updating userspace past be70c7a50d32. 128f9f848faSopenharmony_ci 129f9f848faSopenharmony_ci20210718: 130f9f848faSopenharmony_ci Bump __FreeBSD_version to 1300512 after merging LinuxKPI, OFED, 131f9f848faSopenharmony_ci net80211, and driver changes in order to support building 132f9f848faSopenharmony_ci Intel wireless iwlwifi drivers. This is especially needed for 133f9f848faSopenharmony_ci drm-kmod which needs updates after this. 134f9f848faSopenharmony_ci 135f9f848faSopenharmony_ci20210715: 136f9f848faSopenharmony_ci The 20210707 awk update brought in a change in behavior. This has 137f9f848faSopenharmony_ci been corrected as of d4d252c49976. Between these dates, if you 138f9f848faSopenharmony_ci installed a new awk binary, you may not be able to build a new 139f9f848faSopenharmony_ci kernel because the change in behavior affected the genoffset 140f9f848faSopenharmony_ci script used to build the kernel. If you did update, the fix is 141f9f848faSopenharmony_ci to update your sources past the above hash and do 142f9f848faSopenharmony_ci % cd usr.bin/awk 143f9f848faSopenharmony_ci % make clean all 144f9f848faSopenharmony_ci % sudo -E make install 145f9f848faSopenharmony_ci to enable building kernels again. 146f9f848faSopenharmony_ci 147f9f848faSopenharmony_ci20210711: 148f9f848faSopenharmony_ci Commit 8a04edfdcbd2 changes the default minor version 149f9f848faSopenharmony_ci used for NFSv4 mounts to the highest minor version supported 150f9f848faSopenharmony_ci by the NFSv4 server. This default can be overridden by using 151f9f848faSopenharmony_ci the "minorversion" mount option. 152f9f848faSopenharmony_ci The consensus of a discussion on freebsd-current@ indicated 153f9f848faSopenharmony_ci that this would be acceptable to do and would not be considered 154f9f848faSopenharmony_ci a POLA violation. 155f9f848faSopenharmony_ci 156f9f848faSopenharmony_ci20210710: 157f9f848faSopenharmony_ci awk has been updated to the latest one-true-awk version 20210215. 158f9f848faSopenharmony_ci This contains a number of minor bug fixes. 159f9f848faSopenharmony_ci 160f9f848faSopenharmony_ci20210630: 161f9f848faSopenharmony_ci Commit ca179c4d74f2/632e3f2f3a66 changed the package in which 162f9f848faSopenharmony_ci the OpenSSL libraries and utilities are packaged. 163f9f848faSopenharmony_ci It is recommended for pkgbase user to do: 164f9f848faSopenharmony_ci pkg install -f FreeBSD-openssl 165f9f848faSopenharmony_ci before pkg upgrade otherwise some dependencies might not be met 166f9f848faSopenharmony_ci and pkg will stop working as libssl will not be present anymore 167f9f848faSopenharmony_ci on the system. 168f9f848faSopenharmony_ci 169f9f848faSopenharmony_ci20210626: 170f9f848faSopenharmony_ci Commit 841006678745 changed the internal KAPI between the krpc 171f9f848faSopenharmony_ci and nfsd modules. As such, they must both be rebuilt from 172f9f848faSopenharmony_ci sources. 173f9f848faSopenharmony_ci __FreeBSD_version is bumped to 1300510. 174f9f848faSopenharmony_ci 175f9f848faSopenharmony_ci20210510: 176f9f848faSopenharmony_ci Commit 272f39942254 changed the internal KAPI between the 177f9f848faSopenharmony_ci nscl.ko and nfscommon.ko modules, so they both need to be 178f9f848faSopenharmony_ci rebuilt from sources. 179f9f848faSopenharmony_ci 180f9f848faSopenharmony_ci20210429: 181f9f848faSopenharmony_ci Commit 5a45802b3c8c changed the internal KAPI between 182f9f848faSopenharmony_ci the krpc and NFS. As such, the krpc, nfscommon and 183f9f848faSopenharmony_ci nfscl modules must all be rebuilt from sources. 184f9f848faSopenharmony_ci Without this patch, NFSv4.1/4.2 mounts should not 185f9f848faSopenharmony_ci be done with the nfscbd(8) daemon running, to avoid 186f9f848faSopenharmony_ci needing a working back channel for server->client RPCs. 187f9f848faSopenharmony_ci 188f9f848faSopenharmony_ci20210202: 189f9f848faSopenharmony_ci Various LinuxKPI functionality was added which conflicts with DRM. 190f9f848faSopenharmony_ci Please update your drm-kmod port to after the __FreeBSD_verison 1300139 191f9f848faSopenharmony_ci update. 192f9f848faSopenharmony_ci 193f9f848faSopenharmony_ci20210122: 194f9f848faSopenharmony_ci The stable/13 branch has been created from main. 195f9f848faSopenharmony_ci 196f9f848faSopenharmony_ci20210108: 197f9f848faSopenharmony_ci PC Card attachments for all devices have been removed. In the case of 198f9f848faSopenharmony_ci wi and cmx, the entire drivers were removed because they were only 199f9f848faSopenharmony_ci PC Card devices. FreeBSD_version 1300134 should be used for this 200f9f848faSopenharmony_ci since it was bumped so recently. 201f9f848faSopenharmony_ci 202f9f848faSopenharmony_ci20210107: 203f9f848faSopenharmony_ci Transport-independent parts of HID support have been split off the USB 204f9f848faSopenharmony_ci code in to separate subsystem. Kernel configs which include one of 205f9f848faSopenharmony_ci ums, ukbd, uhid, atp, wsp, wmt, uaudio, ugold or ucycom drivers should 206f9f848faSopenharmony_ci be updated with adding of "device hid" line. 207f9f848faSopenharmony_ci 208f9f848faSopenharmony_ci20210105: 209f9f848faSopenharmony_ci ncurses installation has been modified to only keep the widechar 210f9f848faSopenharmony_ci enabled version. Incremental build is broken for that change, so it 211f9f848faSopenharmony_ci requires a clean build. 212f9f848faSopenharmony_ci 213f9f848faSopenharmony_ci20201223: 214f9f848faSopenharmony_ci The FreeBSD project has migrated from Subversion to Git. Temporary 215f9f848faSopenharmony_ci instructions can be found at 216f9f848faSopenharmony_ci https://github.com/bsdimp/freebsd-git-docs/blob/main/src-cvt.md 217f9f848faSopenharmony_ci and other documents in that repo. 218f9f848faSopenharmony_ci 219f9f848faSopenharmony_ci20201216: 220f9f848faSopenharmony_ci The services database has been updated to cover more of the basic 221f9f848faSopenharmony_ci services expected in a modern system. The database is big enough 222f9f848faSopenharmony_ci that it will cause issues in mergemaster in Releases previous to 223f9f848faSopenharmony_ci 12.2 and 11.3, or in very old current systems from before r358154. 224f9f848faSopenharmony_ci 225f9f848faSopenharmony_ci20201215: 226f9f848faSopenharmony_ci Obsolete in-tree GDB 6.1.1 has been removed. GDB (including kgdb) 227f9f848faSopenharmony_ci may be installed from ports or packages. 228f9f848faSopenharmony_ci 229f9f848faSopenharmony_ci20201124: 230f9f848faSopenharmony_ci ping6 has been merged into ping. It can now be called as "ping -6". 231f9f848faSopenharmony_ci See ping(8) for details. 232f9f848faSopenharmony_ci 233f9f848faSopenharmony_ci20201108: 234f9f848faSopenharmony_ci Default value of net.add_addr_allfibs has been changed to 0. 235f9f848faSopenharmony_ci If you have multi-fib configuration and rely on existence of all 236f9f848faSopenharmony_ci interface routes in every fib, you need to set the above sysctl to 1. 237f9f848faSopenharmony_ci20201030: 238f9f848faSopenharmony_ci The internal pre-processor in the calendar(1) program has been 239f9f848faSopenharmony_ci extended to support more C pre-processor commands (e.g. #ifdef, #else, 240f9f848faSopenharmony_ci and #undef) and to detect unbalanced conditional statements. 241f9f848faSopenharmony_ci Error messages have been extended to include the filename and line 242f9f848faSopenharmony_ci number if processing stops to help fixing malformed data files. 243f9f848faSopenharmony_ci 244f9f848faSopenharmony_ci20201026: 245f9f848faSopenharmony_ci All the data files for the calendar(1) program, except calendar.freebsd, 246f9f848faSopenharmony_ci have been moved to the deskutils/calendar-data port, much like the 247f9f848faSopenharmony_ci jewish calendar entries were moved to deskutils/hebcal years ago. After 248f9f848faSopenharmony_ci make delete-old-files, you need to install it to retain full 249f9f848faSopenharmony_ci functionality. calendar(1) will issue a reminder for files it can't 250f9f848faSopenharmony_ci find. 251f9f848faSopenharmony_ci 252f9f848faSopenharmony_ci20200923: 253f9f848faSopenharmony_ci LINT files are no longer generated. We now include the relevant NOTES 254f9f848faSopenharmony_ci files. Note: This may cause conflicts with updating in some cases. 255f9f848faSopenharmony_ci find sys -name LINT\* -delete 256f9f848faSopenharmony_ci is suggested across this commit to remove the generated LINT files. 257f9f848faSopenharmony_ci 258f9f848faSopenharmony_ci If you have tried to update with generated files there, the svn 259f9f848faSopenharmony_ci command you want to un-auger the tree is 260f9f848faSopenharmony_ci cd sys/amd64/conf 261f9f848faSopenharmony_ci svn revert -R . 262f9f848faSopenharmony_ci and then do the above find from the top level. Substitute 'amd64' 263f9f848faSopenharmony_ci above with where the error message indicates a conflict. 264f9f848faSopenharmony_ci 265f9f848faSopenharmony_ci20200824: 266f9f848faSopenharmony_ci OpenZFS support has been integrated. Do not upgrade root pools until 267f9f848faSopenharmony_ci the loader is updated to support zstd. Furthermore, we caution against 268f9f848faSopenharmony_ci 'zpool upgrade' for the next few weeks. The change should be transparent 269f9f848faSopenharmony_ci unless you want to use new features. 270f9f848faSopenharmony_ci 271f9f848faSopenharmony_ci Not all "NO_CLEAN" build scenarios work across these changes. Many 272f9f848faSopenharmony_ci scenarios have been tested and fixed, but rebuilding kernels without 273f9f848faSopenharmony_ci rebuilding world may fail. 274f9f848faSopenharmony_ci 275f9f848faSopenharmony_ci The ZFS cache file has moved from /boot to /etc to match the OpenZFS 276f9f848faSopenharmony_ci upstream default. A fallback to /boot has been added for mountroot. 277f9f848faSopenharmony_ci 278f9f848faSopenharmony_ci Pool auto import behavior at boot has been moved from the kernel module 279f9f848faSopenharmony_ci to an explicit "zpool import -a" in one of the rc scripts enabled by 280f9f848faSopenharmony_ci zfs_enable=YES. This means your non-root zpools won't auto import until 281f9f848faSopenharmony_ci you upgrade your /etc/rc.d files. 282f9f848faSopenharmony_ci 283f9f848faSopenharmony_ci20200824: 284f9f848faSopenharmony_ci The resume code now notifies devd with the 'kernel' system 285f9f848faSopenharmony_ci rather than the old 'kern' subsystem to be consistent with 286f9f848faSopenharmony_ci other use. The old notification will be created as well, but 287f9f848faSopenharmony_ci will be removed prior to FreeBSD 14.0. 288f9f848faSopenharmony_ci 289f9f848faSopenharmony_ci20200821: 290f9f848faSopenharmony_ci r362275 changed the internal API between the kernel RPC and the 291f9f848faSopenharmony_ci NFS modules. As such, all the modules must be recompiled from 292f9f848faSopenharmony_ci sources. 293f9f848faSopenharmony_ci 294f9f848faSopenharmony_ci20200817: 295f9f848faSopenharmony_ci r364330 modified the internal API used between the NFS modules. 296f9f848faSopenharmony_ci As such, all the NFS modules must be re-compiled from sources. 297f9f848faSopenharmony_ci 298f9f848faSopenharmony_ci20200816: 299f9f848faSopenharmony_ci Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have 300f9f848faSopenharmony_ci been upgraded to 11.0.0. Please see the 20141231 entry below for 301f9f848faSopenharmony_ci information about prerequisites and upgrading, if you are not already 302f9f848faSopenharmony_ci using clang 3.5.0 or higher. 303f9f848faSopenharmony_ci 304f9f848faSopenharmony_ci20200810: 305f9f848faSopenharmony_ci r364092 modified the internal ABI used between the kernel NFS 306f9f848faSopenharmony_ci modules. As such, all of these modules need to be rebuilt 307f9f848faSopenharmony_ci from sources, so a version bump was done. 308f9f848faSopenharmony_ci 309f9f848faSopenharmony_ci20200807: 310f9f848faSopenharmony_ci Makefile.inc has been updated to work around the issue documented in 311f9f848faSopenharmony_ci 20200729. It was a case where the optimization of using symbolic links 312f9f848faSopenharmony_ci to point to binaries created a situation where we'd run new binaries 313f9f848faSopenharmony_ci with old libraries starting midway through the installworld process. 314f9f848faSopenharmony_ci 315f9f848faSopenharmony_ci20200729: 316f9f848faSopenharmony_ci r363679 has redefined some undefined behavior in regcomp(3); notably, 317f9f848faSopenharmony_ci extraneous escapes of most ordinary characters will no longer be 318f9f848faSopenharmony_ci accepted. An exp-run has identified all of the problems with this in 319f9f848faSopenharmony_ci ports, but other non-ports software may need extra escapes removed to 320f9f848faSopenharmony_ci continue to function. 321f9f848faSopenharmony_ci 322f9f848faSopenharmony_ci Because of this change, installworld may encounter the following error 323f9f848faSopenharmony_ci from rtld: Undefined symbol "regcomp@FBSD_1.6" -- It is imperative that 324f9f848faSopenharmony_ci you do not halt installworld. Instead, let it run to completion (whether 325f9f848faSopenharmony_ci successful or not) and run installworld once more. 326f9f848faSopenharmony_ci 327f9f848faSopenharmony_ci20200627: 328f9f848faSopenharmony_ci A new implementation of bc and dc has been imported in r362681. This 329f9f848faSopenharmony_ci implementation corrects non-conformant behavior of the previous bc 330f9f848faSopenharmony_ci and adds GNU bc compatible options. It offers a number of extensions, 331f9f848faSopenharmony_ci is much faster on large values, and has support for message catalogs 332f9f848faSopenharmony_ci (a number of languages are already supported, contributions of further 333f9f848faSopenharmony_ci languages welcome). The option WITHOUT_GH_BC can be used to build the 334f9f848faSopenharmony_ci world with the previous versions of bc and dc. 335f9f848faSopenharmony_ci 336f9f848faSopenharmony_ci20200625: 337f9f848faSopenharmony_ci r362639 changed the internal API used between the NFS kernel modules. 338f9f848faSopenharmony_ci As such, they all need to be rebuilt from sources. 339f9f848faSopenharmony_ci 340f9f848faSopenharmony_ci20200613: 341f9f848faSopenharmony_ci r362158 changed the arguments for VFS_CHECKEXP(). As such, any 342f9f848faSopenharmony_ci out of tree file systems need to be modified and rebuilt. 343f9f848faSopenharmony_ci Also, any file systems that are modules must be rebuilt. 344f9f848faSopenharmony_ci 345f9f848faSopenharmony_ci20200604: 346f9f848faSopenharmony_ci read(2) of a directory fd is now rejected by default. root may 347f9f848faSopenharmony_ci re-enable it for system root only on non-ZFS filesystems with the 348f9f848faSopenharmony_ci security.bsd.allow_read_dir sysctl(8) MIB if 349f9f848faSopenharmony_ci security.bsd.suser_enabled=1. 350f9f848faSopenharmony_ci 351f9f848faSopenharmony_ci It may be advised to setup aliases for grep to default to `-d skip` if 352f9f848faSopenharmony_ci commonly non-recursively grepping a list that includes directories and 353f9f848faSopenharmony_ci the potential for the resulting stderr output is not tolerable. Example 354f9f848faSopenharmony_ci aliases are now installed, commented out, in /root/.cshrc and 355f9f848faSopenharmony_ci /root/.shrc. 356f9f848faSopenharmony_ci 357f9f848faSopenharmony_ci20200523: 358f9f848faSopenharmony_ci Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have 359f9f848faSopenharmony_ci been upgraded to 10.0.1. Please see the 20141231 entry below for 360f9f848faSopenharmony_ci information about prerequisites and upgrading, if you are not already 361f9f848faSopenharmony_ci using clang 3.5.0 or higher. 362f9f848faSopenharmony_ci 363f9f848faSopenharmony_ci20200512: 364f9f848faSopenharmony_ci Support for obsolete compilers has been removed from the build system. 365f9f848faSopenharmony_ci Clang 6 and GCC 6.4 are the minimum supported versions. 366f9f848faSopenharmony_ci 367f9f848faSopenharmony_ci20200424: 368f9f848faSopenharmony_ci closefrom(2) has been moved under COMPAT12, and replaced in libc with a 369f9f848faSopenharmony_ci stub that calls close_range(2). If using a custom kernel configuration, 370f9f848faSopenharmony_ci you may want to ensure that the COMPAT_FREEBSD12 option is included, as 371f9f848faSopenharmony_ci a slightly older -CURRENT userland and older FreeBSD userlands may not 372f9f848faSopenharmony_ci be functional without closefrom(2). 373f9f848faSopenharmony_ci 374f9f848faSopenharmony_ci20200414: 375f9f848faSopenharmony_ci Upstream DTS from Linux 5.6 was merged and they now have the SID 376f9f848faSopenharmony_ci and THS (Secure ID controller and THermal Sensor) node present. 377f9f848faSopenharmony_ci The DTB overlays have now been removed from the tree for the H3/H5 and 378f9f848faSopenharmony_ci A64 SoCs and the aw_sid and aw_thermal driver have been updated to 379f9f848faSopenharmony_ci deal with upstream DTS. If you are using those overlays you need to 380f9f848faSopenharmony_ci remove them from loader.conf and update the DTBs on the FAT partition. 381f9f848faSopenharmony_ci 382f9f848faSopenharmony_ci20200310: 383f9f848faSopenharmony_ci Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have 384f9f848faSopenharmony_ci been upgraded to 10.0.0. Please see the 20141231 entry below for 385f9f848faSopenharmony_ci information about prerequisites and upgrading, if you are not already 386f9f848faSopenharmony_ci using clang 3.5.0 or higher. 387f9f848faSopenharmony_ci 388f9f848faSopenharmony_ci20200309: 389f9f848faSopenharmony_ci The amd(8) automount daemon has been removed from the source tree. 390f9f848faSopenharmony_ci As of FreeBSD 10.1 autofs(5) is the preferred tool for automounting. 391f9f848faSopenharmony_ci amd is still available in the sysutils/am-utils port. 392f9f848faSopenharmony_ci 393f9f848faSopenharmony_ci20200301: 394f9f848faSopenharmony_ci Removed brooktree driver (bktr.4) from the tree. 395f9f848faSopenharmony_ci 396f9f848faSopenharmony_ci20200229: 397f9f848faSopenharmony_ci The WITH_GPL_DTC option has been removed. The BSD-licenced device tree 398f9f848faSopenharmony_ci compiler in usr.bin/dtc is used on all architectures which use dtc, and 399f9f848faSopenharmony_ci the GPL dtc is available (if needed) from the sysutils/dtc port. 400f9f848faSopenharmony_ci 401f9f848faSopenharmony_ci20200229: 402f9f848faSopenharmony_ci The WITHOUT_LLVM_LIBUNWIND option has been removed. LLVM's libunwind 403f9f848faSopenharmony_ci is used by all supported CPU architectures. 404f9f848faSopenharmony_ci 405f9f848faSopenharmony_ci20200229: 406f9f848faSopenharmony_ci GCC 4.2.1 has been removed from the tree. The WITH_GCC, 407f9f848faSopenharmony_ci WITH_GCC_BOOTSTRAP, and WITH_GNUCXX options are no longer available. 408f9f848faSopenharmony_ci Users who wish to build FreeBSD with GCC must use the external toolchain 409f9f848faSopenharmony_ci ports or packages. 410f9f848faSopenharmony_ci 411f9f848faSopenharmony_ci20200220: 412f9f848faSopenharmony_ci ncurses has been updated to a newer version (6.2-20200215). Given the ABI 413f9f848faSopenharmony_ci has changed, users will have to rebuild all the ports that are linked to 414f9f848faSopenharmony_ci ncurses. 415f9f848faSopenharmony_ci 416f9f848faSopenharmony_ci20200217: 417f9f848faSopenharmony_ci The size of struct vnet and the magic cookie have changed. 418f9f848faSopenharmony_ci Users need to recompile libkvm and all modules using VIMAGE 419f9f848faSopenharmony_ci together with their new kernel. 420f9f848faSopenharmony_ci 421f9f848faSopenharmony_ci20200212: 422f9f848faSopenharmony_ci Defining the long deprecated NO_CTF, NO_DEBUG_FILES, NO_INSTALLLIB, 423f9f848faSopenharmony_ci NO_MAN, NO_PROFILE, and NO_WARNS variables is now an error. Update 424f9f848faSopenharmony_ci your Makefiles and scripts to define MK_<var>=no instead as required. 425f9f848faSopenharmony_ci 426f9f848faSopenharmony_ci One exception to this is that program or library Makefiles should 427f9f848faSopenharmony_ci define MAN to empty rather than setting MK_MAN=no. 428f9f848faSopenharmony_ci 429f9f848faSopenharmony_ci20200108: 430f9f848faSopenharmony_ci Clang/LLVM is now the default compiler and LLD the default 431f9f848faSopenharmony_ci linker for riscv64. 432f9f848faSopenharmony_ci 433f9f848faSopenharmony_ci20200107: 434f9f848faSopenharmony_ci make universe no longer uses GCC 4.2.1 on any architectures. 435f9f848faSopenharmony_ci Architectures not supported by in-tree Clang/LLVM require an 436f9f848faSopenharmony_ci external toolchain package. 437f9f848faSopenharmony_ci 438f9f848faSopenharmony_ci20200104: 439f9f848faSopenharmony_ci GCC 4.2.1 is now not built by default, as part of the GCC 4.2.1 440f9f848faSopenharmony_ci retirement plan. Specifically, the GCC, GCC_BOOTSTRAP, and GNUCXX 441f9f848faSopenharmony_ci options default to off for all supported CPU architectures. As a 442f9f848faSopenharmony_ci short-term transition aid they may be enabled via WITH_* options. 443f9f848faSopenharmony_ci GCC 4.2.1 is expected to be removed from the tree on 2020-03-31. 444f9f848faSopenharmony_ci 445f9f848faSopenharmony_ci20200102: 446f9f848faSopenharmony_ci Support for armv5 has been disconnected and is being removed. The 447f9f848faSopenharmony_ci machine combination MACHINE=arm MACHINE_ARCH=arm is no longer valid. 448f9f848faSopenharmony_ci You must now use a MACHINE_ARCH of armv6 or armv7. The default 449f9f848faSopenharmony_ci MACHINE_ARCH for MACHINE=arm is now armv7. 450f9f848faSopenharmony_ci 451f9f848faSopenharmony_ci20191226: 452f9f848faSopenharmony_ci Clang/LLVM is now the default compiler for all powerpc architectures. 453f9f848faSopenharmony_ci LLD is now the default linker for powerpc64. The change for powerpc64 454f9f848faSopenharmony_ci also includes a change to the ELFv2 ABI, incompatible with the existing 455f9f848faSopenharmony_ci ABI. 456f9f848faSopenharmony_ci 457f9f848faSopenharmony_ci20191226: 458f9f848faSopenharmony_ci Kernel-loadable random(4) modules are no longer unloadable. 459f9f848faSopenharmony_ci 460f9f848faSopenharmony_ci20191222: 461f9f848faSopenharmony_ci Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have 462f9f848faSopenharmony_ci been upgraded to 9.0.1. Please see the 20141231 entry below for 463f9f848faSopenharmony_ci information about prerequisites and upgrading, if you are not already 464f9f848faSopenharmony_ci using clang 3.5.0 or higher. 465f9f848faSopenharmony_ci 466f9f848faSopenharmony_ci20191212: 467f9f848faSopenharmony_ci r355677 has modified the internal interface used between the 468f9f848faSopenharmony_ci NFS modules in the kernel. As such, they must all be upgraded 469f9f848faSopenharmony_ci simultaneously. I will do a version bump for this. 470f9f848faSopenharmony_ci 471f9f848faSopenharmony_ci20191205: 472f9f848faSopenharmony_ci The root certificates of the Mozilla CA Certificate Store have been 473f9f848faSopenharmony_ci imported into the base system and can be managed with the certctl(8) 474f9f848faSopenharmony_ci utility. If you have installed the security/ca_root_nss port or package 475f9f848faSopenharmony_ci with the ETCSYMLINK option (the default), be advised that there may be 476f9f848faSopenharmony_ci differences between those included in the port and those included in 477f9f848faSopenharmony_ci base due to differences in nss branch used as well as general update 478f9f848faSopenharmony_ci frequency. Note also that certctl(8) cannot manage certs in the 479f9f848faSopenharmony_ci format used by the security/ca_root_nss port. 480f9f848faSopenharmony_ci 481f9f848faSopenharmony_ci20191120: 482f9f848faSopenharmony_ci The amd(8) automount daemon has been disabled by default, and will be 483f9f848faSopenharmony_ci removed in the future. As of FreeBSD 10.1 the autofs(5) is available 484f9f848faSopenharmony_ci for automounting. 485f9f848faSopenharmony_ci 486f9f848faSopenharmony_ci20191107: 487f9f848faSopenharmony_ci The nctgpio and wbwd drivers have been moved to the superio bus. 488f9f848faSopenharmony_ci If you have one of these drivers in a kernel configuration, then 489f9f848faSopenharmony_ci you should add device superio to it. If you use one of these drivers 490f9f848faSopenharmony_ci as a module and you compile a custom set of modules, then you should 491f9f848faSopenharmony_ci add superio to the set. 492f9f848faSopenharmony_ci 493f9f848faSopenharmony_ci20191021: 494f9f848faSopenharmony_ci KPIs for network drivers to access interface addresses have changed. 495f9f848faSopenharmony_ci Users need to recompile NIC driver modules together with kernel. 496f9f848faSopenharmony_ci 497f9f848faSopenharmony_ci20191021: 498f9f848faSopenharmony_ci The net.link.tap.user_open sysctl no longer prevents user opening of 499f9f848faSopenharmony_ci already created /dev/tapNN devices. Access is still controlled by 500f9f848faSopenharmony_ci node permissions, just like tun devices. The net.link.tap.user_open 501f9f848faSopenharmony_ci sysctl is now used only to allow users to perform devfs cloning of 502f9f848faSopenharmony_ci tap devices, and the subsequent open may not succeed if the user is not 503f9f848faSopenharmony_ci in the appropriate group. This sysctl may be deprecated/removed 504f9f848faSopenharmony_ci completely in the future. 505f9f848faSopenharmony_ci 506f9f848faSopenharmony_ci20191009: 507f9f848faSopenharmony_ci mips, powerpc, and sparc64 are no longer built as part of 508f9f848faSopenharmony_ci universe / tinderbox unless MAKE_OBSOLETE_GCC is defined. If 509f9f848faSopenharmony_ci not defined, mips, powerpc, and sparc64 builds will look for 510f9f848faSopenharmony_ci the xtoolchain binaries and if installed use them for universe 511f9f848faSopenharmony_ci builds. As llvm 9.0 becomes vetted for these architectures, they 512f9f848faSopenharmony_ci will be removed from the list. 513f9f848faSopenharmony_ci 514f9f848faSopenharmony_ci20191009: 515f9f848faSopenharmony_ci Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have 516f9f848faSopenharmony_ci been upgraded to 9.0.0. Please see the 20141231 entry below for 517f9f848faSopenharmony_ci information about prerequisites and upgrading, if you are not already 518f9f848faSopenharmony_ci using clang 3.5.0 or higher. 519f9f848faSopenharmony_ci 520f9f848faSopenharmony_ci20191003: 521f9f848faSopenharmony_ci The hpt27xx, hptmv, hptnr, and hptrr drivers have been removed from 522f9f848faSopenharmony_ci GENERIC. They are available as modules and can be loaded by adding 523f9f848faSopenharmony_ci to /boot/loader.conf hpt27xx_load="YES", hptmv_load="YES", 524f9f848faSopenharmony_ci hptnr_load="YES", or hptrr_load="YES", respectively. 525f9f848faSopenharmony_ci 526f9f848faSopenharmony_ci20190913: 527f9f848faSopenharmony_ci ntpd no longer by default locks its pages in memory, allowing them 528f9f848faSopenharmony_ci to be paged out by the kernel. Use rlimit memlock to restore 529f9f848faSopenharmony_ci historic BSD behaviour. For example, add "rlimit memlock 32" 530f9f848faSopenharmony_ci to ntp.conf to lock up to 32 MB of ntpd address space in memory. 531f9f848faSopenharmony_ci 532f9f848faSopenharmony_ci20190823: 533f9f848faSopenharmony_ci Several of ping6's options have been renamed for better consistency 534f9f848faSopenharmony_ci with ping. If you use any of -ARWXaghmrtwx, you must update your 535f9f848faSopenharmony_ci scripts. See ping6(8) for details. 536f9f848faSopenharmony_ci 537f9f848faSopenharmony_ci20190727: 538f9f848faSopenharmony_ci The vfs.fusefs.sync_unmount and vfs.fusefs.init_backgrounded sysctls 539f9f848faSopenharmony_ci and the "-o sync_unmount" and "-o init_backgrounded" mount options have 540f9f848faSopenharmony_ci been removed from mount_fusefs(8). You can safely remove them from 541f9f848faSopenharmony_ci your scripts, because they had no effect. 542f9f848faSopenharmony_ci 543f9f848faSopenharmony_ci The vfs.fusefs.fix_broken_io, vfs.fusefs.sync_resize, 544f9f848faSopenharmony_ci vfs.fusefs.refresh_size, vfs.fusefs.mmap_enable, 545f9f848faSopenharmony_ci vfs.fusefs.reclaim_revoked, and vfs.fusefs.data_cache_invalidate 546f9f848faSopenharmony_ci sysctls have been removed. If you felt the need to set any of them to 547f9f848faSopenharmony_ci a non-default value, please tell asomers@FreeBSD.org why. 548f9f848faSopenharmony_ci 549f9f848faSopenharmony_ci20190713: 550f9f848faSopenharmony_ci Default permissions on the /var/account/acct file (and copies of it 551f9f848faSopenharmony_ci rotated by periodic daily scripts) are changed from 0644 to 0640 552f9f848faSopenharmony_ci because the file contains sensitive information that should not be 553f9f848faSopenharmony_ci world-readable. If the /var/account directory must be created by 554f9f848faSopenharmony_ci rc.d/accounting, the mode used is now 0750. Admins who use the 555f9f848faSopenharmony_ci accounting feature are encouraged to change the mode of an existing 556f9f848faSopenharmony_ci /var/account directory to 0750 or 0700. 557f9f848faSopenharmony_ci 558f9f848faSopenharmony_ci20190620: 559f9f848faSopenharmony_ci Entropy collection and the /dev/random device are no longer optional 560f9f848faSopenharmony_ci components. The "device random" option has been removed. 561f9f848faSopenharmony_ci Implementations of distilling algorithms can still be made loadable 562f9f848faSopenharmony_ci with "options RANDOM_LOADABLE" (e.g., random_fortuna.ko). 563f9f848faSopenharmony_ci 564f9f848faSopenharmony_ci20190612: 565f9f848faSopenharmony_ci Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have 566f9f848faSopenharmony_ci been upgraded to 8.0.1. Please see the 20141231 entry below for 567f9f848faSopenharmony_ci information about prerequisites and upgrading, if you are not already 568f9f848faSopenharmony_ci using clang 3.5.0 or higher. 569f9f848faSopenharmony_ci 570f9f848faSopenharmony_ci20190608: 571f9f848faSopenharmony_ci A fix was applied to i386 kernel modules to avoid panics with 572f9f848faSopenharmony_ci dpcpu or vnet. Users need to recompile i386 kernel modules 573f9f848faSopenharmony_ci having pcpu or vnet sections or they will refuse to load. 574f9f848faSopenharmony_ci 575f9f848faSopenharmony_ci20190513: 576f9f848faSopenharmony_ci User-wired pages now have their own counter, 577f9f848faSopenharmony_ci vm.stats.vm.v_user_wire_count. The vm.max_wired sysctl was renamed 578f9f848faSopenharmony_ci to vm.max_user_wired and changed from an unsigned int to an unsigned 579f9f848faSopenharmony_ci long. bhyve VMs wired with the -S are now subject to the user 580f9f848faSopenharmony_ci wiring limit; the vm.max_user_wired sysctl may need to be tuned to 581f9f848faSopenharmony_ci avoid running into the limit. 582f9f848faSopenharmony_ci 583f9f848faSopenharmony_ci20190507: 584f9f848faSopenharmony_ci The IPSEC option has been removed from GENERIC. Users requiring 585f9f848faSopenharmony_ci ipsec(4) must now load the ipsec(4) kernel module. 586f9f848faSopenharmony_ci 587f9f848faSopenharmony_ci20190507: 588f9f848faSopenharmony_ci The tap(4) driver has been folded into tun(4), and the module has been 589f9f848faSopenharmony_ci renamed to tuntap. You should update any kld_list="if_tap" or 590f9f848faSopenharmony_ci kld_list="if_tun" entries in /etc/rc.conf, if_tap_load="YES" or 591f9f848faSopenharmony_ci if_tun_load="YES" entries in /boot/loader.conf to load the if_tuntap 592f9f848faSopenharmony_ci module instead, and "device tap" or "device tun" entries in kernel 593f9f848faSopenharmony_ci config files to select the tuntap device instead. 594f9f848faSopenharmony_ci 595f9f848faSopenharmony_ci20190418: 596f9f848faSopenharmony_ci The following knobs have been added related to tradeoffs between 597f9f848faSopenharmony_ci safe use of the random device and availability in the absence of 598f9f848faSopenharmony_ci entropy: 599f9f848faSopenharmony_ci 600f9f848faSopenharmony_ci kern.random.initial_seeding.bypass_before_seeding: tunable; set 601f9f848faSopenharmony_ci non-zero to bypass the random device prior to seeding, or zero to 602f9f848faSopenharmony_ci block random requests until the random device is initially seeded. 603f9f848faSopenharmony_ci For now, set to 1 (unsafe) by default to restore pre-r346250 boot 604f9f848faSopenharmony_ci availability properties. 605f9f848faSopenharmony_ci 606f9f848faSopenharmony_ci kern.random.initial_seeding.read_random_bypassed_before_seeding: 607f9f848faSopenharmony_ci read-only diagnostic sysctl that is set when bypass is enabled and 608f9f848faSopenharmony_ci read_random(9) is bypassed, to enable programmatic handling of this 609f9f848faSopenharmony_ci initial condition, if desired. 610f9f848faSopenharmony_ci 611f9f848faSopenharmony_ci kern.random.initial_seeding.arc4random_bypassed_before_seeding: 612f9f848faSopenharmony_ci Similar to the above, but for arc4random(9) initial seeding. 613f9f848faSopenharmony_ci 614f9f848faSopenharmony_ci kern.random.initial_seeding.disable_bypass_warnings: tunable; set 615f9f848faSopenharmony_ci non-zero to disable warnings in dmesg when the same conditions are 616f9f848faSopenharmony_ci met as for the diagnostic sysctls above. Defaults to zero, i.e., 617f9f848faSopenharmony_ci produce warnings in dmesg when the conditions are met. 618f9f848faSopenharmony_ci 619f9f848faSopenharmony_ci20190416: 620f9f848faSopenharmony_ci The loadable random module KPI has changed; the random_infra_init() 621f9f848faSopenharmony_ci routine now requires a 3rd function pointer for a bool (*)(void) 622f9f848faSopenharmony_ci method that returns true if the random device is seeded (and 623f9f848faSopenharmony_ci therefore unblocked). 624f9f848faSopenharmony_ci 625f9f848faSopenharmony_ci20190404: 626f9f848faSopenharmony_ci r345895 reverts r320698. This implies that an nfsuserd(8) daemon 627f9f848faSopenharmony_ci built from head sources between r320757 (July 6, 2017) and 628f9f848faSopenharmony_ci r338192 (Aug. 22, 2018) will not work unless the "-use-udpsock" 629f9f848faSopenharmony_ci is added to the command line. 630f9f848faSopenharmony_ci nfsuserd daemons built from head sources that are post-r338192 are 631f9f848faSopenharmony_ci not affected and should continue to work. 632f9f848faSopenharmony_ci 633f9f848faSopenharmony_ci20190320: 634f9f848faSopenharmony_ci The fuse(4) module has been renamed to fusefs(4) for consistency with 635f9f848faSopenharmony_ci other filesystems. You should update any kld_load="fuse" entries in 636f9f848faSopenharmony_ci /etc/rc.conf, fuse_load="YES" entries in /boot/loader.conf, and 637f9f848faSopenharmony_ci "options FUSE" entries in kernel config files. 638f9f848faSopenharmony_ci 639f9f848faSopenharmony_ci20190304: 640f9f848faSopenharmony_ci Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to 641f9f848faSopenharmony_ci 8.0.0. Please see the 20141231 entry below for information about 642f9f848faSopenharmony_ci prerequisites and upgrading, if you are not already using clang 3.5.0 643f9f848faSopenharmony_ci or higher. 644f9f848faSopenharmony_ci 645f9f848faSopenharmony_ci20190226: 646f9f848faSopenharmony_ci geom_uzip(4) depends on the new module xz. If geom_uzip is statically 647f9f848faSopenharmony_ci compiled into your custom kernel, add 'device xz' statement to the 648f9f848faSopenharmony_ci kernel config. 649f9f848faSopenharmony_ci 650f9f848faSopenharmony_ci20190219: 651f9f848faSopenharmony_ci drm and drm2 have been removed from the tree. Please see 652f9f848faSopenharmony_ci https://wiki.freebsd.org/Graphics for the latest information on 653f9f848faSopenharmony_ci migrating to the drm ports. 654f9f848faSopenharmony_ci 655f9f848faSopenharmony_ci20190131: 656f9f848faSopenharmony_ci Iflib is no longer unconditionally compiled into the kernel. Drivers 657f9f848faSopenharmony_ci using iflib and statically compiled into the kernel, now require 658f9f848faSopenharmony_ci the 'device iflib' config option. For the same drivers loaded as 659f9f848faSopenharmony_ci modules on kernels not having 'device iflib', the iflib.ko module 660f9f848faSopenharmony_ci is loaded automatically. 661f9f848faSopenharmony_ci 662f9f848faSopenharmony_ci20190125: 663f9f848faSopenharmony_ci The IEEE80211_AMPDU_AGE and AH_SUPPORT_AR5416 kernel configuration 664f9f848faSopenharmony_ci options no longer exist since r343219 and r343427 respectively; 665f9f848faSopenharmony_ci nothing uses them, so they should be just removed from custom 666f9f848faSopenharmony_ci kernel config files. 667f9f848faSopenharmony_ci 668f9f848faSopenharmony_ci20181230: 669f9f848faSopenharmony_ci r342635 changes the way efibootmgr(8) works by requiring users to add 670f9f848faSopenharmony_ci the -b (bootnum) parameter for commands where the bootnum was previously 671f9f848faSopenharmony_ci specified with each option. For example 'efibootmgr -B 0001' is now 672f9f848faSopenharmony_ci 'efibootmgr -B -b 0001'. 673f9f848faSopenharmony_ci 674f9f848faSopenharmony_ci20181220: 675f9f848faSopenharmony_ci r342286 modifies the NFSv4 server so that it obeys vfs.nfsd.nfs_privport 676f9f848faSopenharmony_ci in the same as it is applied to NFSv2 and 3. This implies that NFSv4 677f9f848faSopenharmony_ci servers that have vfs.nfsd.nfs_privport set will only allow mounts 678f9f848faSopenharmony_ci from clients using a reserved port#. Since both the FreeBSD and Linux 679f9f848faSopenharmony_ci NFSv4 clients use reserved port#s by default, this should not affect 680f9f848faSopenharmony_ci most NFSv4 mounts. 681f9f848faSopenharmony_ci 682f9f848faSopenharmony_ci20181219: 683f9f848faSopenharmony_ci The XLP config has been removed. We can't support 64-bit atomics in this 684f9f848faSopenharmony_ci kernel because it is running in 32-bit mode. XLP users must transition 685f9f848faSopenharmony_ci to running a 64-bit kernel (XLP64 or XLPN32). 686f9f848faSopenharmony_ci 687f9f848faSopenharmony_ci The mips GXEMUL support has been removed from FreeBSD. MALTA* + qemu is 688f9f848faSopenharmony_ci the preferred emulator today and we don't need two different ones. 689f9f848faSopenharmony_ci 690f9f848faSopenharmony_ci The old sibyte / swarm / Broadcom BCM1250 support has been 691f9f848faSopenharmony_ci removed from the mips port. 692f9f848faSopenharmony_ci 693f9f848faSopenharmony_ci20181211: 694f9f848faSopenharmony_ci Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to 695f9f848faSopenharmony_ci 7.0.1. Please see the 20141231 entry below for information about 696f9f848faSopenharmony_ci prerequisites and upgrading, if you are not already using clang 3.5.0 697f9f848faSopenharmony_ci or higher. 698f9f848faSopenharmony_ci 699f9f848faSopenharmony_ci20181211: 700f9f848faSopenharmony_ci Remove the timed and netdate programs from the base tree. Setting 701f9f848faSopenharmony_ci the time with these daemons has been obsolete for over a decade. 702f9f848faSopenharmony_ci 703f9f848faSopenharmony_ci20181126: 704f9f848faSopenharmony_ci On amd64, arm64 and armv7 (architectures that install LLVM's ld.lld 705f9f848faSopenharmony_ci linker as /usr/bin/ld) GNU ld is no longer installed as ld.bfd, as 706f9f848faSopenharmony_ci it produces broken binaries when ifuncs are in use. Users needing 707f9f848faSopenharmony_ci GNU ld should install the binutils port or package. 708f9f848faSopenharmony_ci 709f9f848faSopenharmony_ci20181123: 710f9f848faSopenharmony_ci The BSD crtbegin and crtend code has been enabled by default. It has 711f9f848faSopenharmony_ci had extensive testing on amd64, arm64, and i386. It can be disabled 712f9f848faSopenharmony_ci by building a world with -DWITHOUT_BSD_CRTBEGIN. 713f9f848faSopenharmony_ci 714f9f848faSopenharmony_ci20181115: 715f9f848faSopenharmony_ci The set of CTM commands (ctm, ctm_smail, ctm_rmail, ctm_dequeue) 716f9f848faSopenharmony_ci has been converted to a port (misc/ctm) and will be removed from 717f9f848faSopenharmony_ci FreeBSD-13. It is available as a package (ctm) for all supported 718f9f848faSopenharmony_ci FreeBSD versions. 719f9f848faSopenharmony_ci 720f9f848faSopenharmony_ci20181110: 721f9f848faSopenharmony_ci The default newsyslog.conf(5) file has been changed to only include 722f9f848faSopenharmony_ci files in /etc/newsyslog.conf.d/ and /usr/local/etc/newsyslog.conf.d/ if 723f9f848faSopenharmony_ci the filenames end in '.conf' and do not begin with a '.'. 724f9f848faSopenharmony_ci 725f9f848faSopenharmony_ci You should check the configuration files in these two directories match 726f9f848faSopenharmony_ci this naming convention. You can verify which configuration files are 727f9f848faSopenharmony_ci being included using the command: 728f9f848faSopenharmony_ci $ newsyslog -Nrv 729f9f848faSopenharmony_ci 730f9f848faSopenharmony_ci20181015: 731f9f848faSopenharmony_ci Ports for the DRM modules have been simplified. Now, amd64 users should 732f9f848faSopenharmony_ci just install the drm-kmod port. All others should install 733f9f848faSopenharmony_ci drm-legacy-kmod. 734f9f848faSopenharmony_ci 735f9f848faSopenharmony_ci Graphics hardware that's newer than about 2010 usually works with 736f9f848faSopenharmony_ci drm-kmod. For hardware older than 2013, however, some users will need 737f9f848faSopenharmony_ci to use drm-legacy-kmod if drm-kmod doesn't work for them. Hardware older 738f9f848faSopenharmony_ci than 2008 usually only works in drm-legacy-kmod. The graphics team can 739f9f848faSopenharmony_ci only commit to hardware made since 2013 due to the complexity of the 740f9f848faSopenharmony_ci market and difficulty to test all the older cards effectively. If you 741f9f848faSopenharmony_ci have hardware supported by drm-kmod, you are strongly encouraged to use 742f9f848faSopenharmony_ci that as you will get better support. 743f9f848faSopenharmony_ci 744f9f848faSopenharmony_ci Other than KPI chasing, drm-legacy-kmod will not be updated. As outlined 745f9f848faSopenharmony_ci elsewhere, the drm and drm2 modules will be eliminated from the src base 746f9f848faSopenharmony_ci soon (with a limited exception for arm). Please update to the package 747f9f848faSopenharmony_ci asap and report any issues to x11@freebsd.org. 748f9f848faSopenharmony_ci 749f9f848faSopenharmony_ci Generally, anybody using the drm*-kmod packages should add 750f9f848faSopenharmony_ci WITHOUT_DRM_MODULE=t and WITHOUT_DRM2_MODULE=t to avoid nasty 751f9f848faSopenharmony_ci cross-threading surprises, especially with automatic driver 752f9f848faSopenharmony_ci loading from X11 startup. These will become the defaults in 13-current 753f9f848faSopenharmony_ci shortly. 754f9f848faSopenharmony_ci 755f9f848faSopenharmony_ci20181012: 756f9f848faSopenharmony_ci The ixlv(4) driver has been renamed to iavf(4). As a consequence, 757f9f848faSopenharmony_ci custom kernel and module loading configuration files must be updated 758f9f848faSopenharmony_ci accordingly. Moreover, interfaces previous presented as ixlvN to the 759f9f848faSopenharmony_ci system are now exposed as iavfN and network configuration files must 760f9f848faSopenharmony_ci be adjusted as necessary. 761f9f848faSopenharmony_ci 762f9f848faSopenharmony_ci20181009: 763f9f848faSopenharmony_ci OpenSSL has been updated to version 1.1.1. This update included 764f9f848faSopenharmony_ci additional various API changes throughout the base system. It is 765f9f848faSopenharmony_ci important to rebuild third-party software after upgrading. The value 766f9f848faSopenharmony_ci of __FreeBSD_version has been bumped accordingly. 767f9f848faSopenharmony_ci 768f9f848faSopenharmony_ci20181006: 769f9f848faSopenharmony_ci The legacy DRM modules and drivers have now been added to the loader's 770f9f848faSopenharmony_ci module blacklist, in favor of loading them with kld_list in rc.conf(5). 771f9f848faSopenharmony_ci The module blacklist may be overridden with the loader.conf(5) 772f9f848faSopenharmony_ci 'module_blacklist' variable, but loading them via rc.conf(5) is strongly 773f9f848faSopenharmony_ci encouraged. 774f9f848faSopenharmony_ci 775f9f848faSopenharmony_ci20181002: 776f9f848faSopenharmony_ci The cam(4) based nda(4) driver will be used over nvd(4) by default on 777f9f848faSopenharmony_ci powerpc64. You may set 'options NVME_USE_NVD=1' in your kernel conf or 778f9f848faSopenharmony_ci loader tunable 'hw.nvme.use_nvd=1' if you wish to use the existing 779f9f848faSopenharmony_ci driver. Make sure to edit /boot/etc/kboot.conf and fstab to use the 780f9f848faSopenharmony_ci nda device name. 781f9f848faSopenharmony_ci 782f9f848faSopenharmony_ci20180913: 783f9f848faSopenharmony_ci Reproducible build mode is now on by default, in preparation for 784f9f848faSopenharmony_ci FreeBSD 12.0. This eliminates build metadata such as the user, 785f9f848faSopenharmony_ci host, and time from the kernel (and uname), unless the working tree 786f9f848faSopenharmony_ci corresponds to a modified checkout from a version control system. 787f9f848faSopenharmony_ci The previous behavior can be obtained by setting the /etc/src.conf 788f9f848faSopenharmony_ci knob WITHOUT_REPRODUCIBLE_BUILD. 789f9f848faSopenharmony_ci 790f9f848faSopenharmony_ci20180826: 791f9f848faSopenharmony_ci The Yarrow CSPRNG has been removed from the kernel as it has not been 792f9f848faSopenharmony_ci supported by its designers since at least 2003. Fortuna has been the 793f9f848faSopenharmony_ci default since FreeBSD-11. 794f9f848faSopenharmony_ci 795f9f848faSopenharmony_ci20180822: 796f9f848faSopenharmony_ci devctl freeze/thaw have gone into the tree, the rc scripts have been 797f9f848faSopenharmony_ci updated to use them and devmatch has been changed. You should update 798f9f848faSopenharmony_ci kernel, userland and rc scripts all at the same time. 799f9f848faSopenharmony_ci 800f9f848faSopenharmony_ci20180818: 801f9f848faSopenharmony_ci The default interpreter has been switched from 4th to Lua. 802f9f848faSopenharmony_ci LOADER_DEFAULT_INTERP, documented in build(7), will override the default 803f9f848faSopenharmony_ci interpreter. If you have custom FORTH code you will need to set 804f9f848faSopenharmony_ci LOADER_DEFAULT_INTERP=4th (valid values are 4th, lua or simp) in 805f9f848faSopenharmony_ci src.conf for the build. This will create default hard links between 806f9f848faSopenharmony_ci loader and loader_4th instead of loader and loader_lua, the new default. 807f9f848faSopenharmony_ci If you are using UEFI it will create the proper hard link to loader.efi. 808f9f848faSopenharmony_ci 809f9f848faSopenharmony_ci bhyve uses userboot.so. It remains 4th-only until some issues are solved 810f9f848faSopenharmony_ci regarding coexisting with multiple versions of FreeBSD are resolved. 811f9f848faSopenharmony_ci 812f9f848faSopenharmony_ci20180815: 813f9f848faSopenharmony_ci ls(1) now respects the COLORTERM environment variable used in other 814f9f848faSopenharmony_ci systems and software to indicate that a colored terminal is both 815f9f848faSopenharmony_ci supported and desired. If ls(1) is suddenly emitting colors, they may 816f9f848faSopenharmony_ci be disabled again by either removing the unwanted COLORTERM from your 817f9f848faSopenharmony_ci environment, or using `ls --color=never`. The ls(1) specific CLICOLOR 818f9f848faSopenharmony_ci may not be observed in a future release. 819f9f848faSopenharmony_ci 820f9f848faSopenharmony_ci20180808: 821f9f848faSopenharmony_ci The default pager for most commands has been changed to "less". To 822f9f848faSopenharmony_ci restore the old behavior, set PAGER="more" and MANPAGER="more -s" in 823f9f848faSopenharmony_ci your environment. 824f9f848faSopenharmony_ci 825f9f848faSopenharmony_ci20180731: 826f9f848faSopenharmony_ci The jedec_ts(4) driver has been removed. A superset of its functionality 827f9f848faSopenharmony_ci is available in the jedec_dimm(4) driver, and the manpage for that 828f9f848faSopenharmony_ci driver includes migration instructions. If you have "device jedec_ts" 829f9f848faSopenharmony_ci in your kernel configuration file, it must be removed. 830f9f848faSopenharmony_ci 831f9f848faSopenharmony_ci20180730: 832f9f848faSopenharmony_ci amd64/GENERIC now has EFI runtime services, EFIRT, enabled by default. 833f9f848faSopenharmony_ci This should have no effect if the kernel is booted via BIOS/legacy boot. 834f9f848faSopenharmony_ci EFIRT may be disabled via a loader tunable, efi.rt.disabled, if a system 835f9f848faSopenharmony_ci has a buggy firmware that prevents a successful boot due to use of 836f9f848faSopenharmony_ci runtime services. 837f9f848faSopenharmony_ci 838f9f848faSopenharmony_ci20180727: 839f9f848faSopenharmony_ci Atmel AT91RM9200 and AT91SAM9, Cavium CNS 11xx and XScale 840f9f848faSopenharmony_ci support has been removed from the tree. These ports were 841f9f848faSopenharmony_ci obsolete and/or known to be broken for many years. 842f9f848faSopenharmony_ci 843f9f848faSopenharmony_ci20180723: 844f9f848faSopenharmony_ci loader.efi has been augmented to participate more fully in the 845f9f848faSopenharmony_ci UEFI boot manager protocol. loader.efi will now look at the 846f9f848faSopenharmony_ci BootXXXX environment variable to determine if a specific kernel 847f9f848faSopenharmony_ci or root partition was specified. XXXX is derived from BootCurrent. 848f9f848faSopenharmony_ci efibootmgr(8) manages these standard UEFI variables. 849f9f848faSopenharmony_ci 850f9f848faSopenharmony_ci20180720: 851f9f848faSopenharmony_ci zfsloader's functionality has now been folded into loader. 852f9f848faSopenharmony_ci zfsloader is no longer necessary once you've updated your 853f9f848faSopenharmony_ci boot blocks. For a transition period, we will install a 854f9f848faSopenharmony_ci hardlink for zfsloader to loader to allow a smooth transition 855f9f848faSopenharmony_ci until the boot blocks can be updated (hard link because old 856f9f848faSopenharmony_ci zfs boot blocks don't understand symlinks). 857f9f848faSopenharmony_ci 858f9f848faSopenharmony_ci20180719: 859f9f848faSopenharmony_ci ARM64 now have efifb support, if you want to have serial console 860f9f848faSopenharmony_ci on your arm64 board when an screen is connected and the bootloader 861f9f848faSopenharmony_ci setup a frame buffer for us to use, just add : 862f9f848faSopenharmony_ci boot_serial=YES 863f9f848faSopenharmony_ci boot_multicons=YES 864f9f848faSopenharmony_ci in /boot/loader.conf 865f9f848faSopenharmony_ci For Raspberry Pi 3 (RPI) users, this is needed even if you don't have 866f9f848faSopenharmony_ci an screen connected as the firmware will setup a frame buffer are that 867f9f848faSopenharmony_ci u-boot will expose as an EFI frame buffer. 868f9f848faSopenharmony_ci 869f9f848faSopenharmony_ci20180719: 870f9f848faSopenharmony_ci New uid:gid added, ntpd:ntpd (123:123). Be sure to run mergemaster 871f9f848faSopenharmony_ci or take steps to update /etc/passwd before doing installworld on 872f9f848faSopenharmony_ci existing systems. Do not skip the "mergemaster -Fp" step before 873f9f848faSopenharmony_ci installworld, as described in the update procedures near the bottom 874f9f848faSopenharmony_ci of this document. Also, rc.d/ntpd now starts ntpd(8) as user ntpd 875f9f848faSopenharmony_ci if the new mac_ntpd(4) policy is available, unless ntpd_flags or 876f9f848faSopenharmony_ci the ntp config file contain options that change file/dir locations. 877f9f848faSopenharmony_ci When such options (e.g., "statsdir" or "crypto") are used, ntpd can 878f9f848faSopenharmony_ci still be run as non-root by setting ntpd_user=ntpd in rc.conf, after 879f9f848faSopenharmony_ci taking steps to ensure that all required files/dirs are accessible 880f9f848faSopenharmony_ci by the ntpd user. 881f9f848faSopenharmony_ci 882f9f848faSopenharmony_ci20180717: 883f9f848faSopenharmony_ci Big endian arm support has been removed. 884f9f848faSopenharmony_ci 885f9f848faSopenharmony_ci20180711: 886f9f848faSopenharmony_ci The static environment setup in kernel configs is no longer mutually 887f9f848faSopenharmony_ci exclusive with the loader(8) environment by default. In order to 888f9f848faSopenharmony_ci restore the previous default behavior of disabling the loader(8) 889f9f848faSopenharmony_ci environment if a static environment is present, you must specify 890f9f848faSopenharmony_ci loader_env.disabled=1 in the static environment. 891f9f848faSopenharmony_ci 892f9f848faSopenharmony_ci20180705: 893f9f848faSopenharmony_ci The ABI of syscalls used by management tools like sockstat and 894f9f848faSopenharmony_ci netstat has been broken to allow 32-bit binaries to work on 895f9f848faSopenharmony_ci 64-bit kernels without modification. These programs will need 896f9f848faSopenharmony_ci to match the kernel in order to function. External programs may 897f9f848faSopenharmony_ci require minor modifications to accommodate a change of type in 898f9f848faSopenharmony_ci structures from pointers to 64-bit virtual addresses. 899f9f848faSopenharmony_ci 900f9f848faSopenharmony_ci20180702: 901f9f848faSopenharmony_ci On i386 and amd64 atomics are now inlined. Out of tree modules using 902f9f848faSopenharmony_ci atomics will need to be rebuilt. 903f9f848faSopenharmony_ci 904f9f848faSopenharmony_ci20180701: 905f9f848faSopenharmony_ci The '%I' format in the kern.corefile sysctl limits the number of 906f9f848faSopenharmony_ci core files that a process can generate to the number stored in the 907f9f848faSopenharmony_ci debug.ncores sysctl. The '%I' format is replaced by the single digit 908f9f848faSopenharmony_ci index. Previously, if all indexes were taken the kernel would overwrite 909f9f848faSopenharmony_ci only a core file with the highest index in a filename. 910f9f848faSopenharmony_ci Currently the system will create a new core file if there is a free 911f9f848faSopenharmony_ci index or if all slots are taken it will overwrite the oldest one. 912f9f848faSopenharmony_ci 913f9f848faSopenharmony_ci20180630: 914f9f848faSopenharmony_ci Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to 915f9f848faSopenharmony_ci 6.0.1. Please see the 20141231 entry below for information about 916f9f848faSopenharmony_ci prerequisites and upgrading, if you are not already using clang 3.5.0 917f9f848faSopenharmony_ci or higher. 918f9f848faSopenharmony_ci 919f9f848faSopenharmony_ci20180628: 920f9f848faSopenharmony_ci r335753 introduced a new quoting method. However, etc/devd/devmatch.conf 921f9f848faSopenharmony_ci needed to be changed to work with it. This change was made with r335763 922f9f848faSopenharmony_ci and requires a mergemaster / etcupdate / etc to update the installed 923f9f848faSopenharmony_ci file. 924f9f848faSopenharmony_ci 925f9f848faSopenharmony_ci20180612: 926f9f848faSopenharmony_ci r334930 changed the interface between the NFS modules, so they all 927f9f848faSopenharmony_ci need to be rebuilt. r335018 did a __FreeBSD_version bump for this. 928f9f848faSopenharmony_ci 929f9f848faSopenharmony_ci20180530: 930f9f848faSopenharmony_ci As of r334391 lld is the default amd64 system linker; it is installed 931f9f848faSopenharmony_ci as /usr/bin/ld. Kernel build workarounds (see 20180510 entry) are no 932f9f848faSopenharmony_ci longer necessary. 933f9f848faSopenharmony_ci 934f9f848faSopenharmony_ci20180530: 935f9f848faSopenharmony_ci The kernel / userland interface for devinfo changed, so you'll 936f9f848faSopenharmony_ci need a new kernel and userland as a pair for it to work (rebuilding 937f9f848faSopenharmony_ci lib/libdevinfo is all that's required). devinfo and devmatch will 938f9f848faSopenharmony_ci not work, but everything else will when there's a mismatch. 939f9f848faSopenharmony_ci 940f9f848faSopenharmony_ci20180523: 941f9f848faSopenharmony_ci The on-disk format for hwpmc callchain records has changed to include 942f9f848faSopenharmony_ci threadid corresponding to a given record. This changes the field offsets 943f9f848faSopenharmony_ci and thus requires that libpmcstat be rebuilt before using a kernel 944f9f848faSopenharmony_ci later than r334108. 945f9f848faSopenharmony_ci 946f9f848faSopenharmony_ci20180517: 947f9f848faSopenharmony_ci The vxge(4) driver has been removed. This driver was introduced into 948f9f848faSopenharmony_ci HEAD one week before the Exar left the Ethernet market and is not 949f9f848faSopenharmony_ci known to be used. If you have device vxge in your kernel config file 950f9f848faSopenharmony_ci it must be removed. 951f9f848faSopenharmony_ci 952f9f848faSopenharmony_ci20180510: 953f9f848faSopenharmony_ci The amd64 kernel now requires a ld that supports ifunc to produce a 954f9f848faSopenharmony_ci working kernel, either lld or a newer binutils. lld is built by default 955f9f848faSopenharmony_ci on amd64, and the 'buildkernel' target uses it automatically. However, 956f9f848faSopenharmony_ci it is not the default linker, so building the kernel the traditional 957f9f848faSopenharmony_ci way requires LD=ld.lld on the command line (or LD=/usr/local/bin/ld for 958f9f848faSopenharmony_ci binutils port/package). lld will soon be default, and this requirement 959f9f848faSopenharmony_ci will go away. 960f9f848faSopenharmony_ci 961f9f848faSopenharmony_ci NOTE: As of r334391 lld is the default system linker on amd64, and no 962f9f848faSopenharmony_ci workaround is necessary. 963f9f848faSopenharmony_ci 964f9f848faSopenharmony_ci20180508: 965f9f848faSopenharmony_ci The nxge(4) driver has been removed. This driver was for PCI-X 10g 966f9f848faSopenharmony_ci cards made by s2io/Neterion. The company was acquired by Exar and 967f9f848faSopenharmony_ci no longer sells or supports Ethernet products. If you have device 968f9f848faSopenharmony_ci nxge in your kernel config file it must be removed. 969f9f848faSopenharmony_ci 970f9f848faSopenharmony_ci20180504: 971f9f848faSopenharmony_ci The tz database (tzdb) has been updated to 2018e. This version more 972f9f848faSopenharmony_ci correctly models time stamps in time zones with negative DST such as 973f9f848faSopenharmony_ci Europe/Dublin (from 1971 on), Europe/Prague (1946/7), and 974f9f848faSopenharmony_ci Africa/Windhoek (1994/2017). This does not affect the UT offsets, only 975f9f848faSopenharmony_ci time zone abbreviations and the tm_isdst flag. 976f9f848faSopenharmony_ci 977f9f848faSopenharmony_ci20180502: 978f9f848faSopenharmony_ci The ixgb(4) driver has been removed. This driver was for an early and 979f9f848faSopenharmony_ci uncommon legacy PCI 10GbE for a single ASIC, Intel 82597EX. Intel 980f9f848faSopenharmony_ci quickly shifted to the long lived ixgbe family. If you have device 981f9f848faSopenharmony_ci ixgb in your kernel config file it must be removed. 982f9f848faSopenharmony_ci 983f9f848faSopenharmony_ci20180501: 984f9f848faSopenharmony_ci The lmc(4) driver has been removed. This was a WAN interface 985f9f848faSopenharmony_ci card that was already reportedly rare in 2003, and had an ambiguous 986f9f848faSopenharmony_ci license. If you have device lmc in your kernel config file it must 987f9f848faSopenharmony_ci be removed. 988f9f848faSopenharmony_ci 989f9f848faSopenharmony_ci20180413: 990f9f848faSopenharmony_ci Support for Arcnet networks has been removed. If you have device 991f9f848faSopenharmony_ci arcnet or device cm in your kernel config file they must be 992f9f848faSopenharmony_ci removed. 993f9f848faSopenharmony_ci 994f9f848faSopenharmony_ci20180411: 995f9f848faSopenharmony_ci Support for FDDI networks has been removed. If you have device 996f9f848faSopenharmony_ci fddi or device fpa in your kernel config file they must be 997f9f848faSopenharmony_ci removed. 998f9f848faSopenharmony_ci 999f9f848faSopenharmony_ci20180406: 1000f9f848faSopenharmony_ci In addition to supporting RFC 3164 formatted messages, the 1001f9f848faSopenharmony_ci syslogd(8) service is now capable of parsing RFC 5424 formatted 1002f9f848faSopenharmony_ci log messages. The main benefit of using RFC 5424 is that clients 1003f9f848faSopenharmony_ci may now send log messages with timestamps containing year numbers, 1004f9f848faSopenharmony_ci microseconds and time zone offsets. 1005f9f848faSopenharmony_ci 1006f9f848faSopenharmony_ci Similarly, the syslog(3) C library function has been altered to 1007f9f848faSopenharmony_ci send RFC 5424 formatted messages to the local system logging 1008f9f848faSopenharmony_ci daemon. On systems using syslogd(8), this change should have no 1009f9f848faSopenharmony_ci negative impact, as long as syslogd(8) and the C library are 1010f9f848faSopenharmony_ci updated at the same time. On systems using a different system 1011f9f848faSopenharmony_ci logging daemon, it may be necessary to make configuration 1012f9f848faSopenharmony_ci adjustments, depending on the software used. 1013f9f848faSopenharmony_ci 1014f9f848faSopenharmony_ci When using syslog-ng, add the 'syslog-protocol' flag to local 1015f9f848faSopenharmony_ci input sources to enable parsing of RFC 5424 formatted messages: 1016f9f848faSopenharmony_ci 1017f9f848faSopenharmony_ci source src { 1018f9f848faSopenharmony_ci unix-dgram("/var/run/log" flags(syslog-protocol)); 1019f9f848faSopenharmony_ci } 1020f9f848faSopenharmony_ci 1021f9f848faSopenharmony_ci When using rsyslog, disable the 'SysSock.UseSpecialParser' option 1022f9f848faSopenharmony_ci of the 'imuxsock' module to let messages be processed by the 1023f9f848faSopenharmony_ci regular RFC 3164/5424 parsing pipeline: 1024f9f848faSopenharmony_ci 1025f9f848faSopenharmony_ci module(load="imuxsock" SysSock.UseSpecialParser="off") 1026f9f848faSopenharmony_ci 1027f9f848faSopenharmony_ci Do note that these changes only affect communication between local 1028f9f848faSopenharmony_ci applications and syslogd(8). The format that syslogd(8) uses to 1029f9f848faSopenharmony_ci store messages on disk or forward messages to other systems 1030f9f848faSopenharmony_ci remains unchanged. syslogd(8) still uses RFC 3164 for these 1031f9f848faSopenharmony_ci purposes. Options to customize this behaviour will be added in the 1032f9f848faSopenharmony_ci future. Utilities that process log files stored in /var/log are 1033f9f848faSopenharmony_ci thus expected to continue to function as before. 1034f9f848faSopenharmony_ci 1035f9f848faSopenharmony_ci __FreeBSD_version has been incremented to 1200061 to denote this 1036f9f848faSopenharmony_ci change. 1037f9f848faSopenharmony_ci 1038f9f848faSopenharmony_ci20180328: 1039f9f848faSopenharmony_ci Support for token ring networks has been removed. If you 1040f9f848faSopenharmony_ci have "device token" in your kernel config you should remove 1041f9f848faSopenharmony_ci it. No device drivers supported token ring. 1042f9f848faSopenharmony_ci 1043f9f848faSopenharmony_ci20180323: 1044f9f848faSopenharmony_ci makefs was modified to be able to tag ISO9660 El Torito boot catalog 1045f9f848faSopenharmony_ci entries as EFI instead of overloading the i386 tag as done previously. 1046f9f848faSopenharmony_ci The amd64 mkisoimages.sh script used to build amd64 ISO images for 1047f9f848faSopenharmony_ci release was updated to use this. This may mean that makefs must be 1048f9f848faSopenharmony_ci updated before "make cdrom" can be run in the release directory. This 1049f9f848faSopenharmony_ci should be as simple as: 1050f9f848faSopenharmony_ci 1051f9f848faSopenharmony_ci $ cd $SRCDIR/usr.sbin/makefs 1052f9f848faSopenharmony_ci $ make depend all install 1053f9f848faSopenharmony_ci 1054f9f848faSopenharmony_ci20180212: 1055f9f848faSopenharmony_ci FreeBSD boot loader enhanced with Lua scripting. It's purely opt-in for 1056f9f848faSopenharmony_ci now by building WITH_LOADER_LUA and WITHOUT_FORTH in /etc/src.conf. 1057f9f848faSopenharmony_ci Co-existence for the transition period will come shortly. Booting is a 1058f9f848faSopenharmony_ci complex environment and test coverage for Lua-enabled loaders has been 1059f9f848faSopenharmony_ci thin, so it would be prudent to assume it might not work and make 1060f9f848faSopenharmony_ci provisions for backup boot methods. 1061f9f848faSopenharmony_ci 1062f9f848faSopenharmony_ci20180211: 1063f9f848faSopenharmony_ci devmatch functionality has been turned on in devd. It will automatically 1064f9f848faSopenharmony_ci load drivers for unattached devices. This may cause unexpected drivers 1065f9f848faSopenharmony_ci to be loaded. Please report any problems to current@ and 1066f9f848faSopenharmony_ci imp@freebsd.org. 1067f9f848faSopenharmony_ci 1068f9f848faSopenharmony_ci20180114: 1069f9f848faSopenharmony_ci Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to 1070f9f848faSopenharmony_ci 6.0.0. Please see the 20141231 entry below for information about 1071f9f848faSopenharmony_ci prerequisites and upgrading, if you are not already using clang 3.5.0 1072f9f848faSopenharmony_ci or higher. 1073f9f848faSopenharmony_ci 1074f9f848faSopenharmony_ci20180110: 1075f9f848faSopenharmony_ci LLVM's lld linker is now used as the FreeBSD/amd64 bootstrap linker. 1076f9f848faSopenharmony_ci This means it is used to link the kernel and userland libraries and 1077f9f848faSopenharmony_ci executables, but is not yet installed as /usr/bin/ld by default. 1078f9f848faSopenharmony_ci 1079f9f848faSopenharmony_ci To revert to ld.bfd as the bootstrap linker, in /etc/src.conf set 1080f9f848faSopenharmony_ci WITHOUT_LLD_BOOTSTRAP=yes 1081f9f848faSopenharmony_ci 1082f9f848faSopenharmony_ci20180110: 1083f9f848faSopenharmony_ci On i386, pmtimer has been removed. Its functionality has been folded 1084f9f848faSopenharmony_ci into apm. It was a no-op on ACPI in current for a while now (but was 1085f9f848faSopenharmony_ci still needed on i386 in FreeBSD 11 and earlier). Users may need to 1086f9f848faSopenharmony_ci remove it from kernel config files. 1087f9f848faSopenharmony_ci 1088f9f848faSopenharmony_ci20180104: 1089f9f848faSopenharmony_ci The use of RSS hash from the network card aka flowid has been 1090f9f848faSopenharmony_ci disabled by default for lagg(4) as it's currently incompatible with 1091f9f848faSopenharmony_ci the lacp and loadbalance protocols. 1092f9f848faSopenharmony_ci 1093f9f848faSopenharmony_ci This can be re-enabled by setting the following in loader.conf: 1094f9f848faSopenharmony_ci net.link.lagg.default_use_flowid="1" 1095f9f848faSopenharmony_ci 1096f9f848faSopenharmony_ci20180102: 1097f9f848faSopenharmony_ci The SW_WATCHDOG option is no longer necessary to enable the 1098f9f848faSopenharmony_ci hardclock-based software watchdog if no hardware watchdog is 1099f9f848faSopenharmony_ci configured. As before, SW_WATCHDOG will cause the software 1100f9f848faSopenharmony_ci watchdog to be enabled even if a hardware watchdog is configured. 1101f9f848faSopenharmony_ci 1102f9f848faSopenharmony_ci20171215: 1103f9f848faSopenharmony_ci r326887 fixes the issue described in the 20171214 UPDATING entry. 1104f9f848faSopenharmony_ci r326888 flips the switch back to building GELI support always. 1105f9f848faSopenharmony_ci 1106f9f848faSopenharmony_ci20171214: 1107f9f848faSopenharmony_ci r362593 broke ZFS + GELI support for reasons unknown. However, 1108f9f848faSopenharmony_ci it also broke ZFS support generally, so GELI has been turned off 1109f9f848faSopenharmony_ci by default as the lesser evil in r326857. If you boot off ZFS and/or 1110f9f848faSopenharmony_ci GELI, it might not be a good time to update. 1111f9f848faSopenharmony_ci 1112f9f848faSopenharmony_ci20171125: 1113f9f848faSopenharmony_ci PowerPC users must update loader(8) by rebuilding world before 1114f9f848faSopenharmony_ci installing a new kernel, as the protocol connecting them has 1115f9f848faSopenharmony_ci changed. Without the update, loader metadata will not be passed 1116f9f848faSopenharmony_ci successfully to the kernel and users will have to enter their 1117f9f848faSopenharmony_ci root partition at the kernel mountroot prompt to continue booting. 1118f9f848faSopenharmony_ci Newer versions of loader can boot old kernels without issue. 1119f9f848faSopenharmony_ci 1120f9f848faSopenharmony_ci20171110: 1121f9f848faSopenharmony_ci The LOADER_FIREWIRE_SUPPORT build variable as been renamed to 1122f9f848faSopenharmony_ci WITH/OUT_LOADER_FIREWIRE. LOADER_{NO_,}GELI_SUPPORT has been renamed 1123f9f848faSopenharmony_ci to WITH/OUT_LOADER_GELI. 1124f9f848faSopenharmony_ci 1125f9f848faSopenharmony_ci20171106: 1126f9f848faSopenharmony_ci The naive and non-compliant support of posix_fallocate(2) in ZFS 1127f9f848faSopenharmony_ci has been removed as of r325320. The system call now returns EINVAL 1128f9f848faSopenharmony_ci when used on a ZFS file. Although the new behavior complies with the 1129f9f848faSopenharmony_ci standard, some consumers are not prepared to cope with it. 1130f9f848faSopenharmony_ci One known victim is lld prior to r325420. 1131f9f848faSopenharmony_ci 1132f9f848faSopenharmony_ci20171102: 1133f9f848faSopenharmony_ci Building in a FreeBSD src checkout will automatically create object 1134f9f848faSopenharmony_ci directories now rather than store files in the current directory if 1135f9f848faSopenharmony_ci 'make obj' was not ran. Calling 'make obj' is no longer necessary. 1136f9f848faSopenharmony_ci This feature can be disabled by setting WITHOUT_AUTO_OBJ=yes in 1137f9f848faSopenharmony_ci /etc/src-env.conf (not /etc/src.conf), or passing the option in the 1138f9f848faSopenharmony_ci environment. 1139f9f848faSopenharmony_ci 1140f9f848faSopenharmony_ci20171101: 1141f9f848faSopenharmony_ci The default MAKEOBJDIR has changed from /usr/obj/<srcdir> for native 1142f9f848faSopenharmony_ci builds, and /usr/obj/<arch>/<srcdir> for cross-builds, to a unified 1143f9f848faSopenharmony_ci /usr/obj/<srcdir>/<arch>. This behavior can be changed to the old 1144f9f848faSopenharmony_ci format by setting WITHOUT_UNIFIED_OBJDIR=yes in /etc/src-env.conf, 1145f9f848faSopenharmony_ci the environment, or with -DWITHOUT_UNIFIED_OBJDIR when building. 1146f9f848faSopenharmony_ci The UNIFIED_OBJDIR option is a transitional feature that will be 1147f9f848faSopenharmony_ci removed for 12.0 release; please migrate to the new format for any 1148f9f848faSopenharmony_ci tools by looking up the OBJDIR used by 'make -V .OBJDIR' means rather 1149f9f848faSopenharmony_ci than hardcoding paths. 1150f9f848faSopenharmony_ci 1151f9f848faSopenharmony_ci20171028: 1152f9f848faSopenharmony_ci The native-xtools target no longer installs the files by default to the 1153f9f848faSopenharmony_ci OBJDIR. Use the native-xtools-install target with a DESTDIR to install 1154f9f848faSopenharmony_ci to ${DESTDIR}/${NXTP} where NXTP defaults to /nxb-bin. 1155f9f848faSopenharmony_ci 1156f9f848faSopenharmony_ci20171021: 1157f9f848faSopenharmony_ci As part of the boot loader infrastructure cleanup, LOADER_*_SUPPORT 1158f9f848faSopenharmony_ci options are changing from controlling the build if defined / undefined 1159f9f848faSopenharmony_ci to controlling the build with explicit 'yes' or 'no' values. They will 1160f9f848faSopenharmony_ci shift to WITH/WITHOUT options to match other options in the system. 1161f9f848faSopenharmony_ci 1162f9f848faSopenharmony_ci20171010: 1163f9f848faSopenharmony_ci libstand has turned into a private library for sys/boot use only. 1164f9f848faSopenharmony_ci It is no longer supported as a public interface outside of sys/boot. 1165f9f848faSopenharmony_ci 1166f9f848faSopenharmony_ci20171005: 1167f9f848faSopenharmony_ci The arm port has split armv6 into armv6 and armv7. armv7 is now 1168f9f848faSopenharmony_ci a valid TARGET_ARCH/MACHINE_ARCH setting. If you have an armv7 system 1169f9f848faSopenharmony_ci and are running a kernel from before r324363, you will need to add 1170f9f848faSopenharmony_ci MACHINE_ARCH=armv7 to 'make buildworld' to do a native build. 1171f9f848faSopenharmony_ci 1172f9f848faSopenharmony_ci20171003: 1173f9f848faSopenharmony_ci When building multiple kernels using KERNCONF, non-existent KERNCONF 1174f9f848faSopenharmony_ci files will produce an error and buildkernel will fail. Previously 1175f9f848faSopenharmony_ci missing KERNCONF files silently failed giving no indication as to 1176f9f848faSopenharmony_ci why, only to subsequently discover during installkernel that the 1177f9f848faSopenharmony_ci desired kernel was never built in the first place. 1178f9f848faSopenharmony_ci 1179f9f848faSopenharmony_ci20170912: 1180f9f848faSopenharmony_ci The default serial number format for CTL LUNs has changed. This will 1181f9f848faSopenharmony_ci affect users who use /dev/diskid/* device nodes, or whose FibreChannel 1182f9f848faSopenharmony_ci or iSCSI clients care about their LUNs' serial numbers. Users who 1183f9f848faSopenharmony_ci require serial number stability should hardcode serial numbers in 1184f9f848faSopenharmony_ci /etc/ctl.conf . 1185f9f848faSopenharmony_ci 1186f9f848faSopenharmony_ci20170912: 1187f9f848faSopenharmony_ci For 32-bit arm compiled for hard-float support, soft-floating point 1188f9f848faSopenharmony_ci binaries now always get their shared libraries from 1189f9f848faSopenharmony_ci LD_SOFT_LIBRARY_PATH (in the past, this was only used if 1190f9f848faSopenharmony_ci /usr/libsoft also existed). Only users with a hard-float ld.so, but 1191f9f848faSopenharmony_ci soft-float everything else should be affected. 1192f9f848faSopenharmony_ci 1193f9f848faSopenharmony_ci20170826: 1194f9f848faSopenharmony_ci The geli password typed at boot is now hidden. To restore the previous 1195f9f848faSopenharmony_ci behavior, see geli(8) for configuration options. 1196f9f848faSopenharmony_ci 1197f9f848faSopenharmony_ci20170825: 1198f9f848faSopenharmony_ci Move PMTUD blackhole counters to TCPSTATS and remove them from bare 1199f9f848faSopenharmony_ci sysctl values. Minor nit, but requires a rebuild of both world/kernel 1200f9f848faSopenharmony_ci to complete. 1201f9f848faSopenharmony_ci 1202f9f848faSopenharmony_ci20170814: 1203f9f848faSopenharmony_ci "make check" behavior (made in ^/head@r295380) has been changed to 1204f9f848faSopenharmony_ci execute from a limited sandbox, as opposed to executing from 1205f9f848faSopenharmony_ci ${TESTSDIR}. 1206f9f848faSopenharmony_ci 1207f9f848faSopenharmony_ci Behavioral changes: 1208f9f848faSopenharmony_ci - The "beforecheck" and "aftercheck" targets are now specified. 1209f9f848faSopenharmony_ci - ${CHECKDIR} (added in commit noted above) has been removed. 1210f9f848faSopenharmony_ci - Legacy behavior can be enabled by setting 1211f9f848faSopenharmony_ci WITHOUT_MAKE_CHECK_USE_SANDBOX in src.conf(5) or the environment. 1212f9f848faSopenharmony_ci 1213f9f848faSopenharmony_ci If the limited sandbox mode is enabled, "make check" will execute 1214f9f848faSopenharmony_ci "make distribution", then install, execute the tests, and clean up the 1215f9f848faSopenharmony_ci sandbox if successful. 1216f9f848faSopenharmony_ci 1217f9f848faSopenharmony_ci The "make distribution" and "make install" targets are typically run as 1218f9f848faSopenharmony_ci root to set appropriate permissions and ownership at installation time. 1219f9f848faSopenharmony_ci The end-user should set "WITH_INSTALL_AS_USER" in src.conf(5) or the 1220f9f848faSopenharmony_ci environment if executing "make check" with limited sandbox mode using 1221f9f848faSopenharmony_ci an unprivileged user. 1222f9f848faSopenharmony_ci 1223f9f848faSopenharmony_ci20170808: 1224f9f848faSopenharmony_ci Since the switch to GPT disk labels, fsck for UFS/FFS has been 1225f9f848faSopenharmony_ci unable to automatically find alternate superblocks. As of r322297, 1226f9f848faSopenharmony_ci the information needed to find alternate superblocks has been 1227f9f848faSopenharmony_ci moved to the end of the area reserved for the boot block. 1228f9f848faSopenharmony_ci Filesystems created with a newfs of this vintage or later 1229f9f848faSopenharmony_ci will create the recovery information. If you have a filesystem 1230f9f848faSopenharmony_ci created prior to this change and wish to have a recovery block 1231f9f848faSopenharmony_ci created for your filesystem, you can do so by running fsck in 1232f9f848faSopenharmony_ci foreground mode (i.e., do not use the -p or -y options). As it 1233f9f848faSopenharmony_ci starts, fsck will ask ``SAVE DATA TO FIND ALTERNATE SUPERBLOCKS'' 1234f9f848faSopenharmony_ci to which you should answer yes. 1235f9f848faSopenharmony_ci 1236f9f848faSopenharmony_ci20170728: 1237f9f848faSopenharmony_ci As of r321665, an NFSv4 server configuration that services 1238f9f848faSopenharmony_ci Kerberos mounts or clients that do not support the uid/gid in 1239f9f848faSopenharmony_ci owner/owner_group string capability, must explicitly enable 1240f9f848faSopenharmony_ci the nfsuserd daemon by adding nfsuserd_enable="YES" to the 1241f9f848faSopenharmony_ci machine's /etc/rc.conf file. 1242f9f848faSopenharmony_ci 1243f9f848faSopenharmony_ci20170722: 1244f9f848faSopenharmony_ci Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 5.0.0. 1245f9f848faSopenharmony_ci Please see the 20141231 entry below for information about prerequisites 1246f9f848faSopenharmony_ci and upgrading, if you are not already using clang 3.5.0 or higher. 1247f9f848faSopenharmony_ci 1248f9f848faSopenharmony_ci20170701: 1249f9f848faSopenharmony_ci WITHOUT_RCMDS is now the default. Set WITH_RCMDS if you need the 1250f9f848faSopenharmony_ci r-commands (rlogin, rsh, etc.) to be built with the base system. 1251f9f848faSopenharmony_ci 1252f9f848faSopenharmony_ci20170625: 1253f9f848faSopenharmony_ci The FreeBSD/powerpc platform now uses a 64-bit type for time_t. This is 1254f9f848faSopenharmony_ci a very major ABI incompatible change, so users of FreeBSD/powerpc must 1255f9f848faSopenharmony_ci be careful when performing source upgrades. It is best to run 1256f9f848faSopenharmony_ci 'make installworld' from an alternate root system, either a live 1257f9f848faSopenharmony_ci CD/memory stick, or a temporary root partition. Additionally, all ports 1258f9f848faSopenharmony_ci must be recompiled. powerpc64 is largely unaffected, except in the case 1259f9f848faSopenharmony_ci of 32-bit compatibility. All 32-bit binaries will be affected. 1260f9f848faSopenharmony_ci 1261f9f848faSopenharmony_ci20170623: 1262f9f848faSopenharmony_ci Forward compatibility for the "ino64" project have been committed. This 1263f9f848faSopenharmony_ci will allow most new binaries to run on older kernels in a limited 1264f9f848faSopenharmony_ci fashion. This prevents many of the common foot-shooting actions in the 1265f9f848faSopenharmony_ci upgrade as well as the limited ability to roll back the kernel across 1266f9f848faSopenharmony_ci the ino64 upgrade. Complicated use cases may not work properly, though 1267f9f848faSopenharmony_ci enough simpler ones work to allow recovery in most situations. 1268f9f848faSopenharmony_ci 1269f9f848faSopenharmony_ci20170620: 1270f9f848faSopenharmony_ci Switch back to the BSDL dtc (Device Tree Compiler). Set WITH_GPL_DTC 1271f9f848faSopenharmony_ci if you require the GPL compiler. 1272f9f848faSopenharmony_ci 1273f9f848faSopenharmony_ci20170618: 1274f9f848faSopenharmony_ci The internal ABI used for communication between the NFS kernel modules 1275f9f848faSopenharmony_ci was changed by r320085, so __FreeBSD_version was bumped to 1276f9f848faSopenharmony_ci ensure all the NFS related modules are updated together. 1277f9f848faSopenharmony_ci 1278f9f848faSopenharmony_ci20170617: 1279f9f848faSopenharmony_ci The ABI of struct event was changed by extending the data 1280f9f848faSopenharmony_ci member to 64bit and adding ext fields. For upgrade, same 1281f9f848faSopenharmony_ci precautions as for the entry 20170523 "ino64" must be 1282f9f848faSopenharmony_ci followed. 1283f9f848faSopenharmony_ci 1284f9f848faSopenharmony_ci20170531: 1285f9f848faSopenharmony_ci The GNU roff toolchain has been removed from base. To render manpages 1286f9f848faSopenharmony_ci which are not supported by mandoc(1), man(1) can fallback on GNU roff 1287f9f848faSopenharmony_ci from ports (and recommends to install it). 1288f9f848faSopenharmony_ci To render roff(7) documents, consider using GNU roff from ports or the 1289f9f848faSopenharmony_ci heirloom doctools roff toolchain from ports via pkg install groff or 1290f9f848faSopenharmony_ci via pkg install heirloom-doctools. 1291f9f848faSopenharmony_ci 1292f9f848faSopenharmony_ci20170524: 1293f9f848faSopenharmony_ci The ath(4) and ath_hal(4) modules now build piecemeal to allow for 1294f9f848faSopenharmony_ci smaller runtime footprint builds. This is useful for embedded systems 1295f9f848faSopenharmony_ci which only require one chipset support. 1296f9f848faSopenharmony_ci 1297f9f848faSopenharmony_ci If you load it as a module, make sure this is in /boot/loader.conf: 1298f9f848faSopenharmony_ci 1299f9f848faSopenharmony_ci if_ath_load="YES" 1300f9f848faSopenharmony_ci 1301f9f848faSopenharmony_ci This will load the HAL, all chip/RF backends and if_ath_pci. 1302f9f848faSopenharmony_ci If you have if_ath_pci in /boot/loader.conf, ensure it is after 1303f9f848faSopenharmony_ci if_ath or it will not load any HAL chipset support. 1304f9f848faSopenharmony_ci 1305f9f848faSopenharmony_ci If you want to selectively load things (eg on ye cheape ARM/MIPS 1306f9f848faSopenharmony_ci platforms where RAM is at a premium) you should: 1307f9f848faSopenharmony_ci 1308f9f848faSopenharmony_ci * load ath_hal 1309f9f848faSopenharmony_ci * load the chip modules in question 1310f9f848faSopenharmony_ci * load ath_rate, ath_dfs 1311f9f848faSopenharmony_ci * load ath_main 1312f9f848faSopenharmony_ci * load if_ath_pci and/or if_ath_ahb depending upon your particular 1313f9f848faSopenharmony_ci bus bind type - this is where probe/attach is done. 1314f9f848faSopenharmony_ci 1315f9f848faSopenharmony_ci For further comments/feedback, poke adrian@ . 1316f9f848faSopenharmony_ci 1317f9f848faSopenharmony_ci20170523: 1318f9f848faSopenharmony_ci The "ino64" 64-bit inode project has been committed, which extends 1319f9f848faSopenharmony_ci a number of types to 64 bits. Upgrading in place requires care and 1320f9f848faSopenharmony_ci adherence to the documented upgrade procedure. 1321f9f848faSopenharmony_ci 1322f9f848faSopenharmony_ci If using a custom kernel configuration ensure that the 1323f9f848faSopenharmony_ci COMPAT_FREEBSD11 option is included (as during the upgrade the 1324f9f848faSopenharmony_ci system will be running the ino64 kernel with the existing world). 1325f9f848faSopenharmony_ci 1326f9f848faSopenharmony_ci For the safest in-place upgrade begin by removing previous build 1327f9f848faSopenharmony_ci artifacts via "rm -rf /usr/obj/*". Then, carefully follow the full 1328f9f848faSopenharmony_ci procedure documented below under the heading "To rebuild everything and 1329f9f848faSopenharmony_ci install it on the current system." Specifically, a reboot is required 1330f9f848faSopenharmony_ci after installing the new kernel before installing world. While an 1331f9f848faSopenharmony_ci installworld normally works by accident from multiuser after rebooting 1332f9f848faSopenharmony_ci the proper kernel, there are many cases where this will fail across this 1333f9f848faSopenharmony_ci upgrade and installworld from single user is required. 1334f9f848faSopenharmony_ci 1335f9f848faSopenharmony_ci20170424: 1336f9f848faSopenharmony_ci The NATM framework including the en(4), fatm(4), hatm(4), and 1337f9f848faSopenharmony_ci patm(4) devices has been removed. Consumers should plan a 1338f9f848faSopenharmony_ci migration before the end-of-life date for FreeBSD 11. 1339f9f848faSopenharmony_ci 1340f9f848faSopenharmony_ci20170420: 1341f9f848faSopenharmony_ci GNU diff has been replaced by a BSD licensed diff. Some features of GNU 1342f9f848faSopenharmony_ci diff has not been implemented, if those are needed a newer version of 1343f9f848faSopenharmony_ci GNU diff is available via the diffutils package under the gdiff name. 1344f9f848faSopenharmony_ci 1345f9f848faSopenharmony_ci20170413: 1346f9f848faSopenharmony_ci As of r316810 for ipfilter, keep frags is no longer assumed when 1347f9f848faSopenharmony_ci keep state is specified in a rule. r316810 aligns ipfilter with 1348f9f848faSopenharmony_ci documentation in man pages separating keep frags from keep state. 1349f9f848faSopenharmony_ci This allows keep state to be specified without forcing keep frags 1350f9f848faSopenharmony_ci and allows keep frags to be specified independently of keep state. 1351f9f848faSopenharmony_ci To maintain previous behaviour, also specify keep frags with 1352f9f848faSopenharmony_ci keep state (as documented in ipf.conf.5). 1353f9f848faSopenharmony_ci 1354f9f848faSopenharmony_ci20170407: 1355f9f848faSopenharmony_ci arm64 builds now use the base system LLD 4.0.0 linker by default, 1356f9f848faSopenharmony_ci instead of requiring that the aarch64-binutils port or package be 1357f9f848faSopenharmony_ci installed. To continue using aarch64-binutils, set 1358f9f848faSopenharmony_ci CROSS_BINUTILS_PREFIX=/usr/local/aarch64-freebsd/bin . 1359f9f848faSopenharmony_ci 1360f9f848faSopenharmony_ci20170405: 1361f9f848faSopenharmony_ci The UDP optimization in entry 20160818 that added the sysctl 1362f9f848faSopenharmony_ci net.inet.udp.require_l2_bcast has been reverted. L2 broadcast 1363f9f848faSopenharmony_ci packets will no longer be treated as L3 broadcast packets. 1364f9f848faSopenharmony_ci 1365f9f848faSopenharmony_ci20170331: 1366f9f848faSopenharmony_ci Binds and sends to the loopback addresses, IPv6 and IPv4, will now 1367f9f848faSopenharmony_ci use any explicitly assigned loopback address available in the jail 1368f9f848faSopenharmony_ci instead of using the first assigned address of the jail. 1369f9f848faSopenharmony_ci 1370f9f848faSopenharmony_ci20170329: 1371f9f848faSopenharmony_ci The ctl.ko module no longer implements the iSCSI target frontend: 1372f9f848faSopenharmony_ci cfiscsi.ko does instead. 1373f9f848faSopenharmony_ci 1374f9f848faSopenharmony_ci If building cfiscsi.ko as a kernel module, the module can be loaded 1375f9f848faSopenharmony_ci via one of the following methods: 1376f9f848faSopenharmony_ci - `cfiscsi_load="YES"` in loader.conf(5). 1377f9f848faSopenharmony_ci - Add `cfiscsi` to `$kld_list` in rc.conf(5). 1378f9f848faSopenharmony_ci - ctladm(8)/ctld(8), when compiled with iSCSI support 1379f9f848faSopenharmony_ci (`WITH_ISCSI=yes` in src.conf(5)) 1380f9f848faSopenharmony_ci 1381f9f848faSopenharmony_ci Please see cfiscsi(4) for more details. 1382f9f848faSopenharmony_ci 1383f9f848faSopenharmony_ci20170316: 1384f9f848faSopenharmony_ci The mmcsd.ko module now additionally depends on geom_flashmap.ko. 1385f9f848faSopenharmony_ci Also, mmc.ko and mmcsd.ko need to be a matching pair built from the 1386f9f848faSopenharmony_ci same source (previously, the dependency of mmcsd.ko on mmc.ko was 1387f9f848faSopenharmony_ci missing, but mmcsd.ko now will refuse to load if it is incompatible 1388f9f848faSopenharmony_ci with mmc.ko). 1389f9f848faSopenharmony_ci 1390f9f848faSopenharmony_ci20170315: 1391f9f848faSopenharmony_ci The syntax of ipfw(8) named states was changed to avoid ambiguity. 1392f9f848faSopenharmony_ci If you have used named states in the firewall rules, you need to modify 1393f9f848faSopenharmony_ci them after installworld and before rebooting. Now named states must 1394f9f848faSopenharmony_ci be prefixed with colon. 1395f9f848faSopenharmony_ci 1396f9f848faSopenharmony_ci20170311: 1397f9f848faSopenharmony_ci The old drm (sys/dev/drm/) drivers for i915 and radeon have been 1398f9f848faSopenharmony_ci removed as the userland we provide cannot use them. The KMS version 1399f9f848faSopenharmony_ci (sys/dev/drm2) supports the same hardware. 1400f9f848faSopenharmony_ci 1401f9f848faSopenharmony_ci20170302: 1402f9f848faSopenharmony_ci Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 4.0.0. 1403f9f848faSopenharmony_ci Please see the 20141231 entry below for information about prerequisites 1404f9f848faSopenharmony_ci and upgrading, if you are not already using clang 3.5.0 or higher. 1405f9f848faSopenharmony_ci 1406f9f848faSopenharmony_ci20170221: 1407f9f848faSopenharmony_ci The code that provides support for ZFS .zfs/ directory functionality 1408f9f848faSopenharmony_ci has been reimplemented. It's not possible now to create a snapshot 1409f9f848faSopenharmony_ci by mkdir under .zfs/snapshot/. That should be the only user visible 1410f9f848faSopenharmony_ci change. 1411f9f848faSopenharmony_ci 1412f9f848faSopenharmony_ci20170216: 1413f9f848faSopenharmony_ci EISA bus support has been removed. The WITH_EISA option is no longer 1414f9f848faSopenharmony_ci valid. 1415f9f848faSopenharmony_ci 1416f9f848faSopenharmony_ci20170215: 1417f9f848faSopenharmony_ci MCA bus support has been removed. 1418f9f848faSopenharmony_ci 1419f9f848faSopenharmony_ci20170127: 1420f9f848faSopenharmony_ci The WITH_LLD_AS_LD / WITHOUT_LLD_AS_LD build knobs have been renamed 1421f9f848faSopenharmony_ci WITH_LLD_IS_LD / WITHOUT_LLD_IS_LD, for consistency with CLANG_IS_CC. 1422f9f848faSopenharmony_ci 1423f9f848faSopenharmony_ci20170112: 1424f9f848faSopenharmony_ci The EM_MULTIQUEUE kernel configuration option is deprecated now that 1425f9f848faSopenharmony_ci the em(4) driver conforms to iflib specifications. 1426f9f848faSopenharmony_ci 1427f9f848faSopenharmony_ci20170109: 1428f9f848faSopenharmony_ci The igb(4), em(4) and lem(4) ethernet drivers are now implemented via 1429f9f848faSopenharmony_ci IFLIB. If you have a custom kernel configuration that excludes em(4) 1430f9f848faSopenharmony_ci but you use igb(4), you need to re-add em(4) to your custom 1431f9f848faSopenharmony_ci configuration. 1432f9f848faSopenharmony_ci 1433f9f848faSopenharmony_ci20161217: 1434f9f848faSopenharmony_ci Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.1. 1435f9f848faSopenharmony_ci Please see the 20141231 entry below for information about prerequisites 1436f9f848faSopenharmony_ci and upgrading, if you are not already using clang 3.5.0 or higher. 1437f9f848faSopenharmony_ci 1438f9f848faSopenharmony_ci20161124: 1439f9f848faSopenharmony_ci Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.0. 1440f9f848faSopenharmony_ci Please see the 20141231 entry below for information about prerequisites 1441f9f848faSopenharmony_ci and upgrading, if you are not already using clang 3.5.0 or higher. 1442f9f848faSopenharmony_ci 1443f9f848faSopenharmony_ci20161119: 1444f9f848faSopenharmony_ci The layout of the pmap structure has changed for powerpc to put the pmap 1445f9f848faSopenharmony_ci statistics at the front for all CPU variations. libkvm(3) and all tools 1446f9f848faSopenharmony_ci that link against it need to be recompiled. 1447f9f848faSopenharmony_ci 1448f9f848faSopenharmony_ci20161030: 1449f9f848faSopenharmony_ci isl(4) and cyapa(4) drivers now require a new driver, 1450f9f848faSopenharmony_ci chromebook_platform(4), to work properly on Chromebook-class hardware. 1451f9f848faSopenharmony_ci On other types of hardware the drivers may need to be configured using 1452f9f848faSopenharmony_ci device hints. Please see the corresponding manual pages for details. 1453f9f848faSopenharmony_ci 1454f9f848faSopenharmony_ci20161017: 1455f9f848faSopenharmony_ci The urtwn(4) driver was merged into rtwn(4) and now consists of 1456f9f848faSopenharmony_ci rtwn(4) main module + rtwn_usb(4) and rtwn_pci(4) bus-specific 1457f9f848faSopenharmony_ci parts. 1458f9f848faSopenharmony_ci Also, firmware for RTL8188CE was renamed due to possible name 1459f9f848faSopenharmony_ci conflict (rtwnrtl8192cU(B) -> rtwnrtl8192cE(B)) 1460f9f848faSopenharmony_ci 1461f9f848faSopenharmony_ci20161015: 1462f9f848faSopenharmony_ci GNU rcs has been removed from base. It is available as packages: 1463f9f848faSopenharmony_ci - rcs: Latest GPLv3 GNU rcs version. 1464f9f848faSopenharmony_ci - rcs57: Copy of the latest version of GNU rcs (GPLv2) before it was 1465f9f848faSopenharmony_ci removed from base. 1466f9f848faSopenharmony_ci 1467f9f848faSopenharmony_ci20161008: 1468f9f848faSopenharmony_ci Use of the cc_cdg, cc_chd, cc_hd, or cc_vegas congestion control 1469f9f848faSopenharmony_ci modules now requires that the kernel configuration contain the 1470f9f848faSopenharmony_ci TCP_HHOOK option. (This option is included in the GENERIC kernel.) 1471f9f848faSopenharmony_ci 1472f9f848faSopenharmony_ci20161003: 1473f9f848faSopenharmony_ci The WITHOUT_ELFCOPY_AS_OBJCOPY src.conf(5) knob has been retired. 1474f9f848faSopenharmony_ci ELF Tool Chain's elfcopy is always installed as /usr/bin/objcopy. 1475f9f848faSopenharmony_ci 1476f9f848faSopenharmony_ci20160924: 1477f9f848faSopenharmony_ci Relocatable object files with the extension of .So have been renamed 1478f9f848faSopenharmony_ci to use an extension of .pico instead. The purpose of this change is 1479f9f848faSopenharmony_ci to avoid a name clash with shared libraries on case-insensitive file 1480f9f848faSopenharmony_ci systems. On those file systems, foo.So is the same file as foo.so. 1481f9f848faSopenharmony_ci 1482f9f848faSopenharmony_ci20160918: 1483f9f848faSopenharmony_ci GNU rcs has been turned off by default. It can (temporarily) be built 1484f9f848faSopenharmony_ci again by adding WITH_RCS knob in src.conf. 1485f9f848faSopenharmony_ci Otherwise, GNU rcs is available from packages: 1486f9f848faSopenharmony_ci - rcs: Latest GPLv3 GNU rcs version. 1487f9f848faSopenharmony_ci - rcs57: Copy of the latest version of GNU rcs (GPLv2) from base. 1488f9f848faSopenharmony_ci 1489f9f848faSopenharmony_ci20160918: 1490f9f848faSopenharmony_ci The backup_uses_rcs functionality has been removed from rc.subr. 1491f9f848faSopenharmony_ci 1492f9f848faSopenharmony_ci20160908: 1493f9f848faSopenharmony_ci The queue(3) debugging macro, QUEUE_MACRO_DEBUG, has been split into 1494f9f848faSopenharmony_ci two separate components, QUEUE_MACRO_DEBUG_TRACE and 1495f9f848faSopenharmony_ci QUEUE_MACRO_DEBUG_TRASH. Define both for the original 1496f9f848faSopenharmony_ci QUEUE_MACRO_DEBUG behavior. 1497f9f848faSopenharmony_ci 1498f9f848faSopenharmony_ci20160824: 1499f9f848faSopenharmony_ci r304787 changed some ioctl interfaces between the iSCSI userspace 1500f9f848faSopenharmony_ci programs and the kernel. ctladm, ctld, iscsictl, and iscsid must be 1501f9f848faSopenharmony_ci rebuilt to work with new kernels. __FreeBSD_version has been bumped 1502f9f848faSopenharmony_ci to 1200005. 1503f9f848faSopenharmony_ci 1504f9f848faSopenharmony_ci20160818: 1505f9f848faSopenharmony_ci The UDP receive code has been updated to only treat incoming UDP 1506f9f848faSopenharmony_ci packets that were addressed to an L2 broadcast address as L3 1507f9f848faSopenharmony_ci broadcast packets. It is not expected that this will affect any 1508f9f848faSopenharmony_ci standards-conforming UDP application. The new behaviour can be 1509f9f848faSopenharmony_ci disabled by setting the sysctl net.inet.udp.require_l2_bcast to 1510f9f848faSopenharmony_ci 0. 1511f9f848faSopenharmony_ci 1512f9f848faSopenharmony_ci20160818: 1513f9f848faSopenharmony_ci Remove the openbsd_poll system call. 1514f9f848faSopenharmony_ci __FreeBSD_version has been bumped because of this. 1515f9f848faSopenharmony_ci 1516f9f848faSopenharmony_ci20160708: 1517f9f848faSopenharmony_ci The stable/11 branch has been created from head@r302406. 1518f9f848faSopenharmony_ci 1519f9f848faSopenharmony_ci20160622: 1520f9f848faSopenharmony_ci The libc stub for the pipe(2) system call has been replaced with 1521f9f848faSopenharmony_ci a wrapper that calls the pipe2(2) system call and the pipe(2) 1522f9f848faSopenharmony_ci system call is now only implemented by the kernels that include 1523f9f848faSopenharmony_ci "options COMPAT_FREEBSD10" in their config file (this is the 1524f9f848faSopenharmony_ci default). Users should ensure that this option is enabled in 1525f9f848faSopenharmony_ci their kernel or upgrade userspace to r302092 before upgrading their 1526f9f848faSopenharmony_ci kernel. 1527f9f848faSopenharmony_ci 1528f9f848faSopenharmony_ci20160527: 1529f9f848faSopenharmony_ci CAM will now strip leading spaces from SCSI disks' serial numbers. 1530f9f848faSopenharmony_ci This will affect users who create UFS filesystems on SCSI disks using 1531f9f848faSopenharmony_ci those disk's diskid device nodes. For example, if /etc/fstab 1532f9f848faSopenharmony_ci previously contained a line like 1533f9f848faSopenharmony_ci "/dev/diskid/DISK-%20%20%20%20%20%20%20ABCDEFG0123456", you should 1534f9f848faSopenharmony_ci change it to "/dev/diskid/DISK-ABCDEFG0123456". Users of geom 1535f9f848faSopenharmony_ci transforms like gmirror may also be affected. ZFS users should 1536f9f848faSopenharmony_ci generally be fine. 1537f9f848faSopenharmony_ci 1538f9f848faSopenharmony_ci20160523: 1539f9f848faSopenharmony_ci The bitstring(3) API has been updated with new functionality and 1540f9f848faSopenharmony_ci improved performance. But it is binary-incompatible with the old API. 1541f9f848faSopenharmony_ci Objects built with the new headers may not be linked against objects 1542f9f848faSopenharmony_ci built with the old headers. 1543f9f848faSopenharmony_ci 1544f9f848faSopenharmony_ci20160520: 1545f9f848faSopenharmony_ci The brk and sbrk functions have been removed from libc on arm64. 1546f9f848faSopenharmony_ci Binutils from ports has been updated to not link to these 1547f9f848faSopenharmony_ci functions and should be updated to the latest version before 1548f9f848faSopenharmony_ci installing a new libc. 1549f9f848faSopenharmony_ci 1550f9f848faSopenharmony_ci20160517: 1551f9f848faSopenharmony_ci The armv6 port now defaults to hard float ABI. Limited support 1552f9f848faSopenharmony_ci for running both hardfloat and soft float on the same system 1553f9f848faSopenharmony_ci is available using the libraries installed with -DWITH_LIBSOFT. 1554f9f848faSopenharmony_ci This has only been tested as an upgrade path for installworld 1555f9f848faSopenharmony_ci and packages may fail or need manual intervention to run. New 1556f9f848faSopenharmony_ci packages will be needed. 1557f9f848faSopenharmony_ci 1558f9f848faSopenharmony_ci To update an existing self-hosted armv6hf system, you must add 1559f9f848faSopenharmony_ci TARGET_ARCH=armv6 on the make command line for both the build 1560f9f848faSopenharmony_ci and the install steps. 1561f9f848faSopenharmony_ci 1562f9f848faSopenharmony_ci20160510: 1563f9f848faSopenharmony_ci Kernel modules compiled outside of a kernel build now default to 1564f9f848faSopenharmony_ci installing to /boot/modules instead of /boot/kernel. Many kernel 1565f9f848faSopenharmony_ci modules built this way (such as those in ports) already overrode 1566f9f848faSopenharmony_ci KMODDIR explicitly to install into /boot/modules. However, 1567f9f848faSopenharmony_ci manually building and installing a module from /sys/modules will 1568f9f848faSopenharmony_ci now install to /boot/modules instead of /boot/kernel. 1569f9f848faSopenharmony_ci 1570f9f848faSopenharmony_ci20160414: 1571f9f848faSopenharmony_ci The CAM I/O scheduler has been committed to the kernel. There should be 1572f9f848faSopenharmony_ci no user visible impact. This does enable NCQ Trim on ada SSDs. While the 1573f9f848faSopenharmony_ci list of known rogues that claim support for this but actually corrupt 1574f9f848faSopenharmony_ci data is believed to be complete, be on the lookout for data 1575f9f848faSopenharmony_ci corruption. The known rogue list is believed to be complete: 1576f9f848faSopenharmony_ci 1577f9f848faSopenharmony_ci o Crucial MX100, M550 drives with MU01 firmware. 1578f9f848faSopenharmony_ci o Micron M510 and M550 drives with MU01 firmware. 1579f9f848faSopenharmony_ci o Micron M500 prior to MU07 firmware 1580f9f848faSopenharmony_ci o Samsung 830, 840, and 850 all firmwares 1581f9f848faSopenharmony_ci o FCCT M500 all firmwares 1582f9f848faSopenharmony_ci 1583f9f848faSopenharmony_ci Crucial has firmware http://www.crucial.com/usa/en/support-ssd-firmware 1584f9f848faSopenharmony_ci with working NCQ TRIM. For Micron branded drives, see your sales rep for 1585f9f848faSopenharmony_ci updated firmware. Black listed drives will work correctly because these 1586f9f848faSopenharmony_ci drives work correctly so long as no NCQ TRIMs are sent to them. Given 1587f9f848faSopenharmony_ci this list is the same as found in Linux, it's believed there are no 1588f9f848faSopenharmony_ci other rogues in the market place. All other models from the above 1589f9f848faSopenharmony_ci vendors work. 1590f9f848faSopenharmony_ci 1591f9f848faSopenharmony_ci To be safe, if you are at all concerned, you can quirk each of your 1592f9f848faSopenharmony_ci drives to prevent NCQ from being sent by setting: 1593f9f848faSopenharmony_ci kern.cam.ada.X.quirks="0x2" 1594f9f848faSopenharmony_ci in loader.conf. If the drive requires the 4k sector quirk, set the 1595f9f848faSopenharmony_ci quirks entry to 0x3. 1596f9f848faSopenharmony_ci 1597f9f848faSopenharmony_ci20160330: 1598f9f848faSopenharmony_ci The FAST_DEPEND build option has been removed and its functionality is 1599f9f848faSopenharmony_ci now the one true way. The old mkdep(1) style of 'make depend' has 1600f9f848faSopenharmony_ci been removed. See 20160311 for further details. 1601f9f848faSopenharmony_ci 1602f9f848faSopenharmony_ci20160317: 1603f9f848faSopenharmony_ci Resource range types have grown from unsigned long to uintmax_t. All 1604f9f848faSopenharmony_ci drivers, and anything using libdevinfo, need to be recompiled. 1605f9f848faSopenharmony_ci 1606f9f848faSopenharmony_ci20160311: 1607f9f848faSopenharmony_ci WITH_FAST_DEPEND is now enabled by default for in-tree and out-of-tree 1608f9f848faSopenharmony_ci builds. It no longer runs mkdep(1) during 'make depend', and the 1609f9f848faSopenharmony_ci 'make depend' stage can safely be skipped now as it is auto ran 1610f9f848faSopenharmony_ci when building 'make all' and will generate all SRCS and DPSRCS before 1611f9f848faSopenharmony_ci building anything else. Dependencies are gathered at compile time with 1612f9f848faSopenharmony_ci -MF flags kept in separate .depend files per object file. Users should 1613f9f848faSopenharmony_ci run 'make cleandepend' once if using -DNO_CLEAN to clean out older 1614f9f848faSopenharmony_ci stale .depend files. 1615f9f848faSopenharmony_ci 1616f9f848faSopenharmony_ci20160306: 1617f9f848faSopenharmony_ci On amd64, clang 3.8.0 can now insert sections of type AMD64_UNWIND into 1618f9f848faSopenharmony_ci kernel modules. Therefore, if you load any kernel modules at boot time, 1619f9f848faSopenharmony_ci please install the boot loaders after you install the kernel, but before 1620f9f848faSopenharmony_ci rebooting, e.g.: 1621f9f848faSopenharmony_ci 1622f9f848faSopenharmony_ci make buildworld 1623f9f848faSopenharmony_ci make buildkernel KERNCONF=YOUR_KERNEL_HERE 1624f9f848faSopenharmony_ci make installkernel KERNCONF=YOUR_KERNEL_HERE 1625f9f848faSopenharmony_ci make -C sys/boot install 1626f9f848faSopenharmony_ci <reboot in single user> 1627f9f848faSopenharmony_ci 1628f9f848faSopenharmony_ci Then follow the usual steps, described in the General Notes section, 1629f9f848faSopenharmony_ci below. 1630f9f848faSopenharmony_ci 1631f9f848faSopenharmony_ci20160305: 1632f9f848faSopenharmony_ci Clang, llvm, lldb and compiler-rt have been upgraded to 3.8.0. Please 1633f9f848faSopenharmony_ci see the 20141231 entry below for information about prerequisites and 1634f9f848faSopenharmony_ci upgrading, if you are not already using clang 3.5.0 or higher. 1635f9f848faSopenharmony_ci 1636f9f848faSopenharmony_ci20160301: 1637f9f848faSopenharmony_ci The AIO subsystem is now a standard part of the kernel. The 1638f9f848faSopenharmony_ci VFS_AIO kernel option and aio.ko kernel module have been removed. 1639f9f848faSopenharmony_ci Due to stability concerns, asynchronous I/O requests are only 1640f9f848faSopenharmony_ci permitted on sockets and raw disks by default. To enable 1641f9f848faSopenharmony_ci asynchronous I/O requests on all file types, set the 1642f9f848faSopenharmony_ci vfs.aio.enable_unsafe sysctl to a non-zero value. 1643f9f848faSopenharmony_ci 1644f9f848faSopenharmony_ci20160226: 1645f9f848faSopenharmony_ci The ELF object manipulation tool objcopy is now provided by the 1646f9f848faSopenharmony_ci ELF Tool Chain project rather than by GNU binutils. It should be a 1647f9f848faSopenharmony_ci drop-in replacement, with the addition of arm64 support. The 1648f9f848faSopenharmony_ci (temporary) src.conf knob WITHOUT_ELFCOPY_AS_OBJCOPY knob may be set 1649f9f848faSopenharmony_ci to obtain the GNU version if necessary. 1650f9f848faSopenharmony_ci 1651f9f848faSopenharmony_ci20160129: 1652f9f848faSopenharmony_ci Building ZFS pools on top of zvols is prohibited by default. That 1653f9f848faSopenharmony_ci feature has never worked safely; it's always been prone to deadlocks. 1654f9f848faSopenharmony_ci Using a zvol as the backing store for a VM guest's virtual disk will 1655f9f848faSopenharmony_ci still work, even if the guest is using ZFS. Legacy behavior can be 1656f9f848faSopenharmony_ci restored by setting vfs.zfs.vol.recursive=1. 1657f9f848faSopenharmony_ci 1658f9f848faSopenharmony_ci20160119: 1659f9f848faSopenharmony_ci The NONE and HPN patches has been removed from OpenSSH. They are 1660f9f848faSopenharmony_ci still available in the security/openssh-portable port. 1661f9f848faSopenharmony_ci 1662f9f848faSopenharmony_ci20160113: 1663f9f848faSopenharmony_ci With the addition of ypldap(8), a new _ypldap user is now required 1664f9f848faSopenharmony_ci during installworld. "mergemaster -p" can be used to add the user 1665f9f848faSopenharmony_ci prior to installworld, as documented in the handbook. 1666f9f848faSopenharmony_ci 1667f9f848faSopenharmony_ci20151216: 1668f9f848faSopenharmony_ci The tftp loader (pxeboot) now uses the option root-path directive. As a 1669f9f848faSopenharmony_ci consequence it no longer looks for a pxeboot.4th file on the tftp 1670f9f848faSopenharmony_ci server. Instead it uses the regular /boot infrastructure as with the 1671f9f848faSopenharmony_ci other loaders. 1672f9f848faSopenharmony_ci 1673f9f848faSopenharmony_ci20151211: 1674f9f848faSopenharmony_ci The code to start recording plug and play data into the modules has 1675f9f848faSopenharmony_ci been committed. While the old tools will properly build a new kernel, 1676f9f848faSopenharmony_ci a number of warnings about "unknown metadata record 4" will be produced 1677f9f848faSopenharmony_ci for an older kldxref. To avoid such warnings, make sure to rebuild 1678f9f848faSopenharmony_ci the kernel toolchain (or world). Make sure that you have r292078 or 1679f9f848faSopenharmony_ci later when trying to build 292077 or later before rebuilding. 1680f9f848faSopenharmony_ci 1681f9f848faSopenharmony_ci20151207: 1682f9f848faSopenharmony_ci Debug data files are now built by default with 'make buildworld' and 1683f9f848faSopenharmony_ci installed with 'make installworld'. This facilitates debugging but 1684f9f848faSopenharmony_ci requires more disk space both during the build and for the installed 1685f9f848faSopenharmony_ci world. Debug files may be disabled by setting WITHOUT_DEBUG_FILES=yes 1686f9f848faSopenharmony_ci in src.conf(5). 1687f9f848faSopenharmony_ci 1688f9f848faSopenharmony_ci20151130: 1689f9f848faSopenharmony_ci r291527 changed the internal interface between the nfsd.ko and 1690f9f848faSopenharmony_ci nfscommon.ko modules. As such, they must both be upgraded to-gether. 1691f9f848faSopenharmony_ci __FreeBSD_version has been bumped because of this. 1692f9f848faSopenharmony_ci 1693f9f848faSopenharmony_ci20151108: 1694f9f848faSopenharmony_ci Add support for unicode collation strings leads to a change of 1695f9f848faSopenharmony_ci order of files listed by ls(1) for example. To get back to the old 1696f9f848faSopenharmony_ci behaviour, set LC_COLLATE environment variable to "C". 1697f9f848faSopenharmony_ci 1698f9f848faSopenharmony_ci Databases administrators will need to reindex their databases given 1699f9f848faSopenharmony_ci collation results will be different. 1700f9f848faSopenharmony_ci 1701f9f848faSopenharmony_ci Due to a bug in install(1) it is recommended to remove the ancient 1702f9f848faSopenharmony_ci locales before running make installworld. 1703f9f848faSopenharmony_ci 1704f9f848faSopenharmony_ci rm -rf /usr/share/locale/* 1705f9f848faSopenharmony_ci 1706f9f848faSopenharmony_ci20151030: 1707f9f848faSopenharmony_ci The OpenSSL has been upgraded to 1.0.2d. Any binaries requiring 1708f9f848faSopenharmony_ci libcrypto.so.7 or libssl.so.7 must be recompiled. 1709f9f848faSopenharmony_ci 1710f9f848faSopenharmony_ci20151020: 1711f9f848faSopenharmony_ci Qlogic 24xx/25xx firmware images were updated from 5.5.0 to 7.3.0. 1712f9f848faSopenharmony_ci Kernel modules isp_2400_multi and isp_2500_multi were removed and 1713f9f848faSopenharmony_ci should be replaced with isp_2400 and isp_2500 modules respectively. 1714f9f848faSopenharmony_ci 1715f9f848faSopenharmony_ci20151017: 1716f9f848faSopenharmony_ci The build previously allowed using 'make -n' to not recurse into 1717f9f848faSopenharmony_ci sub-directories while showing what commands would be executed, and 1718f9f848faSopenharmony_ci 'make -n -n' to recursively show commands. Now 'make -n' will recurse 1719f9f848faSopenharmony_ci and 'make -N' will not. 1720f9f848faSopenharmony_ci 1721f9f848faSopenharmony_ci20151012: 1722f9f848faSopenharmony_ci If you specify SENDMAIL_MC or SENDMAIL_CF in make.conf, mergemaster 1723f9f848faSopenharmony_ci and etcupdate will now use this file. A custom sendmail.cf is now 1724f9f848faSopenharmony_ci updated via this mechanism rather than via installworld. If you had 1725f9f848faSopenharmony_ci excluded sendmail.cf in mergemaster.rc or etcupdate.conf, you may 1726f9f848faSopenharmony_ci want to remove the exclusion or change it to "always install". 1727f9f848faSopenharmony_ci /etc/mail/sendmail.cf is now managed the same way regardless of 1728f9f848faSopenharmony_ci whether SENDMAIL_MC/SENDMAIL_CF is used. If you are not using 1729f9f848faSopenharmony_ci SENDMAIL_MC/SENDMAIL_CF there should be no change in behavior. 1730f9f848faSopenharmony_ci 1731f9f848faSopenharmony_ci20151011: 1732f9f848faSopenharmony_ci Compatibility shims for legacy ATA device names have been removed. 1733f9f848faSopenharmony_ci It includes ATA_STATIC_ID kernel option, kern.cam.ada.legacy_aliases 1734f9f848faSopenharmony_ci and kern.geom.raid.legacy_aliases loader tunables, kern.devalias.* 1735f9f848faSopenharmony_ci environment variables, /dev/ad* and /dev/ar* symbolic links. 1736f9f848faSopenharmony_ci 1737f9f848faSopenharmony_ci20151006: 1738f9f848faSopenharmony_ci Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.7.0. 1739f9f848faSopenharmony_ci Please see the 20141231 entry below for information about prerequisites 1740f9f848faSopenharmony_ci and upgrading, if you are not already using clang 3.5.0 or higher. 1741f9f848faSopenharmony_ci 1742f9f848faSopenharmony_ci20150924: 1743f9f848faSopenharmony_ci Kernel debug files have been moved to /usr/lib/debug/boot/kernel/, 1744f9f848faSopenharmony_ci and renamed from .symbols to .debug. This reduces the size requirements 1745f9f848faSopenharmony_ci on the boot partition or file system and provides consistency with 1746f9f848faSopenharmony_ci userland debug files. 1747f9f848faSopenharmony_ci 1748f9f848faSopenharmony_ci When using the supported kernel installation method the 1749f9f848faSopenharmony_ci /usr/lib/debug/boot/kernel directory will be renamed (to kernel.old) 1750f9f848faSopenharmony_ci as is done with /boot/kernel. 1751f9f848faSopenharmony_ci 1752f9f848faSopenharmony_ci Developers wishing to maintain the historical behavior of installing 1753f9f848faSopenharmony_ci debug files in /boot/kernel/ can set KERN_DEBUGDIR="" in src.conf(5). 1754f9f848faSopenharmony_ci 1755f9f848faSopenharmony_ci20150827: 1756f9f848faSopenharmony_ci The wireless drivers had undergone changes that remove the 'parent 1757f9f848faSopenharmony_ci interface' from the ifconfig -l output. The rc.d network scripts 1758f9f848faSopenharmony_ci used to check presence of a parent interface in the list, so old 1759f9f848faSopenharmony_ci scripts would fail to start wireless networking. Thus, etcupdate(3) 1760f9f848faSopenharmony_ci or mergemaster(8) run is required after kernel update, to update your 1761f9f848faSopenharmony_ci rc.d scripts in /etc. 1762f9f848faSopenharmony_ci 1763f9f848faSopenharmony_ci20150827: 1764f9f848faSopenharmony_ci pf no longer supports 'scrub fragment crop' or 'scrub fragment drop-ovl' 1765f9f848faSopenharmony_ci These configurations are now automatically interpreted as 1766f9f848faSopenharmony_ci 'scrub fragment reassemble'. 1767f9f848faSopenharmony_ci 1768f9f848faSopenharmony_ci20150817: 1769f9f848faSopenharmony_ci Kernel-loadable modules for the random(4) device are back. To use 1770f9f848faSopenharmony_ci them, the kernel must have 1771f9f848faSopenharmony_ci 1772f9f848faSopenharmony_ci device random 1773f9f848faSopenharmony_ci options RANDOM_LOADABLE 1774f9f848faSopenharmony_ci 1775f9f848faSopenharmony_ci kldload(8) can then be used to load random_fortuna.ko 1776f9f848faSopenharmony_ci or random_yarrow.ko. Please note that due to the indirect 1777f9f848faSopenharmony_ci function calls that the loadable modules need to provide, 1778f9f848faSopenharmony_ci the build-in variants will be slightly more efficient. 1779f9f848faSopenharmony_ci 1780f9f848faSopenharmony_ci The random(4) kernel option RANDOM_DUMMY has been retired due to 1781f9f848faSopenharmony_ci unpopularity. It was not all that useful anyway. 1782f9f848faSopenharmony_ci 1783f9f848faSopenharmony_ci20150813: 1784f9f848faSopenharmony_ci The WITHOUT_ELFTOOLCHAIN_TOOLS src.conf(5) knob has been retired. 1785f9f848faSopenharmony_ci Control over building the ELF Tool Chain tools is now provided by 1786f9f848faSopenharmony_ci the WITHOUT_TOOLCHAIN knob. 1787f9f848faSopenharmony_ci 1788f9f848faSopenharmony_ci20150810: 1789f9f848faSopenharmony_ci The polarity of Pulse Per Second (PPS) capture events with the 1790f9f848faSopenharmony_ci uart(4) driver has been corrected. Prior to this change the PPS 1791f9f848faSopenharmony_ci "assert" event corresponded to the trailing edge of a positive PPS 1792f9f848faSopenharmony_ci pulse and the "clear" event was the leading edge of the next pulse. 1793f9f848faSopenharmony_ci 1794f9f848faSopenharmony_ci As the width of a PPS pulse in a typical GPS receiver is on the 1795f9f848faSopenharmony_ci order of 1 millisecond, most users will not notice any significant 1796f9f848faSopenharmony_ci difference with this change. 1797f9f848faSopenharmony_ci 1798f9f848faSopenharmony_ci Anyone who has compensated for the historical polarity reversal by 1799f9f848faSopenharmony_ci configuring a negative offset equal to the pulse width will need to 1800f9f848faSopenharmony_ci remove that workaround. 1801f9f848faSopenharmony_ci 1802f9f848faSopenharmony_ci20150809: 1803f9f848faSopenharmony_ci The default group assigned to /dev/dri entries has been changed 1804f9f848faSopenharmony_ci from 'wheel' to 'video' with the id of '44'. If you want to have 1805f9f848faSopenharmony_ci access to the dri devices please add yourself to the video group 1806f9f848faSopenharmony_ci with: 1807f9f848faSopenharmony_ci 1808f9f848faSopenharmony_ci # pw groupmod video -m $USER 1809f9f848faSopenharmony_ci 1810f9f848faSopenharmony_ci20150806: 1811f9f848faSopenharmony_ci The menu.rc and loader.rc files will now be replaced during 1812f9f848faSopenharmony_ci upgrades. Please migrate local changes to menu.rc.local and 1813f9f848faSopenharmony_ci loader.rc.local instead. 1814f9f848faSopenharmony_ci 1815f9f848faSopenharmony_ci20150805: 1816f9f848faSopenharmony_ci GNU Binutils versions of addr2line, c++filt, nm, readelf, size, 1817f9f848faSopenharmony_ci strings and strip have been removed. The src.conf(5) knob 1818f9f848faSopenharmony_ci WITHOUT_ELFTOOLCHAIN_TOOLS no longer provides the binutils tools. 1819f9f848faSopenharmony_ci 1820f9f848faSopenharmony_ci20150728: 1821f9f848faSopenharmony_ci As ZFS requires more kernel stack pages than is the default on some 1822f9f848faSopenharmony_ci architectures e.g. i386, it now warns if KSTACK_PAGES is less than 1823f9f848faSopenharmony_ci ZFS_MIN_KSTACK_PAGES (which is 4 at the time of writing). 1824f9f848faSopenharmony_ci 1825f9f848faSopenharmony_ci Please consider using 'options KSTACK_PAGES=X' where X is greater 1826f9f848faSopenharmony_ci than or equal to ZFS_MIN_KSTACK_PAGES i.e. 4 in such configurations. 1827f9f848faSopenharmony_ci 1828f9f848faSopenharmony_ci20150706: 1829f9f848faSopenharmony_ci sendmail has been updated to 8.15.2. Starting with FreeBSD 11.0 1830f9f848faSopenharmony_ci and sendmail 8.15, sendmail uses uncompressed IPv6 addresses by 1831f9f848faSopenharmony_ci default, i.e., they will not contain "::". For example, instead 1832f9f848faSopenharmony_ci of ::1, it will be 0:0:0:0:0:0:0:1. This permits a zero subnet 1833f9f848faSopenharmony_ci to have a more specific match, such as different map entries for 1834f9f848faSopenharmony_ci IPv6:0:0 vs IPv6:0. This change requires that configuration 1835f9f848faSopenharmony_ci data (including maps, files, classes, custom ruleset, etc.) must 1836f9f848faSopenharmony_ci use the same format, so make certain such configuration data is 1837f9f848faSopenharmony_ci upgrading. As a very simple check search for patterns like 1838f9f848faSopenharmony_ci 'IPv6:[0-9a-fA-F:]*::' and 'IPv6::'. To return to the old 1839f9f848faSopenharmony_ci behavior, set the m4 option confUSE_COMPRESSED_IPV6_ADDRESSES or 1840f9f848faSopenharmony_ci the cf option UseCompressedIPv6Addresses. 1841f9f848faSopenharmony_ci 1842f9f848faSopenharmony_ci20150630: 1843f9f848faSopenharmony_ci The default kernel entropy-processing algorithm is now 1844f9f848faSopenharmony_ci Fortuna, replacing Yarrow. 1845f9f848faSopenharmony_ci 1846f9f848faSopenharmony_ci Assuming you have 'device random' in your kernel config 1847f9f848faSopenharmony_ci file, the configurations allow a kernel option to override 1848f9f848faSopenharmony_ci this default. You may choose *ONE* of: 1849f9f848faSopenharmony_ci 1850f9f848faSopenharmony_ci options RANDOM_YARROW # Legacy /dev/random algorithm. 1851f9f848faSopenharmony_ci options RANDOM_DUMMY # Blocking-only driver. 1852f9f848faSopenharmony_ci 1853f9f848faSopenharmony_ci If you have neither, you get Fortuna. For most people, 1854f9f848faSopenharmony_ci read no further, Fortuna will give a /dev/random that works 1855f9f848faSopenharmony_ci like it always used to, and the difference will be irrelevant. 1856f9f848faSopenharmony_ci 1857f9f848faSopenharmony_ci If you remove 'device random', you get *NO* kernel-processed 1858f9f848faSopenharmony_ci entropy at all. This may be acceptable to folks building 1859f9f848faSopenharmony_ci embedded systems, but has complications. Carry on reading, 1860f9f848faSopenharmony_ci and it is assumed you know what you need. 1861f9f848faSopenharmony_ci 1862f9f848faSopenharmony_ci *PLEASE* read random(4) and random(9) if you are in the 1863f9f848faSopenharmony_ci habit of tweaking kernel configs, and/or if you are a member 1864f9f848faSopenharmony_ci of the embedded community, wanting specific and not-usual 1865f9f848faSopenharmony_ci behaviour from your security subsystems. 1866f9f848faSopenharmony_ci 1867f9f848faSopenharmony_ci NOTE!! If you use RANDOM_DUMMY and/or have no 'device 1868f9f848faSopenharmony_ci random', you will NOT have a functioning /dev/random, and 1869f9f848faSopenharmony_ci many cryptographic features will not work, including SSH. 1870f9f848faSopenharmony_ci You may also find strange behaviour from the random(3) set 1871f9f848faSopenharmony_ci of library functions, in particular sranddev(3), srandomdev(3) 1872f9f848faSopenharmony_ci and arc4random(3). The reason for this is that the KERN_ARND 1873f9f848faSopenharmony_ci sysctl only returns entropy if it thinks it has some to 1874f9f848faSopenharmony_ci share, and with RANDOM_DUMMY or no 'device random' this 1875f9f848faSopenharmony_ci will never happen. 1876f9f848faSopenharmony_ci 1877f9f848faSopenharmony_ci20150623: 1878f9f848faSopenharmony_ci An additional fix for the issue described in the 20150614 sendmail 1879f9f848faSopenharmony_ci entry below has been committed in revision 284717. 1880f9f848faSopenharmony_ci 1881f9f848faSopenharmony_ci20150616: 1882f9f848faSopenharmony_ci FreeBSD's old make (fmake) has been removed from the system. It is 1883f9f848faSopenharmony_ci available as the devel/fmake port or via pkg install fmake. 1884f9f848faSopenharmony_ci 1885f9f848faSopenharmony_ci20150615: 1886f9f848faSopenharmony_ci The fix for the issue described in the 20150614 sendmail entry 1887f9f848faSopenharmony_ci below has been committed in revision 284436. The work 1888f9f848faSopenharmony_ci around described in that entry is no longer needed unless the 1889f9f848faSopenharmony_ci default setting is overridden by a confDH_PARAMETERS configuration 1890f9f848faSopenharmony_ci setting of '5' or pointing to a 512 bit DH parameter file. 1891f9f848faSopenharmony_ci 1892f9f848faSopenharmony_ci20150614: 1893f9f848faSopenharmony_ci ALLOW_DEPRECATED_ATF_TOOLS/ATFFILE support has been removed from 1894f9f848faSopenharmony_ci atf.test.mk (included from bsd.test.mk). Please upgrade devel/atf 1895f9f848faSopenharmony_ci and devel/kyua to version 0.20+ and adjust any calling code to work 1896f9f848faSopenharmony_ci with Kyuafile and kyua. 1897f9f848faSopenharmony_ci 1898f9f848faSopenharmony_ci20150614: 1899f9f848faSopenharmony_ci The import of openssl to address the FreeBSD-SA-15:10.openssl 1900f9f848faSopenharmony_ci security advisory includes a change which rejects handshakes 1901f9f848faSopenharmony_ci with DH parameters below 768 bits. sendmail releases prior 1902f9f848faSopenharmony_ci to 8.15.2 (not yet released), defaulted to a 512 bit 1903f9f848faSopenharmony_ci DH parameter setting for client connections. To work around 1904f9f848faSopenharmony_ci this interoperability, sendmail can be configured to use a 1905f9f848faSopenharmony_ci 2048 bit DH parameter by: 1906f9f848faSopenharmony_ci 1907f9f848faSopenharmony_ci 1. Edit /etc/mail/`hostname`.mc 1908f9f848faSopenharmony_ci 2. If a setting for confDH_PARAMETERS does not exist or 1909f9f848faSopenharmony_ci exists and is set to a string beginning with '5', 1910f9f848faSopenharmony_ci replace it with '2'. 1911f9f848faSopenharmony_ci 3. If a setting for confDH_PARAMETERS exists and is set to 1912f9f848faSopenharmony_ci a file path, create a new file with: 1913f9f848faSopenharmony_ci openssl dhparam -out /path/to/file 2048 1914f9f848faSopenharmony_ci 4. Rebuild the .cf file: 1915f9f848faSopenharmony_ci cd /etc/mail/; make; make install 1916f9f848faSopenharmony_ci 5. Restart sendmail: 1917f9f848faSopenharmony_ci cd /etc/mail/; make restart 1918f9f848faSopenharmony_ci 1919f9f848faSopenharmony_ci A sendmail patch is coming, at which time this file will be 1920f9f848faSopenharmony_ci updated. 1921f9f848faSopenharmony_ci 1922f9f848faSopenharmony_ci20150604: 1923f9f848faSopenharmony_ci Generation of legacy formatted entries have been disabled by default 1924f9f848faSopenharmony_ci in pwd_mkdb(8), as all base system consumers of the legacy formatted 1925f9f848faSopenharmony_ci entries were converted to use the new format by default when the new, 1926f9f848faSopenharmony_ci machine independent format have been added and supported since FreeBSD 1927f9f848faSopenharmony_ci 5.x. 1928f9f848faSopenharmony_ci 1929f9f848faSopenharmony_ci Please see the pwd_mkdb(8) manual page for further details. 1930f9f848faSopenharmony_ci 1931f9f848faSopenharmony_ci20150525: 1932f9f848faSopenharmony_ci Clang and llvm have been upgraded to 3.6.1 release. Please see the 1933f9f848faSopenharmony_ci 20141231 entry below for information about prerequisites and upgrading, 1934f9f848faSopenharmony_ci if you are not already using 3.5.0 or higher. 1935f9f848faSopenharmony_ci 1936f9f848faSopenharmony_ci20150521: 1937f9f848faSopenharmony_ci TI platform code switched to using vendor DTS files and this update 1938f9f848faSopenharmony_ci may break existing systems running on Beaglebone, Beaglebone Black, 1939f9f848faSopenharmony_ci and Pandaboard: 1940f9f848faSopenharmony_ci 1941f9f848faSopenharmony_ci - dtb files should be regenerated/reinstalled. Filenames are the 1942f9f848faSopenharmony_ci same but content is different now 1943f9f848faSopenharmony_ci - GPIO addressing was changed, now each GPIO bank (32 pins per bank) 1944f9f848faSopenharmony_ci has its own /dev/gpiocX device, e.g. pin 121 on /dev/gpioc0 in old 1945f9f848faSopenharmony_ci addressing scheme is now pin 25 on /dev/gpioc3. 1946f9f848faSopenharmony_ci - Pandaboard: /etc/ttys should be updated, serial console device is 1947f9f848faSopenharmony_ci now /dev/ttyu2, not /dev/ttyu0 1948f9f848faSopenharmony_ci 1949f9f848faSopenharmony_ci20150501: 1950f9f848faSopenharmony_ci soelim(1) from gnu/usr.bin/groff has been replaced by usr.bin/soelim. 1951f9f848faSopenharmony_ci If you need the GNU extension from groff soelim(1), install groff 1952f9f848faSopenharmony_ci from package: pkg install groff, or via ports: textproc/groff. 1953f9f848faSopenharmony_ci 1954f9f848faSopenharmony_ci20150423: 1955f9f848faSopenharmony_ci chmod, chflags, chown and chgrp now affect symlinks in -R mode as 1956f9f848faSopenharmony_ci defined in symlink(7); previously symlinks were silently ignored. 1957f9f848faSopenharmony_ci 1958f9f848faSopenharmony_ci20150415: 1959f9f848faSopenharmony_ci The const qualifier has been removed from iconv(3) to comply with 1960f9f848faSopenharmony_ci POSIX. The ports tree is aware of this from r384038 onwards. 1961f9f848faSopenharmony_ci 1962f9f848faSopenharmony_ci20150416: 1963f9f848faSopenharmony_ci Libraries specified by LIBADD in Makefiles must have a corresponding 1964f9f848faSopenharmony_ci DPADD_<lib> variable to ensure correct dependencies. This is now 1965f9f848faSopenharmony_ci enforced in src.libnames.mk. 1966f9f848faSopenharmony_ci 1967f9f848faSopenharmony_ci20150324: 1968f9f848faSopenharmony_ci From legacy ata(4) driver was removed support for SATA controllers 1969f9f848faSopenharmony_ci supported by more functional drivers ahci(4), siis(4) and mvs(4). 1970f9f848faSopenharmony_ci Kernel modules ataahci and ataadaptec were removed completely, 1971f9f848faSopenharmony_ci replaced by ahci and mvs modules respectively. 1972f9f848faSopenharmony_ci 1973f9f848faSopenharmony_ci20150315: 1974f9f848faSopenharmony_ci Clang, llvm and lldb have been upgraded to 3.6.0 release. Please see 1975f9f848faSopenharmony_ci the 20141231 entry below for information about prerequisites and 1976f9f848faSopenharmony_ci upgrading, if you are not already using 3.5.0 or higher. 1977f9f848faSopenharmony_ci 1978f9f848faSopenharmony_ci20150307: 1979f9f848faSopenharmony_ci The 32-bit PowerPC kernel has been changed to a position-independent 1980f9f848faSopenharmony_ci executable. This can only be booted with a version of loader(8) 1981f9f848faSopenharmony_ci newer than January 31, 2015, so make sure to update both world and 1982f9f848faSopenharmony_ci kernel before rebooting. 1983f9f848faSopenharmony_ci 1984f9f848faSopenharmony_ci20150217: 1985f9f848faSopenharmony_ci If you are running a -CURRENT kernel since r273872 (Oct 30th, 2014), 1986f9f848faSopenharmony_ci but before r278950, the RNG was not seeded properly. Immediately 1987f9f848faSopenharmony_ci upgrade the kernel to r278950 or later and regenerate any keys (e.g. 1988f9f848faSopenharmony_ci ssh keys or openssl keys) that were generated w/ a kernel from that 1989f9f848faSopenharmony_ci range. This does not affect programs that directly used /dev/random 1990f9f848faSopenharmony_ci or /dev/urandom. All userland uses of arc4random(3) are affected. 1991f9f848faSopenharmony_ci 1992f9f848faSopenharmony_ci20150210: 1993f9f848faSopenharmony_ci The autofs(4) ABI was changed in order to restore binary compatibility 1994f9f848faSopenharmony_ci with 10.1-RELEASE. The automountd(8) daemon needs to be rebuilt to work 1995f9f848faSopenharmony_ci with the new kernel. 1996f9f848faSopenharmony_ci 1997f9f848faSopenharmony_ci20150131: 1998f9f848faSopenharmony_ci The powerpc64 kernel has been changed to a position-independent 1999f9f848faSopenharmony_ci executable. This can only be booted with a new version of loader(8), 2000f9f848faSopenharmony_ci so make sure to update both world and kernel before rebooting. 2001f9f848faSopenharmony_ci 2002f9f848faSopenharmony_ci20150118: 2003f9f848faSopenharmony_ci Clang and llvm have been upgraded to 3.5.1 release. This is a bugfix 2004f9f848faSopenharmony_ci only release, no new features have been added. Please see the 20141231 2005f9f848faSopenharmony_ci entry below for information about prerequisites and upgrading, if you 2006f9f848faSopenharmony_ci are not already using 3.5.0. 2007f9f848faSopenharmony_ci 2008f9f848faSopenharmony_ci20150107: 2009f9f848faSopenharmony_ci ELF tools addr2line, elfcopy (strip), nm, size, and strings are now 2010f9f848faSopenharmony_ci taken from the ELF Tool Chain project rather than GNU binutils. They 2011f9f848faSopenharmony_ci should be drop-in replacements, with the addition of arm64 support. 2012f9f848faSopenharmony_ci The WITHOUT_ELFTOOLCHAIN_TOOLS= knob may be used to obtain the 2013f9f848faSopenharmony_ci binutils tools, if necessary. See 20150805 for updated information. 2014f9f848faSopenharmony_ci 2015f9f848faSopenharmony_ci20150105: 2016f9f848faSopenharmony_ci The default Unbound configuration now enables remote control 2017f9f848faSopenharmony_ci using a local socket. Users who have already enabled the 2018f9f848faSopenharmony_ci local_unbound service should regenerate their configuration 2019f9f848faSopenharmony_ci by running "service local_unbound setup" as root. 2020f9f848faSopenharmony_ci 2021f9f848faSopenharmony_ci20150102: 2022f9f848faSopenharmony_ci The GNU texinfo and GNU info pages have been removed. 2023f9f848faSopenharmony_ci To be able to view GNU info pages please install texinfo from ports. 2024f9f848faSopenharmony_ci 2025f9f848faSopenharmony_ci20141231: 2026f9f848faSopenharmony_ci Clang, llvm and lldb have been upgraded to 3.5.0 release. 2027f9f848faSopenharmony_ci 2028f9f848faSopenharmony_ci As of this release, a prerequisite for building clang, llvm and lldb is 2029f9f848faSopenharmony_ci a C++11 capable compiler and C++11 standard library. This means that to 2030f9f848faSopenharmony_ci be able to successfully build the cross-tools stage of buildworld, with 2031f9f848faSopenharmony_ci clang as the bootstrap compiler, your system compiler or cross compiler 2032f9f848faSopenharmony_ci should either be clang 3.3 or later, or gcc 4.8 or later, and your 2033f9f848faSopenharmony_ci system C++ library should be libc++, or libdstdc++ from gcc 4.8 or 2034f9f848faSopenharmony_ci later. 2035f9f848faSopenharmony_ci 2036f9f848faSopenharmony_ci On any standard FreeBSD 10.x or 11.x installation, where clang and 2037f9f848faSopenharmony_ci libc++ are on by default (that is, on x86 or arm), this should work out 2038f9f848faSopenharmony_ci of the box. 2039f9f848faSopenharmony_ci 2040f9f848faSopenharmony_ci On 9.x installations where clang is enabled by default, e.g. on x86 and 2041f9f848faSopenharmony_ci powerpc, libc++ will not be enabled by default, so libc++ should be 2042f9f848faSopenharmony_ci built (with clang) and installed first. If both clang and libc++ are 2043f9f848faSopenharmony_ci missing, build clang first, then use it to build libc++. 2044f9f848faSopenharmony_ci 2045f9f848faSopenharmony_ci On 8.x and earlier installations, upgrade to 9.x first, and then follow 2046f9f848faSopenharmony_ci the instructions for 9.x above. 2047f9f848faSopenharmony_ci 2048f9f848faSopenharmony_ci Sparc64 and mips users are unaffected, as they still use gcc 4.2.1 by 2049f9f848faSopenharmony_ci default, and do not build clang. 2050f9f848faSopenharmony_ci 2051f9f848faSopenharmony_ci Many embedded systems are resource constrained, and will not be able to 2052f9f848faSopenharmony_ci build clang in a reasonable time, or in some cases at all. In those 2053f9f848faSopenharmony_ci cases, cross building bootable systems on amd64 is a workaround. 2054f9f848faSopenharmony_ci 2055f9f848faSopenharmony_ci This new version of clang introduces a number of new warnings, of which 2056f9f848faSopenharmony_ci the following are most likely to appear: 2057f9f848faSopenharmony_ci 2058f9f848faSopenharmony_ci -Wabsolute-value 2059f9f848faSopenharmony_ci 2060f9f848faSopenharmony_ci This warns in two cases, for both C and C++: 2061f9f848faSopenharmony_ci * When the code is trying to take the absolute value of an unsigned 2062f9f848faSopenharmony_ci quantity, which is effectively a no-op, and almost never what was 2063f9f848faSopenharmony_ci intended. The code should be fixed, if at all possible. If you are 2064f9f848faSopenharmony_ci sure that the unsigned quantity can be safely cast to signed, without 2065f9f848faSopenharmony_ci loss of information or undefined behavior, you can add an explicit 2066f9f848faSopenharmony_ci cast, or disable the warning. 2067f9f848faSopenharmony_ci 2068f9f848faSopenharmony_ci * When the code is trying to take an absolute value, but the called 2069f9f848faSopenharmony_ci abs() variant is for the wrong type, which can lead to truncation. 2070f9f848faSopenharmony_ci If you want to disable the warning instead of fixing the code, please 2071f9f848faSopenharmony_ci make sure that truncation will not occur, or it might lead to unwanted 2072f9f848faSopenharmony_ci side-effects. 2073f9f848faSopenharmony_ci 2074f9f848faSopenharmony_ci -Wtautological-undefined-compare and 2075f9f848faSopenharmony_ci -Wundefined-bool-conversion 2076f9f848faSopenharmony_ci 2077f9f848faSopenharmony_ci These warn when C++ code is trying to compare 'this' against NULL, while 2078f9f848faSopenharmony_ci 'this' should never be NULL in well-defined C++ code. However, there is 2079f9f848faSopenharmony_ci some legacy (pre C++11) code out there, which actively abuses this 2080f9f848faSopenharmony_ci feature, which was less strictly defined in previous C++ versions. 2081f9f848faSopenharmony_ci 2082f9f848faSopenharmony_ci Squid and openjdk do this, for example. The warning can be turned off 2083f9f848faSopenharmony_ci for C++98 and earlier, but compiling the code in C++11 mode might result 2084f9f848faSopenharmony_ci in unexpected behavior; for example, the parts of the program that are 2085f9f848faSopenharmony_ci unreachable could be optimized away. 2086f9f848faSopenharmony_ci 2087f9f848faSopenharmony_ci20141222: 2088f9f848faSopenharmony_ci The old NFS client and server (kernel options NFSCLIENT, NFSSERVER) 2089f9f848faSopenharmony_ci kernel sources have been removed. The .h files remain, since some 2090f9f848faSopenharmony_ci utilities include them. This will need to be fixed later. 2091f9f848faSopenharmony_ci If "mount -t oldnfs ..." is attempted, it will fail. 2092f9f848faSopenharmony_ci If the "-o" option on mountd(8), nfsd(8) or nfsstat(1) is used, 2093f9f848faSopenharmony_ci the utilities will report errors. 2094f9f848faSopenharmony_ci 2095f9f848faSopenharmony_ci20141121: 2096f9f848faSopenharmony_ci The handling of LOCAL_LIB_DIRS has been altered to skip addition of 2097f9f848faSopenharmony_ci directories to top level SUBDIR variable when their parent 2098f9f848faSopenharmony_ci directory is included in LOCAL_DIRS. Users with build systems with 2099f9f848faSopenharmony_ci such hierarchies and without SUBDIR entries in the parent 2100f9f848faSopenharmony_ci directory Makefiles should add them or add the directories to 2101f9f848faSopenharmony_ci LOCAL_DIRS. 2102f9f848faSopenharmony_ci 2103f9f848faSopenharmony_ci20141109: 2104f9f848faSopenharmony_ci faith(4) and faithd(8) have been removed from the base system. Faith 2105f9f848faSopenharmony_ci has been obsolete for a very long time. 2106f9f848faSopenharmony_ci 2107f9f848faSopenharmony_ci20141104: 2108f9f848faSopenharmony_ci vt(4), the new console driver, is enabled by default. It brings 2109f9f848faSopenharmony_ci support for Unicode and double-width characters, as well as 2110f9f848faSopenharmony_ci support for UEFI and integration with the KMS kernel video 2111f9f848faSopenharmony_ci drivers. 2112f9f848faSopenharmony_ci 2113f9f848faSopenharmony_ci You may need to update your console settings in /etc/rc.conf, 2114f9f848faSopenharmony_ci most probably the keymap. During boot, /etc/rc.d/syscons will 2115f9f848faSopenharmony_ci indicate what you need to do. 2116f9f848faSopenharmony_ci 2117f9f848faSopenharmony_ci vt(4) still has issues and lacks some features compared to 2118f9f848faSopenharmony_ci syscons(4). See the wiki for up-to-date information: 2119f9f848faSopenharmony_ci https://wiki.freebsd.org/Newcons 2120f9f848faSopenharmony_ci 2121f9f848faSopenharmony_ci If you want to keep using syscons(4), you can do so by adding 2122f9f848faSopenharmony_ci the following line to /boot/loader.conf: 2123f9f848faSopenharmony_ci kern.vty=sc 2124f9f848faSopenharmony_ci 2125f9f848faSopenharmony_ci20141102: 2126f9f848faSopenharmony_ci pjdfstest has been integrated into kyua as an opt-in test suite. 2127f9f848faSopenharmony_ci Please see share/doc/pjdfstest/README for more details on how to 2128f9f848faSopenharmony_ci execute it. 2129f9f848faSopenharmony_ci 2130f9f848faSopenharmony_ci20141009: 2131f9f848faSopenharmony_ci gperf has been removed from the base system for architectures 2132f9f848faSopenharmony_ci that use clang. Ports that require gperf will obtain it from the 2133f9f848faSopenharmony_ci devel/gperf port. 2134f9f848faSopenharmony_ci 2135f9f848faSopenharmony_ci20140923: 2136f9f848faSopenharmony_ci pjdfstest has been moved from tools/regression/pjdfstest to 2137f9f848faSopenharmony_ci contrib/pjdfstest . 2138f9f848faSopenharmony_ci 2139f9f848faSopenharmony_ci20140922: 2140f9f848faSopenharmony_ci At svn r271982, The default linux compat kernel ABI has been adjusted 2141f9f848faSopenharmony_ci to 2.6.18 in support of the linux-c6 compat ports infrastructure 2142f9f848faSopenharmony_ci update. If you wish to continue using the linux-f10 compat ports, 2143f9f848faSopenharmony_ci add compat.linux.osrelease=2.6.16 to your local sysctl.conf. Users are 2144f9f848faSopenharmony_ci encouraged to update their linux-compat packages to linux-c6 during 2145f9f848faSopenharmony_ci their next update cycle. 2146f9f848faSopenharmony_ci 2147f9f848faSopenharmony_ci20140729: 2148f9f848faSopenharmony_ci The ofwfb driver, used to provide a graphics console on PowerPC when 2149f9f848faSopenharmony_ci using vt(4), no longer allows mmap() of all physical memory. This 2150f9f848faSopenharmony_ci will prevent Xorg on PowerPC with some ATI graphics cards from 2151f9f848faSopenharmony_ci initializing properly unless x11-servers/xorg-server is updated to 2152f9f848faSopenharmony_ci 1.12.4_8 or newer. 2153f9f848faSopenharmony_ci 2154f9f848faSopenharmony_ci20140723: 2155f9f848faSopenharmony_ci The xdev targets have been converted to using TARGET and 2156f9f848faSopenharmony_ci TARGET_ARCH instead of XDEV and XDEV_ARCH. 2157f9f848faSopenharmony_ci 2158f9f848faSopenharmony_ci20140719: 2159f9f848faSopenharmony_ci The default unbound configuration has been modified to address 2160f9f848faSopenharmony_ci issues with reverse lookups on networks that use private 2161f9f848faSopenharmony_ci address ranges. If you use the local_unbound service, run 2162f9f848faSopenharmony_ci "service local_unbound setup" as root to regenerate your 2163f9f848faSopenharmony_ci configuration, then "service local_unbound reload" to load the 2164f9f848faSopenharmony_ci new configuration. 2165f9f848faSopenharmony_ci 2166f9f848faSopenharmony_ci20140709: 2167f9f848faSopenharmony_ci The GNU texinfo and GNU info pages are not built and installed 2168f9f848faSopenharmony_ci anymore, WITH_INFO knob has been added to allow to built and install 2169f9f848faSopenharmony_ci them again. 2170f9f848faSopenharmony_ci UPDATE: see 20150102 entry on texinfo's removal 2171f9f848faSopenharmony_ci 2172f9f848faSopenharmony_ci20140708: 2173f9f848faSopenharmony_ci The GNU readline library is now an INTERNALLIB - that is, it is 2174f9f848faSopenharmony_ci statically linked into consumers (GDB and variants) in the base 2175f9f848faSopenharmony_ci system, and the shared library is no longer installed. The 2176f9f848faSopenharmony_ci devel/readline port is available for third party software that 2177f9f848faSopenharmony_ci requires readline. 2178f9f848faSopenharmony_ci 2179f9f848faSopenharmony_ci20140702: 2180f9f848faSopenharmony_ci The Itanium architecture (ia64) has been removed from the list of 2181f9f848faSopenharmony_ci known architectures. This is the first step in the removal of the 2182f9f848faSopenharmony_ci architecture. 2183f9f848faSopenharmony_ci 2184f9f848faSopenharmony_ci20140701: 2185f9f848faSopenharmony_ci Commit r268115 has added NFSv4.1 server support, merged from 2186f9f848faSopenharmony_ci projects/nfsv4.1-server. Since this includes changes to the 2187f9f848faSopenharmony_ci internal interfaces between the NFS related modules, a full 2188f9f848faSopenharmony_ci build of the kernel and modules will be necessary. 2189f9f848faSopenharmony_ci __FreeBSD_version has been bumped. 2190f9f848faSopenharmony_ci 2191f9f848faSopenharmony_ci20140629: 2192f9f848faSopenharmony_ci The WITHOUT_VT_SUPPORT kernel config knob has been renamed 2193f9f848faSopenharmony_ci WITHOUT_VT. (The other _SUPPORT knobs have a consistent meaning 2194f9f848faSopenharmony_ci which differs from the behaviour controlled by this knob.) 2195f9f848faSopenharmony_ci 2196f9f848faSopenharmony_ci20140619: 2197f9f848faSopenharmony_ci Maximal length of the serial number in CTL was increased from 16 to 2198f9f848faSopenharmony_ci 64 chars, that breaks ABI. All CTL-related tools, such as ctladm 2199f9f848faSopenharmony_ci and ctld, need to be rebuilt to work with a new kernel. 2200f9f848faSopenharmony_ci 2201f9f848faSopenharmony_ci20140606: 2202f9f848faSopenharmony_ci The libatf-c and libatf-c++ major versions were downgraded to 0 and 2203f9f848faSopenharmony_ci 1 respectively to match the upstream numbers. They were out of 2204f9f848faSopenharmony_ci sync because, when they were originally added to FreeBSD, the 2205f9f848faSopenharmony_ci upstream versions were not respected. These libraries are private 2206f9f848faSopenharmony_ci and not yet built by default, so renumbering them should be a 2207f9f848faSopenharmony_ci non-issue. However, unclean source trees will yield broken test 2208f9f848faSopenharmony_ci programs once the operator executes "make delete-old-libs" after a 2209f9f848faSopenharmony_ci "make installworld". 2210f9f848faSopenharmony_ci 2211f9f848faSopenharmony_ci Additionally, the atf-sh binary was made private by moving it into 2212f9f848faSopenharmony_ci /usr/libexec/. Already-built shell test programs will keep the 2213f9f848faSopenharmony_ci path to the old binary so they will break after "make delete-old" 2214f9f848faSopenharmony_ci is run. 2215f9f848faSopenharmony_ci 2216f9f848faSopenharmony_ci If you are using WITH_TESTS=yes (not the default), wipe the object 2217f9f848faSopenharmony_ci tree and rebuild from scratch to prevent spurious test failures. 2218f9f848faSopenharmony_ci This is only needed once: the misnumbered libraries and misplaced 2219f9f848faSopenharmony_ci binaries have been added to OptionalObsoleteFiles.inc so they will 2220f9f848faSopenharmony_ci be removed during a clean upgrade. 2221f9f848faSopenharmony_ci 2222f9f848faSopenharmony_ci20140512: 2223f9f848faSopenharmony_ci Clang and llvm have been upgraded to 3.4.1 release. 2224f9f848faSopenharmony_ci 2225f9f848faSopenharmony_ci20140508: 2226f9f848faSopenharmony_ci We bogusly installed src.opts.mk in /usr/share/mk. This file should 2227f9f848faSopenharmony_ci be removed to avoid issues in the future (and has been added to 2228f9f848faSopenharmony_ci ObsoleteFiles.inc). 2229f9f848faSopenharmony_ci 2230f9f848faSopenharmony_ci20140505: 2231f9f848faSopenharmony_ci /etc/src.conf now affects only builds of the FreeBSD src tree. In the 2232f9f848faSopenharmony_ci past, it affected all builds that used the bsd.*.mk files. The old 2233f9f848faSopenharmony_ci behavior was a bug, but people may have relied upon it. To get this 2234f9f848faSopenharmony_ci behavior back, you can .include /etc/src.conf from /etc/make.conf 2235f9f848faSopenharmony_ci (which is still global and isn't changed). This also changes the 2236f9f848faSopenharmony_ci behavior of incremental builds inside the tree of individual 2237f9f848faSopenharmony_ci directories. Set MAKESYSPATH to ".../share/mk" to do that. 2238f9f848faSopenharmony_ci Although this has survived make universe and some upgrade scenarios, 2239f9f848faSopenharmony_ci other upgrade scenarios may have broken. At least one form of 2240f9f848faSopenharmony_ci temporary breakage was fixed with MAKESYSPATH settings for buildworld 2241f9f848faSopenharmony_ci as well... In cases where MAKESYSPATH isn't working with this 2242f9f848faSopenharmony_ci setting, you'll need to set it to the full path to your tree. 2243f9f848faSopenharmony_ci 2244f9f848faSopenharmony_ci One side effect of all this cleaning up is that bsd.compiler.mk 2245f9f848faSopenharmony_ci is no longer implicitly included by bsd.own.mk. If you wish to 2246f9f848faSopenharmony_ci use COMPILER_TYPE, you must now explicitly include bsd.compiler.mk 2247f9f848faSopenharmony_ci as well. 2248f9f848faSopenharmony_ci 2249f9f848faSopenharmony_ci20140430: 2250f9f848faSopenharmony_ci The lindev device has been removed since /dev/full has been made a 2251f9f848faSopenharmony_ci standard device. __FreeBSD_version has been bumped. 2252f9f848faSopenharmony_ci 2253f9f848faSopenharmony_ci20140424: 2254f9f848faSopenharmony_ci The knob WITHOUT_VI was added to the base system, which controls 2255f9f848faSopenharmony_ci building ex(1), vi(1), etc. Older releases of FreeBSD required ex(1) 2256f9f848faSopenharmony_ci in order to reorder files share/termcap and didn't build ex(1) as a 2257f9f848faSopenharmony_ci build tool, so building/installing with WITH_VI is highly advised for 2258f9f848faSopenharmony_ci build hosts for older releases. 2259f9f848faSopenharmony_ci 2260f9f848faSopenharmony_ci This issue has been fixed in stable/9 and stable/10 in r277022 and 2261f9f848faSopenharmony_ci r276991, respectively. 2262f9f848faSopenharmony_ci 2263f9f848faSopenharmony_ci20140418: 2264f9f848faSopenharmony_ci The YES_HESIOD knob has been removed. It has been obsolete for 2265f9f848faSopenharmony_ci a decade. Please move to using WITH_HESIOD instead or your builds 2266f9f848faSopenharmony_ci will silently lack HESIOD. 2267f9f848faSopenharmony_ci 2268f9f848faSopenharmony_ci20140405: 2269f9f848faSopenharmony_ci The uart(4) driver has been changed with respect to its handling 2270f9f848faSopenharmony_ci of the low-level console. Previously the uart(4) driver prevented 2271f9f848faSopenharmony_ci any process from changing the baudrate or the CLOCAL and HUPCL 2272f9f848faSopenharmony_ci control flags. By removing the restrictions, operators can make 2273f9f848faSopenharmony_ci changes to the serial console port without having to reboot. 2274f9f848faSopenharmony_ci However, when getty(8) is started on the serial device that is 2275f9f848faSopenharmony_ci associated with the low-level console, a misconfigured terminal 2276f9f848faSopenharmony_ci line in /etc/ttys will now have a real impact. 2277f9f848faSopenharmony_ci Before upgrading the kernel, make sure that /etc/ttys has the 2278f9f848faSopenharmony_ci serial console device configured as 3wire without baudrate to 2279f9f848faSopenharmony_ci preserve the previous behaviour. E.g: 2280f9f848faSopenharmony_ci ttyu0 "/usr/libexec/getty 3wire" vt100 on secure 2281f9f848faSopenharmony_ci 2282f9f848faSopenharmony_ci20140306: 2283f9f848faSopenharmony_ci Support for libwrap (TCP wrappers) in rpcbind was disabled by default 2284f9f848faSopenharmony_ci to improve performance. To re-enable it, if needed, run rpcbind 2285f9f848faSopenharmony_ci with command line option -W. 2286f9f848faSopenharmony_ci 2287f9f848faSopenharmony_ci20140226: 2288f9f848faSopenharmony_ci Switched back to the GPL dtc compiler due to updates in the upstream 2289f9f848faSopenharmony_ci dts files not being supported by the BSDL dtc compiler. You will need 2290f9f848faSopenharmony_ci to rebuild your kernel toolchain to pick up the new compiler. Core dumps 2291f9f848faSopenharmony_ci may result while building dtb files during a kernel build if you fail 2292f9f848faSopenharmony_ci to do so. Set WITHOUT_GPL_DTC if you require the BSDL compiler. 2293f9f848faSopenharmony_ci 2294f9f848faSopenharmony_ci20140216: 2295f9f848faSopenharmony_ci Clang and llvm have been upgraded to 3.4 release. 2296f9f848faSopenharmony_ci 2297f9f848faSopenharmony_ci20140216: 2298f9f848faSopenharmony_ci The nve(4) driver has been removed. Please use the nfe(4) driver 2299f9f848faSopenharmony_ci for NVIDIA nForce MCP Ethernet adapters instead. 2300f9f848faSopenharmony_ci 2301f9f848faSopenharmony_ci20140212: 2302f9f848faSopenharmony_ci An ABI incompatibility crept into the libc++ 3.4 import in r261283. 2303f9f848faSopenharmony_ci This could cause certain C++ applications using shared libraries built 2304f9f848faSopenharmony_ci against the previous version of libc++ to crash. The incompatibility 2305f9f848faSopenharmony_ci has now been fixed, but any C++ applications or shared libraries built 2306f9f848faSopenharmony_ci between r261283 and r261801 should be recompiled. 2307f9f848faSopenharmony_ci 2308f9f848faSopenharmony_ci20140204: 2309f9f848faSopenharmony_ci OpenSSH will now ignore errors caused by kernel lacking of Capsicum 2310f9f848faSopenharmony_ci capability mode support. Please note that enabling the feature in 2311f9f848faSopenharmony_ci kernel is still highly recommended. 2312f9f848faSopenharmony_ci 2313f9f848faSopenharmony_ci20140131: 2314f9f848faSopenharmony_ci OpenSSH is now built with sandbox support, and will use sandbox as 2315f9f848faSopenharmony_ci the default privilege separation method. This requires Capsicum 2316f9f848faSopenharmony_ci capability mode support in kernel. 2317f9f848faSopenharmony_ci 2318f9f848faSopenharmony_ci20140128: 2319f9f848faSopenharmony_ci The libelf and libdwarf libraries have been updated to newer 2320f9f848faSopenharmony_ci versions from upstream. Shared library version numbers for 2321f9f848faSopenharmony_ci these two libraries were bumped. Any ports or binaries 2322f9f848faSopenharmony_ci requiring these two libraries should be recompiled. 2323f9f848faSopenharmony_ci __FreeBSD_version is bumped to 1100006. 2324f9f848faSopenharmony_ci 2325f9f848faSopenharmony_ci20140110: 2326f9f848faSopenharmony_ci If a Makefile in a tests/ directory was auto-generating a Kyuafile 2327f9f848faSopenharmony_ci instead of providing an explicit one, this would prevent such 2328f9f848faSopenharmony_ci Makefile from providing its own Kyuafile in the future during 2329f9f848faSopenharmony_ci NO_CLEAN builds. This has been fixed in the Makefiles but manual 2330f9f848faSopenharmony_ci intervention is needed to clean an objdir if you use NO_CLEAN: 2331f9f848faSopenharmony_ci # find /usr/obj -name Kyuafile | xargs rm -f 2332f9f848faSopenharmony_ci 2333f9f848faSopenharmony_ci20131213: 2334f9f848faSopenharmony_ci The behavior of gss_pseudo_random() for the krb5 mechanism 2335f9f848faSopenharmony_ci has changed, for applications requesting a longer random string 2336f9f848faSopenharmony_ci than produced by the underlying enctype's pseudo-random() function. 2337f9f848faSopenharmony_ci In particular, the random string produced from a session key of 2338f9f848faSopenharmony_ci enctype aes256-cts-hmac-sha1-96 or aes256-cts-hmac-sha1-96 will 2339f9f848faSopenharmony_ci be different at the 17th octet and later, after this change. 2340f9f848faSopenharmony_ci The counter used in the PRF+ construction is now encoded as a 2341f9f848faSopenharmony_ci big-endian integer in accordance with RFC 4402. 2342f9f848faSopenharmony_ci __FreeBSD_version is bumped to 1100004. 2343f9f848faSopenharmony_ci 2344f9f848faSopenharmony_ci20131108: 2345f9f848faSopenharmony_ci The WITHOUT_ATF build knob has been removed and its functionality 2346f9f848faSopenharmony_ci has been subsumed into the more generic WITHOUT_TESTS. If you were 2347f9f848faSopenharmony_ci using the former to disable the build of the ATF libraries, you 2348f9f848faSopenharmony_ci should change your settings to use the latter. 2349f9f848faSopenharmony_ci 2350f9f848faSopenharmony_ci20131025: 2351f9f848faSopenharmony_ci The default version of mtree is nmtree which is obtained from 2352f9f848faSopenharmony_ci NetBSD. The output is generally the same, but may vary 2353f9f848faSopenharmony_ci slightly. If you found you need identical output adding 2354f9f848faSopenharmony_ci "-F freebsd9" to the command line should do the trick. For the 2355f9f848faSopenharmony_ci time being, the old mtree is available as fmtree. 2356f9f848faSopenharmony_ci 2357f9f848faSopenharmony_ci20131014: 2358f9f848faSopenharmony_ci libbsdyml has been renamed to libyaml and moved to /usr/lib/private. 2359f9f848faSopenharmony_ci This will break ports-mgmt/pkg. Rebuild the port, or upgrade to pkg 2360f9f848faSopenharmony_ci 1.1.4_8 and verify bsdyml not linked in, before running "make 2361f9f848faSopenharmony_ci delete-old-libs": 2362f9f848faSopenharmony_ci # make -C /usr/ports/ports-mgmt/pkg build deinstall install clean 2363f9f848faSopenharmony_ci or 2364f9f848faSopenharmony_ci # pkg install pkg; ldd /usr/local/sbin/pkg | grep bsdyml 2365f9f848faSopenharmony_ci 2366f9f848faSopenharmony_ci20131010: 2367f9f848faSopenharmony_ci The stable/10 branch has been created in subversion from head 2368f9f848faSopenharmony_ci revision r256279. 2369f9f848faSopenharmony_ci 2370f9f848faSopenharmony_ciCOMMON ITEMS: 2371f9f848faSopenharmony_ci 2372f9f848faSopenharmony_ci General Notes 2373f9f848faSopenharmony_ci ------------- 2374f9f848faSopenharmony_ci Sometimes, obscure build problems are the result of environment 2375f9f848faSopenharmony_ci poisoning. This can happen because the make utility reads its 2376f9f848faSopenharmony_ci environment when searching for values for global variables. To run 2377f9f848faSopenharmony_ci your build attempts in an "environmental clean room", prefix all make 2378f9f848faSopenharmony_ci commands with 'env -i '. See the env(1) manual page for more details. 2379f9f848faSopenharmony_ci Occasionally a build failure will occur with "make -j" due to a race 2380f9f848faSopenharmony_ci condition. If this happens try building again without -j, and please 2381f9f848faSopenharmony_ci report a bug if it happens consistently. 2382f9f848faSopenharmony_ci 2383f9f848faSopenharmony_ci When upgrading from one major version to another it is generally best to 2384f9f848faSopenharmony_ci upgrade to the latest code in the currently installed branch first, then 2385f9f848faSopenharmony_ci do an upgrade to the new branch. This is the best-tested upgrade path, 2386f9f848faSopenharmony_ci and has the highest probability of being successful. Please try this 2387f9f848faSopenharmony_ci approach if you encounter problems with a major version upgrade. Since 2388f9f848faSopenharmony_ci the stable 4.x branch point, one has generally been able to upgrade from 2389f9f848faSopenharmony_ci anywhere in the most recent stable branch to head / current (or even the 2390f9f848faSopenharmony_ci last couple of stable branches). See the top of this file when there's 2391f9f848faSopenharmony_ci an exception. 2392f9f848faSopenharmony_ci 2393f9f848faSopenharmony_ci The update process will emit an error on an attempt to perform a build 2394f9f848faSopenharmony_ci or install from a FreeBSD version below the earliest supported version. 2395f9f848faSopenharmony_ci When updating from an older version the update should be performed one 2396f9f848faSopenharmony_ci major release at a time, including running `make delete-old` at each 2397f9f848faSopenharmony_ci step. 2398f9f848faSopenharmony_ci 2399f9f848faSopenharmony_ci When upgrading a live system, having a root shell around before 2400f9f848faSopenharmony_ci installing anything can help undo problems. Not having a root shell 2401f9f848faSopenharmony_ci around can lead to problems if pam has changed too much from your 2402f9f848faSopenharmony_ci starting point to allow continued authentication after the upgrade. 2403f9f848faSopenharmony_ci 2404f9f848faSopenharmony_ci This file should be read as a log of events. When a later event changes 2405f9f848faSopenharmony_ci information of a prior event, the prior event should not be deleted. 2406f9f848faSopenharmony_ci Instead, a pointer to the entry with the new information should be 2407f9f848faSopenharmony_ci placed in the old entry. Readers of this file should also sanity check 2408f9f848faSopenharmony_ci older entries before relying on them blindly. Authors of new entries 2409f9f848faSopenharmony_ci should write them with this in mind. 2410f9f848faSopenharmony_ci 2411f9f848faSopenharmony_ci ZFS notes 2412f9f848faSopenharmony_ci --------- 2413f9f848faSopenharmony_ci When upgrading the boot ZFS pool to a new version, always follow 2414f9f848faSopenharmony_ci these two steps: 2415f9f848faSopenharmony_ci 2416f9f848faSopenharmony_ci 1.) recompile and reinstall the ZFS boot loader and boot block 2417f9f848faSopenharmony_ci (this is part of "make buildworld" and "make installworld") 2418f9f848faSopenharmony_ci 2419f9f848faSopenharmony_ci 2.) update the ZFS boot block on your boot drive 2420f9f848faSopenharmony_ci 2421f9f848faSopenharmony_ci The following example updates the ZFS boot block on the 2422f9f848faSopenharmony_ci freebsd-boot partition of a GPT partitioned drive ada0: 2423f9f848faSopenharmony_ci "gpart bootcode -p /boot/gptzfsboot -i $N ada0" 2424f9f848faSopenharmony_ci The value $N will typically be 1 (if booting from BIOS) or 2 (if 2425f9f848faSopenharmony_ci booting from EFI). 2426f9f848faSopenharmony_ci 2427f9f848faSopenharmony_ci Non-boot pools do not need these updates. 2428f9f848faSopenharmony_ci 2429f9f848faSopenharmony_ci To build a kernel 2430f9f848faSopenharmony_ci ----------------- 2431f9f848faSopenharmony_ci If you are updating from a prior version of FreeBSD (even one just 2432f9f848faSopenharmony_ci a few days old), you should follow this procedure. It is the most 2433f9f848faSopenharmony_ci failsafe as it uses a /usr/obj tree with a fresh mini-buildworld, 2434f9f848faSopenharmony_ci 2435f9f848faSopenharmony_ci make kernel-toolchain 2436f9f848faSopenharmony_ci make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE 2437f9f848faSopenharmony_ci make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE 2438f9f848faSopenharmony_ci 2439f9f848faSopenharmony_ci To test a kernel once 2440f9f848faSopenharmony_ci --------------------- 2441f9f848faSopenharmony_ci If you just want to boot a kernel once (because you are not sure 2442f9f848faSopenharmony_ci if it works, or if you want to boot a known bad kernel to provide 2443f9f848faSopenharmony_ci debugging information) run 2444f9f848faSopenharmony_ci make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel 2445f9f848faSopenharmony_ci nextboot -k testkernel 2446f9f848faSopenharmony_ci 2447f9f848faSopenharmony_ci To rebuild everything and install it on the current system. 2448f9f848faSopenharmony_ci ----------------------------------------------------------- 2449f9f848faSopenharmony_ci # Note: sometimes if you are running current you gotta do more than 2450f9f848faSopenharmony_ci # is listed here if you are upgrading from a really old current. 2451f9f848faSopenharmony_ci 2452f9f848faSopenharmony_ci <make sure you have good level 0 dumps> 2453f9f848faSopenharmony_ci make buildworld 2454f9f848faSopenharmony_ci make buildkernel KERNCONF=YOUR_KERNEL_HERE 2455f9f848faSopenharmony_ci make installkernel KERNCONF=YOUR_KERNEL_HERE 2456f9f848faSopenharmony_ci [1] 2457f9f848faSopenharmony_ci <reboot in single user> [3] 2458f9f848faSopenharmony_ci mergemaster -Fp [5] 2459f9f848faSopenharmony_ci make installworld 2460f9f848faSopenharmony_ci mergemaster -Fi [4] 2461f9f848faSopenharmony_ci make delete-old [6] 2462f9f848faSopenharmony_ci <reboot> 2463f9f848faSopenharmony_ci 2464f9f848faSopenharmony_ci To cross-install current onto a separate partition 2465f9f848faSopenharmony_ci -------------------------------------------------- 2466f9f848faSopenharmony_ci # In this approach we use a separate partition to hold 2467f9f848faSopenharmony_ci # current's root, 'usr', and 'var' directories. A partition 2468f9f848faSopenharmony_ci # holding "/", "/usr" and "/var" should be about 2GB in 2469f9f848faSopenharmony_ci # size. 2470f9f848faSopenharmony_ci 2471f9f848faSopenharmony_ci <make sure you have good level 0 dumps> 2472f9f848faSopenharmony_ci <boot into -stable> 2473f9f848faSopenharmony_ci make buildworld 2474f9f848faSopenharmony_ci make buildkernel KERNCONF=YOUR_KERNEL_HERE 2475f9f848faSopenharmony_ci <maybe newfs current's root partition> 2476f9f848faSopenharmony_ci <mount current's root partition on directory ${CURRENT_ROOT}> 2477f9f848faSopenharmony_ci make installworld DESTDIR=${CURRENT_ROOT} -DDB_FROM_SRC 2478f9f848faSopenharmony_ci make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd 2479f9f848faSopenharmony_ci make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT} 2480f9f848faSopenharmony_ci cp /etc/fstab ${CURRENT_ROOT}/etc/fstab # if newfs'd 2481f9f848faSopenharmony_ci <edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition> 2482f9f848faSopenharmony_ci <reboot into current> 2483f9f848faSopenharmony_ci <do a "native" rebuild/install as described in the previous section> 2484f9f848faSopenharmony_ci <maybe install compatibility libraries from ports/misc/compat*> 2485f9f848faSopenharmony_ci <reboot> 2486f9f848faSopenharmony_ci 2487f9f848faSopenharmony_ci 2488f9f848faSopenharmony_ci To upgrade in-place from stable to current 2489f9f848faSopenharmony_ci ---------------------------------------------- 2490f9f848faSopenharmony_ci <make sure you have good level 0 dumps> 2491f9f848faSopenharmony_ci make buildworld [9] 2492f9f848faSopenharmony_ci make buildkernel KERNCONF=YOUR_KERNEL_HERE [8] 2493f9f848faSopenharmony_ci make installkernel KERNCONF=YOUR_KERNEL_HERE 2494f9f848faSopenharmony_ci [1] 2495f9f848faSopenharmony_ci <reboot in single user> [3] 2496f9f848faSopenharmony_ci mergemaster -Fp [5] 2497f9f848faSopenharmony_ci make installworld 2498f9f848faSopenharmony_ci mergemaster -Fi [4] 2499f9f848faSopenharmony_ci make delete-old [6] 2500f9f848faSopenharmony_ci <reboot> 2501f9f848faSopenharmony_ci 2502f9f848faSopenharmony_ci Make sure that you've read the UPDATING file to understand the 2503f9f848faSopenharmony_ci tweaks to various things you need. At this point in the life 2504f9f848faSopenharmony_ci cycle of current, things change often and you are on your own 2505f9f848faSopenharmony_ci to cope. The defaults can also change, so please read ALL of 2506f9f848faSopenharmony_ci the UPDATING entries. 2507f9f848faSopenharmony_ci 2508f9f848faSopenharmony_ci Also, if you are tracking -current, you must be subscribed to 2509f9f848faSopenharmony_ci freebsd-current@freebsd.org. Make sure that before you update 2510f9f848faSopenharmony_ci your sources that you have read and understood all the recent 2511f9f848faSopenharmony_ci messages there. If in doubt, please track -stable which has 2512f9f848faSopenharmony_ci much fewer pitfalls. 2513f9f848faSopenharmony_ci 2514f9f848faSopenharmony_ci [1] If you have third party modules, such as vmware, you should disable 2515f9f848faSopenharmony_ci them at this point so they don't crash your system on 2516f9f848faSopenharmony_ci reboot. Alternatively, you should rebuild all the modules you have in 2517f9f848faSopenharmony_ci your system and install them as well. If you are running -current, you 2518f9f848faSopenharmony_ci should seriously consider placing all sources to all the modules for 2519f9f848faSopenharmony_ci your system (or symlinks to them) in /usr/local/sys/modules so this 2520f9f848faSopenharmony_ci happens automatically. If all your modules come from ports, then adding 2521f9f848faSopenharmony_ci the port origin directories to PORTS_MODULES instead is also automatic 2522f9f848faSopenharmony_ci and effective, eg: 2523f9f848faSopenharmony_ci PORTS_MODULES+=x11/nvidia-driver 2524f9f848faSopenharmony_ci 2525f9f848faSopenharmony_ci [3] From the bootblocks, boot -s, and then do 2526f9f848faSopenharmony_ci fsck -p 2527f9f848faSopenharmony_ci mount -u / 2528f9f848faSopenharmony_ci mount -a 2529f9f848faSopenharmony_ci sh /etc/rc.d/zfs start # mount zfs filesystem, if needed 2530f9f848faSopenharmony_ci cd src # full path to source 2531f9f848faSopenharmony_ci adjkerntz -i # if CMOS is wall time 2532f9f848faSopenharmony_ci Also, when doing a major release upgrade, it is required that you boot 2533f9f848faSopenharmony_ci into single user mode to do the installworld. 2534f9f848faSopenharmony_ci 2535f9f848faSopenharmony_ci [4] Note: This step is non-optional. Failure to do this step 2536f9f848faSopenharmony_ci can result in a significant reduction in the functionality of the 2537f9f848faSopenharmony_ci system. Attempting to do it by hand is not recommended and those 2538f9f848faSopenharmony_ci that pursue this avenue should read this file carefully, as well 2539f9f848faSopenharmony_ci as the archives of freebsd-current and freebsd-hackers mailing lists 2540f9f848faSopenharmony_ci for potential gotchas. The -U option is also useful to consider. 2541f9f848faSopenharmony_ci See mergemaster(8) for more information. 2542f9f848faSopenharmony_ci 2543f9f848faSopenharmony_ci [5] Usually this step is a no-op. However, from time to time 2544f9f848faSopenharmony_ci you may need to do this if you get unknown user in the following 2545f9f848faSopenharmony_ci step. It never hurts to do it all the time. You may need to 2546f9f848faSopenharmony_ci install a new mergemaster (cd src/usr.sbin/mergemaster && make 2547f9f848faSopenharmony_ci install) after the buildworld before this step if you last updated 2548f9f848faSopenharmony_ci from current before 20130425 or from -stable before 20130430. 2549f9f848faSopenharmony_ci 2550f9f848faSopenharmony_ci [6] This only deletes old files and directories. Old libraries 2551f9f848faSopenharmony_ci can be deleted by "make delete-old-libs", but you have to make 2552f9f848faSopenharmony_ci sure that no program is using those libraries anymore. 2553f9f848faSopenharmony_ci 2554f9f848faSopenharmony_ci [8] The new kernel must be able to run existing binaries used by an 2555f9f848faSopenharmony_ci installworld. When upgrading across major versions, the new kernel's 2556f9f848faSopenharmony_ci configuration must include the correct COMPAT_FREEBSD<n> option for 2557f9f848faSopenharmony_ci existing binaries (e.g. COMPAT_FREEBSD11 to run 11.x binaries). Failure 2558f9f848faSopenharmony_ci to do so may leave you with a system that is hard to boot to recover. A 2559f9f848faSopenharmony_ci GENERIC kernel will include suitable compatibility options to run 2560f9f848faSopenharmony_ci binaries from older branches. Note that the ability to run binaries 2561f9f848faSopenharmony_ci from unsupported branches is not guaranteed. 2562f9f848faSopenharmony_ci 2563f9f848faSopenharmony_ci Make sure that you merge any new devices from GENERIC since the 2564f9f848faSopenharmony_ci last time you updated your kernel config file. Options also 2565f9f848faSopenharmony_ci change over time, so you may need to adjust your custom kernels 2566f9f848faSopenharmony_ci for these as well. 2567f9f848faSopenharmony_ci 2568f9f848faSopenharmony_ci [9] If CPUTYPE is defined in your /etc/make.conf, make sure to use the 2569f9f848faSopenharmony_ci "?=" instead of the "=" assignment operator, so that buildworld can 2570f9f848faSopenharmony_ci override the CPUTYPE if it needs to. 2571f9f848faSopenharmony_ci 2572f9f848faSopenharmony_ci MAKEOBJDIRPREFIX must be defined in an environment variable, and 2573f9f848faSopenharmony_ci not on the command line, or in /etc/make.conf. buildworld will 2574f9f848faSopenharmony_ci warn if it is improperly defined. 2575f9f848faSopenharmony_ciFORMAT: 2576f9f848faSopenharmony_ci 2577f9f848faSopenharmony_ciThis file contains a list, in reverse chronological order, of major 2578f9f848faSopenharmony_cibreakages in tracking -current. It is not guaranteed to be a complete 2579f9f848faSopenharmony_cilist of such breakages, and only contains entries since September 23, 2011. 2580f9f848faSopenharmony_ciIf you need to see UPDATING entries from before that date, you will need 2581f9f848faSopenharmony_cito fetch an UPDATING file from an older FreeBSD release. 2582f9f848faSopenharmony_ci 2583f9f848faSopenharmony_ciCopyright information: 2584f9f848faSopenharmony_ci 2585f9f848faSopenharmony_ciCopyright 1998-2009 M. Warner Losh <imp@FreeBSD.org> 2586f9f848faSopenharmony_ci 2587f9f848faSopenharmony_ciRedistribution, publication, translation and use, with or without 2588f9f848faSopenharmony_cimodification, in full or in part, in any form or format of this 2589f9f848faSopenharmony_cidocument are permitted without further permission from the author. 2590f9f848faSopenharmony_ci 2591f9f848faSopenharmony_ciTHIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR 2592f9f848faSopenharmony_ciIMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 2593f9f848faSopenharmony_ciWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 2594f9f848faSopenharmony_ciDISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT, 2595f9f848faSopenharmony_ciINDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 2596f9f848faSopenharmony_ci(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 2597f9f848faSopenharmony_ciSERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2598f9f848faSopenharmony_ciHOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 2599f9f848faSopenharmony_ciSTRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 2600f9f848faSopenharmony_ciIN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2601f9f848faSopenharmony_ciPOSSIBILITY OF SUCH DAMAGE. 2602f9f848faSopenharmony_ci 2603f9f848faSopenharmony_ciContact Warner Losh if you have any questions about your use of 2604f9f848faSopenharmony_cithis document. 2605