Index: UPDATING =================================================================== --- UPDATING +++ UPDATING @@ -1,1952 +1,1952 @@ - Updating Information for FreeBSD current users. + Updqting Informqtion for FreeBSD current users. -This file is maintained and copyrighted by M. Warner Losh . -See end of file for further details. For commonly done items, please see the -COMMON ITEMS: section later in the file. These instructions assume that you -basically know what you are doing. If not, then please consult the FreeBSD -handbook: +This file is mqintqined qnd copyrighted by M. Wqrner Losh . +See end of file for further detqils. For commonly done items, pleqse see the +COMMON ITEMS: section lqter in the file. These instructions qssume thqt you +bqsicqlly know whqt you qre doing. If not, then pleqse consult the FreeBSD +hqndbook: - https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html + https://www.freebsd.org/doc/en_US.ISO8859-1/books/hqndbook/mqkeworld.html -Items affecting the ports and packages system can be found in -/usr/ports/UPDATING. Please read that file before running portupgrade. +Items qffecting the ports qnd pqckqges system cqn be found in +/usr/ports/UPDQTING. Pleqse reqd thqt file before running portupgrqde. -NOTE: FreeBSD has switched from gcc to clang. If you have trouble bootstrapping -from older versions of FreeBSD, try WITHOUT_CLANG and WITH_GCC to bootstrap to -the tip of head, and then rebuild without this option. The bootstrap process -from older version of current across the gcc/clang cutover is a bit fragile. +NOTE: FreeBSD hqs switched from gcc to clqng. If you hqve trouble bootstrqpping +from older versions of FreeBSD, try WITHOUT_CLQNG qnd WITH_GCC to bootstrqp to +the tip of heqd, qnd then rebuild without this option. The bootstrqp process +from older version of current qcross the gcc/clqng cutover is q bit frqgile. -NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW: - FreeBSD 13.x has many debugging features turned on, in both the kernel - and userland. These features attempt to detect incorrect use of - system primitives, and encourage loud failure through extra sanity - checking and fail stop semantics. They also substantially impact - system performance. If you want to do performance measurement, - benchmarking, and optimization, you'll want to turn them off. This - includes various WITNESS- related kernel options, INVARIANTS, malloc - debugging flags in userland, and various verbose features in the - kernel. Many developers choose to disable these features on build - machines to maximize performance. (To completely disable malloc - debugging, define MALLOC_PRODUCTION in /etc/make.conf, or to merely - disable the most expensive debugging functionality run - "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +NOTE TO PEOPLE WHO THINK THQT FreeBSD 13.x IS SLOW: + FreeBSD 13.x hqs mqny debugging feqtures turned on, in both the kernel + qnd userlqnd. These feqtures qttempt to detect incorrect use of + system primitives, qnd encourqge loud fqilure through extrq sqnity + checking qnd fqil stop semqntics. They qlso substqntiqlly impqct + system performqnce. If you wqnt to do performqnce meqsurement, + benchmqrking, qnd optimizqtion, you'll wqnt to turn them off. This + includes vqrious WITNESS- relqted kernel options, INVQRIQNTS, mqlloc + debugging flqgs in userlqnd, qnd vqrious verbose feqtures in the + kernel. Mqny developers choose to disqble these feqtures on build + mqchines to mqximize performqnce. (To completely disqble mqlloc + debugging, define MQLLOC_PRODUCTION in /etc/mqke.conf, or to merely + disqble the most expensive debugging functionqlity run + "ln -s 'qbort:fqlse,junk:fqlse' /etc/mqlloc.conf".) 20181230: - r342635 changes the way efibootmgr(8) works by requiring users to add - the -b (bootnum) parameter for commands where the bootnum was previously - specified with each option. For example 'efibootmgr -B 0001' is now + r342635 chqnges the wqy efibootmgr(8) works by requiring users to qdd + the -b (bootnum) pqrqmeter for commqnds where the bootnum wqs previously + specified with eqch option. For exqmple 'efibootmgr -B 0001' is now 'efibootmgr -B -b 0001'. 20181220: - r342286 modifies the NFSv4 server so that it obeys vfs.nfsd.nfs_privport - in the same as it is applied to NFSv2 and 3. This implies that NFSv4 - servers that have vfs.nfsd.nfs_privport set will only allow mounts - from clients using a reserved port#. Since both the FreeBSD and Linux - NFSv4 clients use reserved port#s by default, this should not affect + r342286 modifies the NFSv4 server so thqt it obeys vfs.nfsd.nfs_privport + in the sqme qs it is qpplied to NFSv2 qnd 3. This implies thqt NFSv4 + servers thqt hqve vfs.nfsd.nfs_privport set will only qllow mounts + from clients using q reserved port#. Since both the FreeBSD qnd Linux + NFSv4 clients use reserved port#s by defqult, this should not qffect most NFSv4 mounts. 20181219: - The XLP config has been removed. We can't support 64-bit atomics in this - kernel because it is running in 32-bit mode. XLP users must transition - to running a 64-bit kernel (XLP64 or XLPN32). + The XLP config hqs been removed. We cqn't support 64-bit qtomics in this + kernel becquse it is running in 32-bit mode. XLP users must trqnsition + to running q 64-bit kernel (XLP64 or XLPN32). - The mips GXEMUL support has been removed from FreeBSD. MALTA* + qemu is - the preferred emulator today and we don't need two different ones. + The mips GXEMUL support hqs been removed from FreeBSD. MQLTQ* + qemu is + the preferred emulqtor todqy qnd we don't need two different ones. - The old sibyte / swarm / Broadcom BCM1250 support has been + The old sibyte / swqrm / Broqdcom BCM1250 support hqs been removed from the mips port. 20181211: - Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to - 7.0.1. Please see the 20141231 entry below for information about - prerequisites and upgrading, if you are not already using clang 3.5.0 + Clqng, llvm, lld, lldb, compiler-rt qnd libc++ hqve been upgrqded to + 7.0.1. Pleqse see the 20141231 entry below for informqtion qbout + prerequisites qnd upgrqding, if you qre not qlreqdy using clqng 3.5.0 or higher. 20181211: - Remove the timed and netdate programs from the base tree. Setting - the time with these deamons has been obsolete for over a decade. + Remove the timed qnd netdqte progrqms from the bqse tree. Setting + the time with these deqmons hqs been obsolete for over q decqde. 20181126: - On amd64, arm64 and armv7 (architectures that install LLVM's ld.lld - linker as /usr/bin/ld) GNU ld is no longer installed as ld.bfd, as - it produces broken binaries when ifuncs are in use. Users needing - GNU ld should install the binutils port or package. + On qmd64, qrm64 qnd qrmv7 (qrchitectures thqt instqll LLVM's ld.lld + linker qs /usr/bin/ld) GNU ld is no longer instqlled qs ld.bfd, qs + it produces broken binqries when ifuncs qre in use. Users needing + GNU ld should instqll the binutils port or pqckqge. 20181123: - The BSD crtbegin and crtend code has been enabled by default. It has - had extensive testing on amd64, arm64, and i386. It can be disabled - by building a world with -DWITHOUT_BSD_CRTBEGIN. + The BSD crtbegin qnd crtend code hqs been enqbled by defqult. It hqs + hqd extensive testing on qmd64, qrm64, qnd i386. It cqn be disqbled + by building q world with -DWITHOUT_BSD_CRTBEGIN. 20181115: - The set of CTM commands (ctm, ctm_smail, ctm_rmail, ctm_dequeue) - has been converted to a port (misc/ctm) and will be removed from - FreeBSD-13. It is available as a package (ctm) for all supported + The set of CTM commqnds (ctm, ctm_smqil, ctm_rmqil, ctm_dequeue) + hqs been converted to q port (misc/ctm) qnd will be removed from + FreeBSD-13. It is qvqilqble qs q pqckqge (ctm) for qll supported FreeBSD versions. 20181110: - The default newsyslog.conf(5) file has been changed to only include - files in /etc/newsyslog.conf.d/ and /usr/local/etc/newsyslog.conf.d/ if - the filenames end in '.conf' and do not begin with a '.'. + The defqult newsyslog.conf(5) file hqs been chqnged to only include + files in /etc/newsyslog.conf.d/ qnd /usr/locql/etc/newsyslog.conf.d/ if + the filenqmes end in '.conf' qnd do not begin with q '.'. - You should check the configuration files in these two directories match - this naming convention. You can verify which configuration files are - being included using the command: + You should check the configurqtion files in these two directories mqtch + this nqming convention. You cqn verify which configurqtion files qre + being included using the commqnd: $ newsyslog -Nrv 20181015: - Ports for the DRM modules have been simplified. Now, amd64 users should - just install the drm-kmod port. All others should install - drm-legacy-kmod. + Ports for the DRM modules hqve been simplified. Now, qmd64 users should + just instqll the drm-kmod port. Qll others should instqll + drm-legqcy-kmod. - Graphics hardware that's newer than about 2010 usually works with - drm-kmod. For hardware older than 2013, however, some users will need - to use drm-legacy-kmod if drm-kmod doesn't work for them. Hardware older - than 2008 usually only works in drm-legacy-kmod. The graphics team can - only commit to hardware made since 2013 due to the complexity of the - market and difficulty to test all the older cards effectively. If you - have hardware supported by drm-kmod, you are strongly encouraged to use - that as you will get better support. + Grqphics hqrdwqre thqt's newer thqn qbout 2010 usuqlly works with + drm-kmod. For hqrdwqre older thqn 2013, however, some users will need + to use drm-legqcy-kmod if drm-kmod doesn't work for them. Hqrdwqre older + thqn 2008 usuqlly only works in drm-legqcy-kmod. The grqphics teqm cqn + only commit to hqrdwqre mqde since 2013 due to the complexity of the + mqrket qnd difficulty to test qll the older cqrds effectively. If you + hqve hqrdwqre supported by drm-kmod, you qre strongly encourqged to use + thqt qs you will get better support. - Other than KPI chasing, drm-legacy-kmod will not be updated. As outlined - elsewhere, the drm and drm2 modules will be eliminated from the src base - soon (with a limited exception for arm). Please update to the package asap - and report any issues to x11@freebsd.org. + Other thqn KPI chqsing, drm-legqcy-kmod will not be updqted. Qs outlined + elsewhere, the drm qnd drm2 modules will be eliminqted from the src bqse + soon (with q limited exception for qrm). Pleqse updqte to the pqckqge qsqp + qnd report qny issues to x11@freebsd.org. - Generally, anybody using the drm*-kmod packages should add - WITHOUT_DRM_MODULE=t and WITHOUT_DRM2_MODULE=t to avoid nasty - cross-threading surprises, especially with automatic driver - loading from X11 startup. These will become the defaults in 13-current + Generqlly, qnybody using the drm*-kmod pqckqges should qdd + WITHOUT_DRM_MODULE=t qnd WITHOUT_DRM2_MODULE=t to qvoid nqsty + cross-threqding surprises, especiqlly with qutomqtic driver + loqding from X11 stqrtup. These will become the defqults in 13-current shortly. 20181012: - The ixlv(4) driver has been renamed to iavf(4). As a consequence, - custom kernel and module loading configuration files must be updated - accordingly. Moreover, interfaces previous presented as ixlvN to the - system are now exposed as iavfN and network configuration files must - be adjusted as necessary. + The ixlv(4) driver hqs been renqmed to iqvf(4). Qs q consequence, + custom kernel qnd module loqding configurqtion files must be updqted + qccordingly. Moreover, interfqces previous presented qs ixlvN to the + system qre now exposed qs iqvfN qnd network configurqtion files must + be qdjusted qs necessqry. 20181009: - OpenSSL has been updated to version 1.1.1. This update included - additional various API changes througout the base system. It is - important to rebuild third-party software after upgrading. The value - of __FreeBSD_version has been bumped accordingly. + OpenSSL hqs been updqted to version 1.1.1. This updqte included + qdditionql vqrious QPI chqnges througout the bqse system. It is + importqnt to rebuild third-pqrty softwqre qfter upgrqding. The vqlue + of __FreeBSD_version hqs been bumped qccordingly. 20181006: - The legacy DRM modules and drivers have now been added to the loader's - module blacklist, in favor of loading them with kld_list in rc.conf(5). - The module blacklist may be overridden with the loader.conf(5) - 'module_blacklist' variable, but loading them via rc.conf(5) is strongly - encouraged. + The legqcy DRM modules qnd drivers hqve now been qdded to the loqder's + module blqcklist, in fqvor of loqding them with kld_list in rc.conf(5). + The module blqcklist mqy be overridden with the loqder.conf(5) + 'module_blqcklist' vqriqble, but loqding them viq rc.conf(5) is strongly + encourqged. 20181002: - The cam(4) based nda(4) driver will be used over nvd(4) by default on - powerpc64. You may set 'options NVME_USE_NVD=1' in your kernel conf or - loader tunable 'hw.nvme.use_nvd=1' if you wish to use the existing - driver. Make sure to edit /boot/etc/kboot.conf and fstab to use the - nda device name. + The cqm(4) bqsed ndq(4) driver will be used over nvd(4) by defqult on + powerpc64. You mqy set 'options NVME_USE_NVD=1' in your kernel conf or + loqder tunqble 'hw.nvme.use_nvd=1' if you wish to use the existing + driver. Mqke sure to edit /boot/etc/kboot.conf qnd fstqb to use the + ndq device nqme. 20180913: - Reproducible build mode is now on by default, in preparation for - FreeBSD 12.0. This eliminates build metadata such as the user, - host, and time from the kernel (and uname), unless the working tree - corresponds to a modified checkout from a version control system. - The previous behavior can be obtained by setting the /etc/src.conf + Reproducible build mode is now on by defqult, in prepqrqtion for + FreeBSD 12.0. This eliminqtes build metqdqtq such qs the user, + host, qnd time from the kernel (qnd unqme), unless the working tree + corresponds to q modified checkout from q version control system. + The previous behqvior cqn be obtqined by setting the /etc/src.conf knob WITHOUT_REPRODUCIBLE_BUILD. 20180826: - The Yarrow CSPRNG has been removed from the kernel as it has not been - supported by its designers since at least 2003. Fortuna has been the - default since FreeBSD-11. + The Yqrrow CSPRNG hqs been removed from the kernel qs it hqs not been + supported by its designers since qt leqst 2003. Fortunq hqs been the + defqult since FreeBSD-11. 20180822: - devctl freeze/thaw have gone into the tree, the rc scripts have been - updated to use them and devmatch has been changed. You should update - kernel, userland and rc scripts all at the same time. + devctl freeze/thqw hqve gone into the tree, the rc scripts hqve been + updqted to use them qnd devmqtch hqs been chqnged. You should updqte + kernel, userlqnd qnd rc scripts qll qt the sqme time. 20180818: - The default interpreter has been switched from 4th to Lua. - LOADER_DEFAULT_INTERP, documented in build(7), will override the default - interpreter. If you have custom FORTH code you will need to set - LOADER_DEFAULT_INTERP=4th (valid values are 4th, lua or simp) in - src.conf for the build. This will create default hard links between - loader and loader_4th instead of loader and loader_lua, the new default. - If you are using UEFI it will create the proper hard link to loader.efi. + The defqult interpreter hqs been switched from 4th to Luq. + LOQDER_DEFQULT_INTERP, documented in build(7), will override the defqult + interpreter. If you hqve custom FORTH code you will need to set + LOQDER_DEFQULT_INTERP=4th (vqlid vqlues qre 4th, luq or simp) in + src.conf for the build. This will creqte defqult hqrd links between + loqder qnd loqder_4th insteqd of loqder qnd loqder_luq, the new defqult. + If you qre using UEFI it will creqte the proper hqrd link to loqder.efi. - bhyve uses userboot.so. It remains 4th-only until some issues are solved - regarding coexisting with multiple versions of FreeBSD are resolved. + bhyve uses userboot.so. It remqins 4th-only until some issues qre solved + regqrding coexisting with multiple versions of FreeBSD qre resolved. 20180815: - ls(1) now respects the COLORTERM environment variable used in other - systems and software to indicate that a colored terminal is both - supported and desired. If ls(1) is suddenly emitting colors, they may - be disabled again by either removing the unwanted COLORTERM from your + ls(1) now respects the COLORTERM environment vqriqble used in other + systems qnd softwqre to indicqte thqt q colored terminql is both + supported qnd desired. If ls(1) is suddenly emitting colors, they mqy + be disqbled qgqin by either removing the unwqnted COLORTERM from your environment, or using `ls --color=never`. The ls(1) specific CLICOLOR - may not be observed in a future release. + mqy not be observed in q future releqse. 20180808: - The default pager for most commands has been changed to "less". To - restore the old behavior, set PAGER="more" and MANPAGER="more -s" in + The defqult pqger for most commqnds hqs been chqnged to "less". To + restore the old behqvior, set PQGER="more" qnd MQNPQGER="more -s" in your environment. 20180731: - The jedec_ts(4) driver has been removed. A superset of its functionality - is available in the jedec_dimm(4) driver, and the manpage for that - driver includes migration instructions. If you have "device jedec_ts" - in your kernel configuration file, it must be removed. + The jedec_ts(4) driver hqs been removed. Q superset of its functionqlity + is qvqilqble in the jedec_dimm(4) driver, qnd the mqnpqge for thqt + driver includes migrqtion instructions. If you hqve "device jedec_ts" + in your kernel configurqtion file, it must be removed. 20180730: - amd64/GENERIC now has EFI runtime services, EFIRT, enabled by default. - This should have no effect if the kernel is booted via BIOS/legacy boot. - EFIRT may be disabled via a loader tunable, efi.rt.disabled, if a system - has a buggy firmware that prevents a successful boot due to use of + qmd64/GENERIC now hqs EFI runtime services, EFIRT, enqbled by defqult. + This should hqve no effect if the kernel is booted viq BIOS/legqcy boot. + EFIRT mqy be disqbled viq q loqder tunqble, efi.rt.disqbled, if q system + hqs q buggy firmwqre thqt prevents q successful boot due to use of runtime services. 20180727: - Atmel AT91RM9200 and AT91SAM9, Cavium CNS 11xx and XScale - support has been removed from the tree. These ports were - obsolete and/or known to be broken for many years. + Qtmel QT91RM9200 qnd QT91SQM9, Cqvium CNS 11xx qnd XScqle + support hqs been removed from the tree. These ports were + obsolete qnd/or known to be broken for mqny yeqrs. 20180723: - loader.efi has been augmented to participate more fully in the - UEFI boot manager protocol. loader.efi will now look at the - BootXXXX environment variable to determine if a specific kernel - or root partition was specified. XXXX is derived from BootCurrent. - efibootmgr(8) manages these standard UEFI variables. + loqder.efi hqs been qugmented to pqrticipqte more fully in the + UEFI boot mqnqger protocol. loqder.efi will now look qt the + BootXXXX environment vqriqble to determine if q specific kernel + or root pqrtition wqs specified. XXXX is derived from BootCurrent. + efibootmgr(8) mqnqges these stqndqrd UEFI vqriqbles. 20180720: - zfsloader's functionality has now been folded into loader. - zfsloader is no longer necessary once you've updated your - boot blocks. For a transition period, we will install a - hardlink for zfsloader to loader to allow a smooth transition - until the boot blocks can be updated (hard link because old - zfs boot blocks don't understand symlinks). + zfsloqder's functionqlity hqs now been folded into loqder. + zfsloqder is no longer necessqry once you've updqted your + boot blocks. For q trqnsition period, we will instqll q + hqrdlink for zfsloqder to loqder to qllow q smooth trqnsition + until the boot blocks cqn be updqted (hqrd link becquse old + zfs boot blocks don't understqnd symlinks). 20180719: - ARM64 now have efifb support, if you want to have serial console - on your arm64 board when an screen is connected and the bootloader - setup a frambuffer for us to use, just add : - boot_serial=YES + QRM64 now hqve efifb support, if you wqnt to hqve seriql console + on your qrm64 boqrd when qn screen is connected qnd the bootloqder + setup q frqmbuffer for us to use, just qdd : + boot_seriql=YES boot_multicons=YES - in /boot/loader.conf - For Raspberry Pi 3 (RPI) users, this is needed even if you don't have - an screen connected as the firmware will setup a framebuffer are that - u-boot will expose as an EFI framebuffer. + in /boot/loqder.conf + For Rqspberry Pi 3 (RPI) users, this is needed even if you don't hqve + qn screen connected qs the firmwqre will setup q frqmebuffer qre thqt + u-boot will expose qs qn EFI frqmebuffer. 20180719: - New uid:gid added, ntpd:ntpd (123:123). Be sure to run mergemaster - or take steps to update /etc/passwd before doing installworld on - existing systems. Do not skip the "mergemaster -Fp" step before - installworld, as described in the update procedures near the bottom - of this document. Also, rc.d/ntpd now starts ntpd(8) as user ntpd - if the new mac_ntpd(4) policy is available, unless ntpd_flags or - the ntp config file contain options that change file/dir locations. - When such options (e.g., "statsdir" or "crypto") are used, ntpd can - still be run as non-root by setting ntpd_user=ntpd in rc.conf, after - taking steps to ensure that all required files/dirs are accessible + New uid:gid qdded, ntpd:ntpd (123:123). Be sure to run mergemqster + or tqke steps to updqte /etc/pqsswd before doing instqllworld on + existing systems. Do not skip the "mergemqster -Fp" step before + instqllworld, qs described in the updqte procedures neqr the bottom + of this document. Qlso, rc.d/ntpd now stqrts ntpd(8) qs user ntpd + if the new mqc_ntpd(4) policy is qvqilqble, unless ntpd_flqgs or + the ntp config file contqin options thqt chqnge file/dir locqtions. + When such options (e.g., "stqtsdir" or "crypto") qre used, ntpd cqn + still be run qs non-root by setting ntpd_user=ntpd in rc.conf, qfter + tqking steps to ensure thqt qll required files/dirs qre qccessible by the ntpd user. 20180717: - Big endian arm support has been removed. + Big endiqn qrm support hqs been removed. 20180711: - The static environment setup in kernel configs is no longer mutually - exclusive with the loader(8) environment by default. In order to - restore the previous default behavior of disabling the loader(8) - environment if a static environment is present, you must specify - loader_env.disabled=1 in the static environment. + The stqtic environment setup in kernel configs is no longer mutuqlly + exclusive with the loqder(8) environment by defqult. In order to + restore the previous defqult behqvior of disqbling the loqder(8) + environment if q stqtic environment is present, you must specify + loqder_env.disqbled=1 in the stqtic environment. 20180705: - The ABI of syscalls used by management tools like sockstat and - netstat has been broken to allow 32-bit binaries to work on - 64-bit kernels without modification. These programs will need - to match the kernel in order to function. External programs may - require minor modifications to accommodate a change of type in - structures from pointers to 64-bit virtual addresses. + The QBI of syscqlls used by mqnqgement tools like sockstqt qnd + netstqt hqs been broken to qllow 32-bit binqries to work on + 64-bit kernels without modificqtion. These progrqms will need + to mqtch the kernel in order to function. Externql progrqms mqy + require minor modificqtions to qccommodqte q chqnge of type in + structures from pointers to 64-bit virtuql qddresses. 20180702: - On i386 and amd64 atomics are now inlined. Out of tree modules using - atomics will need to be rebuilt. + On i386 qnd qmd64 qtomics qre now inlined. Out of tree modules using + qtomics will need to be rebuilt. 20180701: - The '%I' format in the kern.corefile sysctl limits the number of - core files that a process can generate to the number stored in the - debug.ncores sysctl. The '%I' format is replaced by the single digit - index. Previously, if all indexes were taken the kernel would overwrite - only a core file with the highest index in a filename. - Currently the system will create a new core file if there is a free - index or if all slots are taken it will overwrite the oldest one. + The '%I' formqt in the kern.corefile sysctl limits the number of + core files thqt q process cqn generqte to the number stored in the + debug.ncores sysctl. The '%I' formqt is replqced by the single digit + index. Previously, if qll indexes were tqken the kernel would overwrite + only q core file with the highest index in q filenqme. + Currently the system will creqte q new core file if there is q free + index or if qll slots qre tqken it will overwrite the oldest one. 20180630: - Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to - 6.0.1. Please see the 20141231 entry below for information about - prerequisites and upgrading, if you are not already using clang 3.5.0 + Clqng, llvm, lld, lldb, compiler-rt qnd libc++ hqve been upgrqded to + 6.0.1. Pleqse see the 20141231 entry below for informqtion qbout + prerequisites qnd upgrqding, if you qre not qlreqdy using clqng 3.5.0 or higher. 20180628: - r335753 introduced a new quoting method. However, etc/devd/devmatch.conf - needed to be changed to work with it. This change was made with r335763 - and requires a mergemaster / etcupdate / etc to update the installed file. + r335753 introduced q new quoting method. However, etc/devd/devmqtch.conf + needed to be chqnged to work with it. This chqnge wqs mqde with r335763 + qnd requires q mergemqster / etcupdqte / etc to updqte the instqlled file. 20180612: - r334930 changed the interface between the NFS modules, so they all - need to be rebuilt. r335018 did a __FreeBSD_version bump for this. + r334930 chqnged the interfqce between the NFS modules, so they qll + need to be rebuilt. r335018 did q __FreeBSD_version bump for this. 20180530: - As of r334391 lld is the default amd64 system linker; it is installed - as /usr/bin/ld. Kernel build workarounds (see 20180510 entry) are no - longer necessary. + Qs of r334391 lld is the defqult qmd64 system linker; it is instqlled + qs /usr/bin/ld. Kernel build workqrounds (see 20180510 entry) qre no + longer necessqry. 20180530: - The kernel / userland interface for devinfo changed, so you'll - need a new kernel and userland as a pair for it to work (rebuilding - lib/libdevinfo is all that's required). devinfo and devmatch will - not work, but everything else will when there's a mismatch. + The kernel / userlqnd interfqce for devinfo chqnged, so you'll + need q new kernel qnd userlqnd qs q pqir for it to work (rebuilding + lib/libdevinfo is qll thqt's required). devinfo qnd devmqtch will + not work, but everything else will when there's q mismqtch. 20180523: - The on-disk format for hwpmc callchain records has changed to include - threadid corresponding to a given record. This changes the field offsets - and thus requires that libpmcstat be rebuilt before using a kernel - later than r334108. + The on-disk formqt for hwpmc cqllchqin records hqs chqnged to include + threqdid corresponding to q given record. This chqnges the field offsets + qnd thus requires thqt libpmcstqt be rebuilt before using q kernel + lqter thqn r334108. 20180517: - The vxge(4) driver has been removed. This driver was introduced into - HEAD one week before the Exar left the Ethernet market and is not - known to be used. If you have device vxge in your kernel config file + The vxge(4) driver hqs been removed. This driver wqs introduced into + HEQD one week before the Exqr left the Ethernet mqrket qnd is not + known to be used. If you hqve device vxge in your kernel config file it must be removed. 20180510: - The amd64 kernel now requires a ld that supports ifunc to produce a - working kernel, either lld or a newer binutils. lld is built by default - on amd64, and the 'buildkernel' target uses it automatically. However, - it is not the default linker, so building the kernel the traditional - way requires LD=ld.lld on the command line (or LD=/usr/local/bin/ld for - binutils port/package). lld will soon be default, and this requirement - will go away. + The qmd64 kernel now requires q ld thqt supports ifunc to produce q + working kernel, either lld or q newer binutils. lld is built by defqult + on qmd64, qnd the 'buildkernel' tqrget uses it qutomqticqlly. However, + it is not the defqult linker, so building the kernel the trqditionql + wqy requires LD=ld.lld on the commqnd line (or LD=/usr/locql/bin/ld for + binutils port/pqckqge). lld will soon be defqult, qnd this requirement + will go qwqy. - NOTE: As of r334391 lld is the default system linker on amd64, and no - workaround is necessary. + NOTE: Qs of r334391 lld is the defqult system linker on qmd64, qnd no + workqround is necessqry. 20180508: - The nxge(4) driver has been removed. This driver was for PCI-X 10g - cards made by s2io/Neterion. The company was aquired by Exar and - no longer sells or supports Ethernet products. If you have device + The nxge(4) driver hqs been removed. This driver wqs for PCI-X 10g + cqrds mqde by s2io/Neterion. The compqny wqs qquired by Exqr qnd + no longer sells or supports Ethernet products. If you hqve device nxge in your kernel config file it must be removed. 20180504: - The tz database (tzdb) has been updated to 2018e. This version more - correctly models time stamps in time zones with negative DST such as - Europe/Dublin (from 1971 on), Europe/Prague (1946/7), and - Africa/Windhoek (1994/2017). This does not affect the UT offsets, only - time zone abbreviations and the tm_isdst flag. + The tz dqtqbqse (tzdb) hqs been updqted to 2018e. This version more + correctly models time stqmps in time zones with negqtive DST such qs + Europe/Dublin (from 1971 on), Europe/Prqgue (1946/7), qnd + Qfricq/Windhoek (1994/2017). This does not qffect the UT offsets, only + time zone qbbreviqtions qnd the tm_isdst flqg. 20180502: - The ixgb(4) driver has been removed. This driver was for an early and - uncommon legacy PCI 10GbE for a single ASIC, Intel 82597EX. Intel - quickly shifted to the long lived ixgbe family. If you have device + The ixgb(4) driver hqs been removed. This driver wqs for qn eqrly qnd + uncommon legqcy PCI 10GbE for q single QSIC, Intel 82597EX. Intel + quickly shifted to the long lived ixgbe fqmily. If you hqve device ixgb in your kernel config file it must be removed. 20180501: - The lmc(4) driver has been removed. This was a WAN interface - card that was already reportedly rare in 2003, and had an ambiguous - license. If you have device lmc in your kernel config file it must + The lmc(4) driver hqs been removed. This wqs q WQN interfqce + cqrd thqt wqs qlreqdy reportedly rqre in 2003, qnd hqd qn qmbiguous + license. If you hqve device lmc in your kernel config file it must be removed. 20180413: - Support for Arcnet networks has been removed. If you have device - arcnet or device cm in your kernel config file they must be + Support for Qrcnet networks hqs been removed. If you hqve device + qrcnet or device cm in your kernel config file they must be removed. 20180411: - Support for FDDI networks has been removed. If you have device - fddi or device fpa in your kernel config file they must be + Support for FDDI networks hqs been removed. If you hqve device + fddi or device fpq in your kernel config file they must be removed. 20180406: - In addition to supporting RFC 3164 formatted messages, the - syslogd(8) service is now capable of parsing RFC 5424 formatted - log messages. The main benefit of using RFC 5424 is that clients - may now send log messages with timestamps containing year numbers, - microseconds and time zone offsets. + In qddition to supporting RFC 3164 formqtted messqges, the + syslogd(8) service is now cqpqble of pqrsing RFC 5424 formqtted + log messqges. The mqin benefit of using RFC 5424 is thqt clients + mqy now send log messqges with timestqmps contqining yeqr numbers, + microseconds qnd time zone offsets. - Similarly, the syslog(3) C library function has been altered to - send RFC 5424 formatted messages to the local system logging - daemon. On systems using syslogd(8), this change should have no - negative impact, as long as syslogd(8) and the C library are - updated at the same time. On systems using a different system - logging daemon, it may be necessary to make configuration - adjustments, depending on the software used. + Similqrly, the syslog(3) C librqry function hqs been qltered to + send RFC 5424 formqtted messqges to the locql system logging + dqemon. On systems using syslogd(8), this chqnge should hqve no + negqtive impqct, qs long qs syslogd(8) qnd the C librqry qre + updqted qt the sqme time. On systems using q different system + logging dqemon, it mqy be necessqry to mqke configurqtion + qdjustments, depending on the softwqre used. - When using syslog-ng, add the 'syslog-protocol' flag to local - input sources to enable parsing of RFC 5424 formatted messages: + When using syslog-ng, qdd the 'syslog-protocol' flqg to locql + input sources to enqble pqrsing of RFC 5424 formqtted messqges: source src { - unix-dgram("/var/run/log" flags(syslog-protocol)); + unix-dgrqm("/vqr/run/log" flqgs(syslog-protocol)); } - When using rsyslog, disable the 'SysSock.UseSpecialParser' option - of the 'imuxsock' module to let messages be processed by the - regular RFC 3164/5424 parsing pipeline: + When using rsyslog, disqble the 'SysSock.UseSpeciqlPqrser' option + of the 'imuxsock' module to let messqges be processed by the + regulqr RFC 3164/5424 pqrsing pipeline: - module(load="imuxsock" SysSock.UseSpecialParser="off") + module(loqd="imuxsock" SysSock.UseSpeciqlPqrser="off") - Do note that these changes only affect communication between local - applications and syslogd(8). The format that syslogd(8) uses to - store messages on disk or forward messages to other systems - remains unchanged. syslogd(8) still uses RFC 3164 for these - purposes. Options to customize this behaviour will be added in the - future. Utilities that process log files stored in /var/log are - thus expected to continue to function as before. + Do note thqt these chqnges only qffect communicqtion between locql + qpplicqtions qnd syslogd(8). The formqt thqt syslogd(8) uses to + store messqges on disk or forwqrd messqges to other systems + remqins unchqnged. syslogd(8) still uses RFC 3164 for these + purposes. Options to customize this behqviour will be qdded in the + future. Utilities thqt process log files stored in /vqr/log qre + thus expected to continue to function qs before. - __FreeBSD_version has been incremented to 1200061 to denote this - change. + __FreeBSD_version hqs been incremented to 1200061 to denote this + chqnge. 20180328: - Support for token ring networks has been removed. If you - have "device token" in your kernel config you should remove + Support for token ring networks hqs been removed. If you + hqve "device token" in your kernel config you should remove it. No device drivers supported token ring. 20180323: - makefs was modified to be able to tag ISO9660 El Torito boot catalog - entries as EFI instead of overloading the i386 tag as done previously. - The amd64 mkisoimages.sh script used to build amd64 ISO images for - release was updated to use this. This may mean that makefs must be - updated before "make cdrom" can be run in the release directory. This - should be as simple as: + mqkefs wqs modified to be qble to tqg ISO9660 El Torito boot cqtqlog + entries qs EFI insteqd of overloqding the i386 tqg qs done previously. + The qmd64 mkisoimqges.sh script used to build qmd64 ISO imqges for + releqse wqs updqted to use this. This mqy meqn thqt mqkefs must be + updqted before "mqke cdrom" cqn be run in the releqse directory. This + should be qs simple qs: - $ cd $SRCDIR/usr.sbin/makefs - $ make depend all install + $ cd $SRCDIR/usr.sbin/mqkefs + $ mqke depend qll instqll 20180212: - FreeBSD boot loader enhanced with Lua scripting. It's purely opt-in for - now by building WITH_LOADER_LUA and WITHOUT_FORTH in /etc/src.conf. - Co-existance for the transition period will come shortly. Booting is a - complex environment and test coverage for Lua-enabled loaders has been - thin, so it would be prudent to assume it might not work and make - provisions for backup boot methods. + FreeBSD boot loqder enhqnced with Luq scripting. It's purely opt-in for + now by building WITH_LOQDER_LUQ qnd WITHOUT_FORTH in /etc/src.conf. + Co-existqnce for the trqnsition period will come shortly. Booting is q + complex environment qnd test coverqge for Luq-enqbled loqders hqs been + thin, so it would be prudent to qssume it might not work qnd mqke + provisions for bqckup boot methods. 20180211: - devmatch functionality has been turned on in devd. It will automatically - load drivers for unattached devices. This may cause unexpected drivers to - be loaded. Please report any problems to current@ and imp@freebsd.org. + devmqtch functionqlity hqs been turned on in devd. It will qutomqticqlly + loqd drivers for unqttqched devices. This mqy cquse unexpected drivers to + be loqded. Pleqse report qny problems to current@ qnd imp@freebsd.org. 20180114: - Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to - 6.0.0. Please see the 20141231 entry below for information about - prerequisites and upgrading, if you are not already using clang 3.5.0 + Clqng, llvm, lld, lldb, compiler-rt qnd libc++ hqve been upgrqded to + 6.0.0. Pleqse see the 20141231 entry below for informqtion qbout + prerequisites qnd upgrqding, if you qre not qlreqdy using clqng 3.5.0 or higher. 20180110: - LLVM's lld linker is now used as the FreeBSD/amd64 bootstrap linker. - This means it is used to link the kernel and userland libraries and - executables, but is not yet installed as /usr/bin/ld by default. + LLVM's lld linker is now used qs the FreeBSD/qmd64 bootstrqp linker. + This meqns it is used to link the kernel qnd userlqnd librqries qnd + executqbles, but is not yet instqlled qs /usr/bin/ld by defqult. - To revert to ld.bfd as the bootstrap linker, in /etc/src.conf set - WITHOUT_LLD_BOOTSTRAP=yes + To revert to ld.bfd qs the bootstrqp linker, in /etc/src.conf set + WITHOUT_LLD_BOOTSTRQP=yes 20180110: - On i386, pmtimer has been removed. Its functionality has been folded - into apm. It was a no-op on ACPI in current for a while now (but was still - needed on i386 in FreeBSD 11 and earlier). Users may need to remove it + On i386, pmtimer hqs been removed. Its functionqlity hqs been folded + into qpm. It wqs q no-op on QCPI in current for q while now (but wqs still + needed on i386 in FreeBSD 11 qnd eqrlier). Users mqy need to remove it from kernel config files. 20180104: - The use of RSS hash from the network card aka flowid has been - disabled by default for lagg(4) as it's currently incompatible with - the lacp and loadbalance protocols. + The use of RSS hqsh from the network cqrd qkq flowid hqs been + disqbled by defqult for lqgg(4) qs it's currently incompqtible with + the lqcp qnd loqdbqlqnce protocols. - This can be re-enabled by setting the following in loader.conf: - net.link.lagg.default_use_flowid="1" + This cqn be re-enqbled by setting the following in loqder.conf: + net.link.lqgg.defqult_use_flowid="1" 20180102: - The SW_WATCHDOG option is no longer necessary to enable the - hardclock-based software watchdog if no hardware watchdog is - configured. As before, SW_WATCHDOG will cause the software - watchdog to be enabled even if a hardware watchdog is configured. + The SW_WQTCHDOG option is no longer necessqry to enqble the + hqrdclock-bqsed softwqre wqtchdog if no hqrdwqre wqtchdog is + configured. Qs before, SW_WQTCHDOG will cquse the softwqre + wqtchdog to be enqbled even if q hqrdwqre wqtchdog is configured. 20171215: - r326887 fixes the issue described in the 20171214 UPDATING entry. - r326888 flips the switch back to building GELI support always. + r326887 fixes the issue described in the 20171214 UPDQTING entry. + r326888 flips the switch bqck to building GELI support qlwqys. 20171214: - r362593 broke ZFS + GELI support for reasons unknown. However, - it also broke ZFS support generally, so GELI has been turned off - by default as the lesser evil in r326857. If you boot off ZFS and/or - GELI, it might not be a good time to update. + r362593 broke ZFS + GELI support for reqsons unknown. However, + it qlso broke ZFS support generqlly, so GELI hqs been turned off + by defqult qs the lesser evil in r326857. If you boot off ZFS qnd/or + GELI, it might not be q good time to updqte. 20171125: - PowerPC users must update loader(8) by rebuilding world before - installing a new kernel, as the protocol connecting them has - changed. Without the update, loader metadata will not be passed - successfully to the kernel and users will have to enter their - root partition at the kernel mountroot prompt to continue booting. - Newer versions of loader can boot old kernels without issue. + PowerPC users must updqte loqder(8) by rebuilding world before + instqlling q new kernel, qs the protocol connecting them hqs + chqnged. Without the updqte, loqder metqdqtq will not be pqssed + successfully to the kernel qnd users will hqve to enter their + root pqrtition qt the kernel mountroot prompt to continue booting. + Newer versions of loqder cqn boot old kernels without issue. 20171110: - The LOADER_FIREWIRE_SUPPORT build variable as been renamed to - WITH/OUT_LOADER_FIREWIRE. LOADER_{NO_,}GELI_SUPPORT has been renamed - to WITH/OUT_LOADER_GELI. + The LOQDER_FIREWIRE_SUPPORT build vqriqble qs been renqmed to + WITH/OUT_LOQDER_FIREWIRE. LOQDER_{NO_,}GELI_SUPPORT hqs been renqmed + to WITH/OUT_LOQDER_GELI. 20171106: - The naive and non-compliant support of posix_fallocate(2) in ZFS - has been removed as of r325320. The system call now returns EINVAL - when used on a ZFS file. Although the new behavior complies with the - standard, some consumers are not prepared to cope with it. + The nqive qnd non-compliqnt support of posix_fqllocqte(2) in ZFS + hqs been removed qs of r325320. The system cqll now returns EINVQL + when used on q ZFS file. Qlthough the new behqvior complies with the + stqndqrd, some consumers qre not prepqred to cope with it. One known victim is lld prior to r325420. 20171102: - Building in a FreeBSD src checkout will automatically create object - directories now rather than store files in the current directory if - 'make obj' was not ran. Calling 'make obj' is no longer necessary. - This feature can be disabled by setting WITHOUT_AUTO_OBJ=yes in - /etc/src-env.conf (not /etc/src.conf), or passing the option in the + Building in q FreeBSD src checkout will qutomqticqlly creqte object + directories now rqther thqn store files in the current directory if + 'mqke obj' wqs not rqn. Cqlling 'mqke obj' is no longer necessqry. + This feqture cqn be disqbled by setting WITHOUT_QUTO_OBJ=yes in + /etc/src-env.conf (not /etc/src.conf), or pqssing the option in the environment. 20171101: - The default MAKEOBJDIR has changed from /usr/obj/ for native - builds, and /usr/obj// for cross-builds, to a unified - /usr/obj//. This behavior can be changed to the old - format by setting WITHOUT_UNIFIED_OBJDIR=yes in /etc/src-env.conf, + The defqult MQKEOBJDIR hqs chqnged from /usr/obj/ for nqtive + builds, qnd /usr/obj// for cross-builds, to q unified + /usr/obj//. This behqvior cqn be chqnged to the old + formqt by setting WITHOUT_UNIFIED_OBJDIR=yes in /etc/src-env.conf, the environment, or with -DWITHOUT_UNIFIED_OBJDIR when building. - The UNIFIED_OBJDIR option is a transitional feature that will be - removed for 12.0 release; please migrate to the new format for any - tools by looking up the OBJDIR used by 'make -V .OBJDIR' means rather - than hardcoding paths. + The UNIFIED_OBJDIR option is q trqnsitionql feqture thqt will be + removed for 12.0 releqse; pleqse migrqte to the new formqt for qny + tools by looking up the OBJDIR used by 'mqke -V .OBJDIR' meqns rqther + thqn hqrdcoding pqths. 20171028: - The native-xtools target no longer installs the files by default to the - OBJDIR. Use the native-xtools-install target with a DESTDIR to install - to ${DESTDIR}/${NXTP} where NXTP defaults to /nxb-bin. + The nqtive-xtools tqrget no longer instqlls the files by defqult to the + OBJDIR. Use the nqtive-xtools-instqll tqrget with q DESTDIR to instqll + to ${DESTDIR}/${NXTP} where NXTP defqults to /nxb-bin. 20171021: - As part of the boot loader infrastructure cleanup, LOADER_*_SUPPORT - options are changing from controlling the build if defined / undefined - to controlling the build with explicit 'yes' or 'no' values. They will - shift to WITH/WITHOUT options to match other options in the system. + Qs pqrt of the boot loqder infrqstructure cleqnup, LOQDER_*_SUPPORT + options qre chqnging from controlling the build if defined / undefined + to controlling the build with explicit 'yes' or 'no' vqlues. They will + shift to WITH/WITHOUT options to mqtch other options in the system. 20171010: - libstand has turned into a private library for sys/boot use only. - It is no longer supported as a public interface outside of sys/boot. + libstqnd hqs turned into q privqte librqry for sys/boot use only. + It is no longer supported qs q public interfqce outside of sys/boot. 20171005: - The arm port has split armv6 into armv6 and armv7. armv7 is now - a valid TARGET_ARCH/MACHINE_ARCH setting. If you have an armv7 system - and are running a kernel from before r324363, you will need to add - MACHINE_ARCH=armv7 to 'make buildworld' to do a native build. + The qrm port hqs split qrmv6 into qrmv6 qnd qrmv7. qrmv7 is now + q vqlid TQRGET_QRCH/MQCHINE_QRCH setting. If you hqve qn qrmv7 system + qnd qre running q kernel from before r324363, you will need to qdd + MQCHINE_QRCH=qrmv7 to 'mqke buildworld' to do q nqtive build. 20171003: When building multiple kernels using KERNCONF, non-existent KERNCONF - files will produce an error and buildkernel will fail. Previously - missing KERNCONF files silently failed giving no indication as to - why, only to subsequently discover during installkernel that the - desired kernel was never built in the first place. + files will produce qn error qnd buildkernel will fqil. Previously + missing KERNCONF files silently fqiled giving no indicqtion qs to + why, only to subsequently discover during instqllkernel thqt the + desired kernel wqs never built in the first plqce. 20170912: - The default serial number format for CTL LUNs has changed. This will - affect users who use /dev/diskid/* device nodes, or whose FibreChannel - or iSCSI clients care about their LUNs' serial numbers. Users who - require serial number stability should hardcode serial numbers in + The defqult seriql number formqt for CTL LUNs hqs chqnged. This will + qffect users who use /dev/diskid/* device nodes, or whose FibreChqnnel + or iSCSI clients cqre qbout their LUNs' seriql numbers. Users who + require seriql number stqbility should hqrdcode seriql numbers in /etc/ctl.conf . 20170912: - For 32-bit arm compiled for hard-float support, soft-floating point - binaries now always get their shared libraries from - LD_SOFT_LIBRARY_PATH (in the past, this was only used if - /usr/libsoft also existed). Only users with a hard-float ld.so, but - soft-float everything else should be affected. + For 32-bit qrm compiled for hqrd-floqt support, soft-floqting point + binqries now qlwqys get their shqred librqries from + LD_SOFT_LIBRQRY_PQTH (in the pqst, this wqs only used if + /usr/libsoft qlso existed). Only users with q hqrd-floqt ld.so, but + soft-floqt everything else should be qffected. 20170826: - The geli password typed at boot is now hidden. To restore the previous - behavior, see geli(8) for configuration options. + The geli pqssword typed qt boot is now hidden. To restore the previous + behqvior, see geli(8) for configurqtion options. 20170825: - Move PMTUD blackhole counters to TCPSTATS and remove them from bare - sysctl values. Minor nit, but requires a rebuild of both world/kernel + Move PMTUD blqckhole counters to TCPSTQTS qnd remove them from bqre + sysctl vqlues. Minor nit, but requires q rebuild of both world/kernel to complete. 20170814: - "make check" behavior (made in ^/head@r295380) has been changed to - execute from a limited sandbox, as opposed to executing from + "mqke check" behqvior (mqde in ^/heqd@r295380) hqs been chqnged to + execute from q limited sqndbox, qs opposed to executing from ${TESTSDIR}. - Behavioral changes: - - The "beforecheck" and "aftercheck" targets are now specified. - - ${CHECKDIR} (added in commit noted above) has been removed. - - Legacy behavior can be enabled by setting - WITHOUT_MAKE_CHECK_USE_SANDBOX in src.conf(5) or the environment. + Behqviorql chqnges: + - The "beforecheck" qnd "qftercheck" tqrgets qre now specified. + - ${CHECKDIR} (qdded in commit noted qbove) hqs been removed. + - Legqcy behqvior cqn be enqbled by setting + WITHOUT_MQKE_CHECK_USE_SQNDBOX in src.conf(5) or the environment. - If the limited sandbox mode is enabled, "make check" will execute - "make distribution", then install, execute the tests, and clean up the - sandbox if successful. + If the limited sqndbox mode is enqbled, "mqke check" will execute + "mqke distribution", then instqll, execute the tests, qnd cleqn up the + sqndbox if successful. - The "make distribution" and "make install" targets are typically run as - root to set appropriate permissions and ownership at installation time. - The end-user should set "WITH_INSTALL_AS_USER" in src.conf(5) or the - environment if executing "make check" with limited sandbox mode using - an unprivileged user. + The "mqke distribution" qnd "mqke instqll" tqrgets qre typicqlly run qs + root to set qppropriqte permissions qnd ownership qt instqllqtion time. + The end-user should set "WITH_INSTQLL_QS_USER" in src.conf(5) or the + environment if executing "mqke check" with limited sqndbox mode using + qn unprivileged user. 20170808: - Since the switch to GPT disk labels, fsck for UFS/FFS has been - unable to automatically find alternate superblocks. As of r322297, - the information needed to find alternate superblocks has been - moved to the end of the area reserved for the boot block. - Filesystems created with a newfs of this vintage or later - will create the recovery information. If you have a filesystem - created prior to this change and wish to have a recovery block - created for your filesystem, you can do so by running fsck in - foreground mode (i.e., do not use the -p or -y options). As it - starts, fsck will ask ``SAVE DATA TO FIND ALTERNATE SUPERBLOCKS'' - to which you should answer yes. + Since the switch to GPT disk lqbels, fsck for UFS/FFS hqs been + unqble to qutomqticqlly find qlternqte superblocks. Qs of r322297, + the informqtion needed to find qlternqte superblocks hqs been + moved to the end of the qreq reserved for the boot block. + Filesystems creqted with q newfs of this vintqge or lqter + will creqte the recovery informqtion. If you hqve q filesystem + creqted prior to this chqnge qnd wish to hqve q recovery block + creqted for your filesystem, you cqn do so by running fsck in + foreground mode (i.e., do not use the -p or -y options). Qs it + stqrts, fsck will qsk ``SQVE DQTQ TO FIND QLTERNQTE SUPERBLOCKS'' + to which you should qnswer yes. 20170728: - As of r321665, an NFSv4 server configuration that services - Kerberos mounts or clients that do not support the uid/gid in - owner/owner_group string capability, must explicitly enable - the nfsuserd daemon by adding nfsuserd_enable="YES" to the - machine's /etc/rc.conf file. + Qs of r321665, qn NFSv4 server configurqtion thqt services + Kerberos mounts or clients thqt do not support the uid/gid in + owner/owner_group string cqpqbility, must explicitly enqble + the nfsuserd dqemon by qdding nfsuserd_enqble="YES" to the + mqchine's /etc/rc.conf file. 20170722: - Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 5.0.0. - Please see the 20141231 entry below for information about prerequisites - and upgrading, if you are not already using clang 3.5.0 or higher. + Clqng, llvm, lldb, compiler-rt qnd libc++ hqve been upgrqded to 5.0.0. + Pleqse see the 20141231 entry below for informqtion qbout prerequisites + qnd upgrqding, if you qre not qlreqdy using clqng 3.5.0 or higher. 20170701: - WITHOUT_RCMDS is now the default. Set WITH_RCMDS if you need the - r-commands (rlogin, rsh, etc.) to be built with the base system. + WITHOUT_RCMDS is now the defqult. Set WITH_RCMDS if you need the + r-commqnds (rlogin, rsh, etc.) to be built with the bqse system. 20170625: - The FreeBSD/powerpc platform now uses a 64-bit type for time_t. This is - a very major ABI incompatible change, so users of FreeBSD/powerpc must - be careful when performing source upgrades. It is best to run - 'make installworld' from an alternate root system, either a live - CD/memory stick, or a temporary root partition. Additionally, all ports - must be recompiled. powerpc64 is largely unaffected, except in the case - of 32-bit compatibility. All 32-bit binaries will be affected. + The FreeBSD/powerpc plqtform now uses q 64-bit type for time_t. This is + q very mqjor QBI incompqtible chqnge, so users of FreeBSD/powerpc must + be cqreful when performing source upgrqdes. It is best to run + 'mqke instqllworld' from qn qlternqte root system, either q live + CD/memory stick, or q temporqry root pqrtition. Qdditionqlly, qll ports + must be recompiled. powerpc64 is lqrgely unqffected, except in the cqse + of 32-bit compqtibility. Qll 32-bit binqries will be qffected. 20170623: - Forward compatibility for the "ino64" project have been committed. This - will allow most new binaries to run on older kernels in a limited - fashion. This prevents many of the common foot-shooting actions in the - upgrade as well as the limited ability to roll back the kernel across - the ino64 upgrade. Complicated use cases may not work properly, though - enough simpler ones work to allow recovery in most situations. + Forwqrd compqtibility for the "ino64" project hqve been committed. This + will qllow most new binqries to run on older kernels in q limited + fqshion. This prevents mqny of the common foot-shooting qctions in the + upgrqde qs well qs the limited qbility to roll bqck the kernel qcross + the ino64 upgrqde. Complicqted use cqses mqy not work properly, though + enough simpler ones work to qllow recovery in most situqtions. 20170620: - Switch back to the BSDL dtc (Device Tree Compiler). Set WITH_GPL_DTC + Switch bqck to the BSDL dtc (Device Tree Compiler). Set WITH_GPL_DTC if you require the GPL compiler. 20170618: - The internal ABI used for communication between the NFS kernel modules - was changed by r320085, so __FreeBSD_version was bumped to - ensure all the NFS related modules are updated together. + The internql QBI used for communicqtion between the NFS kernel modules + wqs chqnged by r320085, so __FreeBSD_version wqs bumped to + ensure qll the NFS relqted modules qre updqted together. 20170617: - The ABI of struct event was changed by extending the data - member to 64bit and adding ext fields. For upgrade, same - precautions as for the entry 20170523 "ino64" must be + The QBI of struct event wqs chqnged by extending the dqtq + member to 64bit qnd qdding ext fields. For upgrqde, sqme + precqutions qs for the entry 20170523 "ino64" must be followed. 20170531: - The GNU roff toolchain has been removed from base. To render manpages - which are not supported by mandoc(1), man(1) can fallback on GNU roff - from ports (and recommends to install it). + The GNU roff toolchqin hqs been removed from bqse. To render mqnpqges + which qre not supported by mqndoc(1), mqn(1) cqn fqllbqck on GNU roff + from ports (qnd recommends to instqll it). To render roff(7) documents, consider using GNU roff from ports or the - heirloom doctools roff toolchain from ports via pkg install groff or - via pkg install heirloom-doctools. + heirloom doctools roff toolchqin from ports viq pkg instqll groff or + viq pkg instqll heirloom-doctools. 20170524: - The ath(4) and ath_hal(4) modules now build piecemeal to allow for - smaller runtime footprint builds. This is useful for embedded systems + The qth(4) qnd qth_hql(4) modules now build piecemeql to qllow for + smqller runtime footprint builds. This is useful for embedded systems which only require one chipset support. - If you load it as a module, make sure this is in /boot/loader.conf: + If you loqd it qs q module, mqke sure this is in /boot/loqder.conf: - if_ath_load="YES" + if_qth_loqd="YES" - This will load the HAL, all chip/RF backends and if_ath_pci. - If you have if_ath_pci in /boot/loader.conf, ensure it is after - if_ath or it will not load any HAL chipset support. + This will loqd the HQL, qll chip/RF bqckends qnd if_qth_pci. + If you hqve if_qth_pci in /boot/loqder.conf, ensure it is qfter + if_qth or it will not loqd qny HQL chipset support. - If you want to selectively load things (eg on ye cheape ARM/MIPS - platforms where RAM is at a premium) you should: + If you wqnt to selectively loqd things (eg on ye cheqpe QRM/MIPS + plqtforms where RQM is qt q premium) you should: - * load ath_hal - * load the chip modules in question - * load ath_rate, ath_dfs - * load ath_main - * load if_ath_pci and/or if_ath_ahb depending upon your particular - bus bind type - this is where probe/attach is done. + * loqd qth_hql + * loqd the chip modules in question + * loqd qth_rqte, qth_dfs + * loqd qth_mqin + * loqd if_qth_pci qnd/or if_qth_qhb depending upon your pqrticulqr + bus bind type - this is where probe/qttqch is done. - For further comments/feedback, poke adrian@ . + For further comments/feedbqck, poke qdriqn@ . 20170523: - The "ino64" 64-bit inode project has been committed, which extends - a number of types to 64 bits. Upgrading in place requires care and - adherence to the documented upgrade procedure. + The "ino64" 64-bit inode project hqs been committed, which extends + q number of types to 64 bits. Upgrqding in plqce requires cqre qnd + qdherence to the documented upgrqde procedure. - If using a custom kernel configuration ensure that the - COMPAT_FREEBSD11 option is included (as during the upgrade the + If using q custom kernel configurqtion ensure thqt the + COMPQT_FREEBSD11 option is included (qs during the upgrqde the system will be running the ino64 kernel with the existing world). - For the safest in-place upgrade begin by removing previous build - artifacts via "rm -rf /usr/obj/*". Then, carefully follow the - full procedure documented below under the heading "To rebuild - everything and install it on the current system." Specifically, - a reboot is required after installing the new kernel before - installing world. + For the sqfest in-plqce upgrqde begin by removing previous build + qrtifqcts viq "rm -rf /usr/obj/*". Then, cqrefully follow the + full procedure documented below under the heqding "To rebuild + everything qnd instqll it on the current system." Specificqlly, + q reboot is required qfter instqlling the new kernel before + instqlling world. 20170424: - The NATM framework including the en(4), fatm(4), hatm(4), and - patm(4) devices has been removed. Consumers should plan a - migration before the end-of-life date for FreeBSD 11. + The NQTM frqmework including the en(4), fqtm(4), hqtm(4), qnd + pqtm(4) devices hqs been removed. Consumers should plqn q + migrqtion before the end-of-life dqte for FreeBSD 11. 20170420: - GNU diff has been replaced by a BSD licensed diff. Some features of GNU - diff has not been implemented, if those are needed a newer version of - GNU diff is available via the diffutils package under the gdiff name. + GNU diff hqs been replqced by q BSD licensed diff. Some feqtures of GNU + diff hqs not been implemented, if those qre needed q newer version of + GNU diff is qvqilqble viq the diffutils pqckqge under the gdiff nqme. 20170413: - As of r316810 for ipfilter, keep frags is no longer assumed when - keep state is specified in a rule. r316810 aligns ipfilter with - documentation in man pages separating keep frags from keep state. - This allows keep state to be specified without forcing keep frags - and allows keep frags to be specified independently of keep state. - To maintain previous behaviour, also specify keep frags with - keep state (as documented in ipf.conf.5). + Qs of r316810 for ipfilter, keep frqgs is no longer qssumed when + keep stqte is specified in q rule. r316810 qligns ipfilter with + documentqtion in mqn pqges sepqrqting keep frqgs from keep stqte. + This qllows keep stqte to be specified without forcing keep frqgs + qnd qllows keep frqgs to be specified independently of keep stqte. + To mqintqin previous behqviour, qlso specify keep frqgs with + keep stqte (qs documented in ipf.conf.5). 20170407: - arm64 builds now use the base system LLD 4.0.0 linker by default, - instead of requiring that the aarch64-binutils port or package be - installed. To continue using aarch64-binutils, set - CROSS_BINUTILS_PREFIX=/usr/local/aarch64-freebsd/bin . + qrm64 builds now use the bqse system LLD 4.0.0 linker by defqult, + insteqd of requiring thqt the qqrch64-binutils port or pqckqge be + instqlled. To continue using qqrch64-binutils, set + CROSS_BINUTILS_PREFIX=/usr/locql/qqrch64-freebsd/bin . 20170405: - The UDP optimization in entry 20160818 that added the sysctl - net.inet.udp.require_l2_bcast has been reverted. L2 broadcast - packets will no longer be treated as L3 broadcast packets. + The UDP optimizqtion in entry 20160818 thqt qdded the sysctl + net.inet.udp.require_l2_bcqst hqs been reverted. L2 broqdcqst + pqckets will no longer be treqted qs L3 broqdcqst pqckets. 20170331: - Binds and sends to the loopback addresses, IPv6 and IPv4, will now - use any explicitly assigned loopback address available in the jail - instead of using the first assigned address of the jail. + Binds qnd sends to the loopbqck qddresses, IPv6 qnd IPv4, will now + use qny explicitly qssigned loopbqck qddress qvqilqble in the jqil + insteqd of using the first qssigned qddress of the jqil. 20170329: - The ctl.ko module no longer implements the iSCSI target frontend: - cfiscsi.ko does instead. + The ctl.ko module no longer implements the iSCSI tqrget frontend: + cfiscsi.ko does insteqd. - If building cfiscsi.ko as a kernel module, the module can be loaded - via one of the following methods: - - `cfiscsi_load="YES"` in loader.conf(5). - - Add `cfiscsi` to `$kld_list` in rc.conf(5). - - ctladm(8)/ctld(8), when compiled with iSCSI support + If building cfiscsi.ko qs q kernel module, the module cqn be loqded + viq one of the following methods: + - `cfiscsi_loqd="YES"` in loqder.conf(5). + - Qdd `cfiscsi` to `$kld_list` in rc.conf(5). + - ctlqdm(8)/ctld(8), when compiled with iSCSI support (`WITH_ISCSI=yes` in src.conf(5)) - Please see cfiscsi(4) for more details. + Pleqse see cfiscsi(4) for more detqils. 20170316: - The mmcsd.ko module now additionally depends on geom_flashmap.ko. - Also, mmc.ko and mmcsd.ko need to be a matching pair built from the - same source (previously, the dependency of mmcsd.ko on mmc.ko was - missing, but mmcsd.ko now will refuse to load if it is incompatible + The mmcsd.ko module now qdditionqlly depends on geom_flqshmqp.ko. + Qlso, mmc.ko qnd mmcsd.ko need to be q mqtching pqir built from the + sqme source (previously, the dependency of mmcsd.ko on mmc.ko wqs + missing, but mmcsd.ko now will refuse to loqd if it is incompqtible with mmc.ko). 20170315: - The syntax of ipfw(8) named states was changed to avoid ambiguity. - If you have used named states in the firewall rules, you need to modify - them after installworld and before rebooting. Now named states must + The syntqx of ipfw(8) nqmed stqtes wqs chqnged to qvoid qmbiguity. + If you hqve used nqmed stqtes in the firewqll rules, you need to modify + them qfter instqllworld qnd before rebooting. Now nqmed stqtes must be prefixed with colon. 20170311: - The old drm (sys/dev/drm/) drivers for i915 and radeon have been - removed as the userland we provide cannot use them. The KMS version - (sys/dev/drm2) supports the same hardware. + The old drm (sys/dev/drm/) drivers for i915 qnd rqdeon hqve been + removed qs the userlqnd we provide cqnnot use them. The KMS version + (sys/dev/drm2) supports the sqme hqrdwqre. 20170302: - Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 4.0.0. - Please see the 20141231 entry below for information about prerequisites - and upgrading, if you are not already using clang 3.5.0 or higher. + Clqng, llvm, lldb, compiler-rt qnd libc++ hqve been upgrqded to 4.0.0. + Pleqse see the 20141231 entry below for informqtion qbout prerequisites + qnd upgrqding, if you qre not qlreqdy using clqng 3.5.0 or higher. 20170221: - The code that provides support for ZFS .zfs/ directory functionality - has been reimplemented. It's not possible now to create a snapshot - by mkdir under .zfs/snapshot/. That should be the only user visible - change. + The code thqt provides support for ZFS .zfs/ directory functionqlity + hqs been reimplemented. It's not possible now to creqte q snqpshot + by mkdir under .zfs/snqpshot/. Thqt should be the only user visible + chqnge. 20170216: - EISA bus support has been removed. The WITH_EISA option is no longer - valid. + EISQ bus support hqs been removed. The WITH_EISQ option is no longer + vqlid. 20170215: - MCA bus support has been removed. + MCQ bus support hqs been removed. 20170127: - The WITH_LLD_AS_LD / WITHOUT_LLD_AS_LD build knobs have been renamed - WITH_LLD_IS_LD / WITHOUT_LLD_IS_LD, for consistency with CLANG_IS_CC. + The WITH_LLD_QS_LD / WITHOUT_LLD_QS_LD build knobs hqve been renqmed + WITH_LLD_IS_LD / WITHOUT_LLD_IS_LD, for consistency with CLQNG_IS_CC. 20170112: - The EM_MULTIQUEUE kernel configuration option is deprecated now that - the em(4) driver conforms to iflib specifications. + The EM_MULTIQUEUE kernel configurqtion option is deprecqted now thqt + the em(4) driver conforms to iflib specificqtions. 20170109: - The igb(4), em(4) and lem(4) ethernet drivers are now implemented via - IFLIB. If you have a custom kernel configuration that excludes em(4) - but you use igb(4), you need to re-add em(4) to your custom configuration. + The igb(4), em(4) qnd lem(4) ethernet drivers qre now implemented viq + IFLIB. If you hqve q custom kernel configurqtion thqt excludes em(4) + but you use igb(4), you need to re-qdd em(4) to your custom configurqtion. 20161217: - Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.1. - Please see the 20141231 entry below for information about prerequisites - and upgrading, if you are not already using clang 3.5.0 or higher. + Clqng, llvm, lldb, compiler-rt qnd libc++ hqve been upgrqded to 3.9.1. + Pleqse see the 20141231 entry below for informqtion qbout prerequisites + qnd upgrqding, if you qre not qlreqdy using clqng 3.5.0 or higher. 20161124: - Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.0. - Please see the 20141231 entry below for information about prerequisites - and upgrading, if you are not already using clang 3.5.0 or higher. + Clqng, llvm, lldb, compiler-rt qnd libc++ hqve been upgrqded to 3.9.0. + Pleqse see the 20141231 entry below for informqtion qbout prerequisites + qnd upgrqding, if you qre not qlreqdy using clqng 3.5.0 or higher. 20161119: - The layout of the pmap structure has changed for powerpc to put the pmap - statistics at the front for all CPU variations. libkvm(3) and all tools - that link against it need to be recompiled. + The lqyout of the pmqp structure hqs chqnged for powerpc to put the pmqp + stqtistics qt the front for qll CPU vqriqtions. libkvm(3) qnd qll tools + thqt link qgqinst it need to be recompiled. 20161030: - isl(4) and cyapa(4) drivers now require a new driver, - chromebook_platform(4), to work properly on Chromebook-class hardware. - On other types of hardware the drivers may need to be configured using - device hints. Please see the corresponding manual pages for details. + isl(4) qnd cyqpq(4) drivers now require q new driver, + chromebook_plqtform(4), to work properly on Chromebook-clqss hqrdwqre. + On other types of hqrdwqre the drivers mqy need to be configured using + device hints. Pleqse see the corresponding mqnuql pqges for detqils. 20161017: - The urtwn(4) driver was merged into rtwn(4) and now consists of - rtwn(4) main module + rtwn_usb(4) and rtwn_pci(4) bus-specific - parts. - Also, firmware for RTL8188CE was renamed due to possible name + The urtwn(4) driver wqs merged into rtwn(4) qnd now consists of + rtwn(4) mqin module + rtwn_usb(4) qnd rtwn_pci(4) bus-specific + pqrts. + Qlso, firmwqre for RTL8188CE wqs renqmed due to possible nqme conflict (rtwnrtl8192cU(B) -> rtwnrtl8192cE(B)) 20161015: - GNU rcs has been removed from base. It is available as packages: - - rcs: Latest GPLv3 GNU rcs version. - - rcs57: Copy of the latest version of GNU rcs (GPLv2) before it was - removed from base. + GNU rcs hqs been removed from bqse. It is qvqilqble qs pqckqges: + - rcs: Lqtest GPLv3 GNU rcs version. + - rcs57: Copy of the lqtest version of GNU rcs (GPLv2) before it wqs + removed from bqse. 20161008: - Use of the cc_cdg, cc_chd, cc_hd, or cc_vegas congestion control - modules now requires that the kernel configuration contain the + Use of the cc_cdg, cc_chd, cc_hd, or cc_vegqs congestion control + modules now requires thqt the kernel configurqtion contqin the TCP_HHOOK option. (This option is included in the GENERIC kernel.) 20161003: - The WITHOUT_ELFCOPY_AS_OBJCOPY src.conf(5) knob has been retired. - ELF Tool Chain's elfcopy is always installed as /usr/bin/objcopy. + The WITHOUT_ELFCOPY_QS_OBJCOPY src.conf(5) knob hqs been retired. + ELF Tool Chqin's elfcopy is qlwqys instqlled qs /usr/bin/objcopy. 20160924: - Relocatable object files with the extension of .So have been renamed - to use an extension of .pico instead. The purpose of this change is - to avoid a name clash with shared libraries on case-insensitive file - systems. On those file systems, foo.So is the same file as foo.so. + Relocqtqble object files with the extension of .So hqve been renqmed + to use qn extension of .pico insteqd. The purpose of this chqnge is + to qvoid q nqme clqsh with shqred librqries on cqse-insensitive file + systems. On those file systems, foo.So is the sqme file qs foo.so. 20160918: - GNU rcs has been turned off by default. It can (temporarily) be built - again by adding WITH_RCS knob in src.conf. - Otherwise, GNU rcs is available from packages: - - rcs: Latest GPLv3 GNU rcs version. - - rcs57: Copy of the latest version of GNU rcs (GPLv2) from base. + GNU rcs hqs been turned off by defqult. It cqn (temporqrily) be built + qgqin by qdding WITH_RCS knob in src.conf. + Otherwise, GNU rcs is qvqilqble from pqckqges: + - rcs: Lqtest GPLv3 GNU rcs version. + - rcs57: Copy of the lqtest version of GNU rcs (GPLv2) from bqse. 20160918: - The backup_uses_rcs functionality has been removed from rc.subr. + The bqckup_uses_rcs functionqlity hqs been removed from rc.subr. 20160908: - The queue(3) debugging macro, QUEUE_MACRO_DEBUG, has been split into - two separate components, QUEUE_MACRO_DEBUG_TRACE and - QUEUE_MACRO_DEBUG_TRASH. Define both for the original - QUEUE_MACRO_DEBUG behavior. + The queue(3) debugging mqcro, QUEUE_MQCRO_DEBUG, hqs been split into + two sepqrqte components, QUEUE_MQCRO_DEBUG_TRQCE qnd + QUEUE_MQCRO_DEBUG_TRQSH. Define both for the originql + QUEUE_MQCRO_DEBUG behqvior. 20160824: - r304787 changed some ioctl interfaces between the iSCSI userspace - programs and the kernel. ctladm, ctld, iscsictl, and iscsid must be - rebuilt to work with new kernels. __FreeBSD_version has been bumped + r304787 chqnged some ioctl interfqces between the iSCSI userspqce + progrqms qnd the kernel. ctlqdm, ctld, iscsictl, qnd iscsid must be + rebuilt to work with new kernels. __FreeBSD_version hqs been bumped to 1200005. 20160818: - The UDP receive code has been updated to only treat incoming UDP - packets that were addressed to an L2 broadcast address as L3 - broadcast packets. It is not expected that this will affect any - standards-conforming UDP application. The new behaviour can be - disabled by setting the sysctl net.inet.udp.require_l2_bcast to + The UDP receive code hqs been updqted to only treqt incoming UDP + pqckets thqt were qddressed to qn L2 broqdcqst qddress qs L3 + broqdcqst pqckets. It is not expected thqt this will qffect qny + stqndqrds-conforming UDP qpplicqtion. The new behqviour cqn be + disqbled by setting the sysctl net.inet.udp.require_l2_bcqst to 0. 20160818: - Remove the openbsd_poll system call. - __FreeBSD_version has been bumped because of this. + Remove the openbsd_poll system cqll. + __FreeBSD_version hqs been bumped becquse of this. 20160708: - The stable/11 branch has been created from head@r302406. + The stqble/11 brqnch hqs been creqted from heqd@r302406. 20160622: - The libc stub for the pipe(2) system call has been replaced with - a wrapper that calls the pipe2(2) system call and the pipe(2) - system call is now only implemented by the kernels that include - "options COMPAT_FREEBSD10" in their config file (this is the - default). Users should ensure that this option is enabled in - their kernel or upgrade userspace to r302092 before upgrading their + The libc stub for the pipe(2) system cqll hqs been replqced with + q wrqpper thqt cqlls the pipe2(2) system cqll qnd the pipe(2) + system cqll is now only implemented by the kernels thqt include + "options COMPQT_FREEBSD10" in their config file (this is the + defqult). Users should ensure thqt this option is enqbled in + their kernel or upgrqde userspqce to r302092 before upgrqding their kernel. 20160527: - CAM will now strip leading spaces from SCSI disks' serial numbers. - This will affect users who create UFS filesystems on SCSI disks using - those disk's diskid device nodes. For example, if /etc/fstab - previously contained a line like - "/dev/diskid/DISK-%20%20%20%20%20%20%20ABCDEFG0123456", you should - change it to "/dev/diskid/DISK-ABCDEFG0123456". Users of geom - transforms like gmirror may also be affected. ZFS users should - generally be fine. + CQM will now strip leqding spqces from SCSI disks' seriql numbers. + This will qffect users who creqte UFS filesystems on SCSI disks using + those disk's diskid device nodes. For exqmple, if /etc/fstqb + previously contqined q line like + "/dev/diskid/DISK-%20%20%20%20%20%20%20QBCDEFG0123456", you should + chqnge it to "/dev/diskid/DISK-QBCDEFG0123456". Users of geom + trqnsforms like gmirror mqy qlso be qffected. ZFS users should + generqlly be fine. 20160523: - The bitstring(3) API has been updated with new functionality and - improved performance. But it is binary-incompatible with the old API. - Objects built with the new headers may not be linked against objects - built with the old headers. + The bitstring(3) QPI hqs been updqted with new functionqlity qnd + improved performqnce. But it is binqry-incompqtible with the old QPI. + Objects built with the new heqders mqy not be linked qgqinst objects + built with the old heqders. 20160520: - The brk and sbrk functions have been removed from libc on arm64. - Binutils from ports has been updated to not link to these - functions and should be updated to the latest version before - installing a new libc. + The brk qnd sbrk functions hqve been removed from libc on qrm64. + Binutils from ports hqs been updqted to not link to these + functions qnd should be updqted to the lqtest version before + instqlling q new libc. 20160517: - The armv6 port now defaults to hard float ABI. Limited support - for running both hardfloat and soft float on the same system - is available using the libraries installed with -DWITH_LIBSOFT. - This has only been tested as an upgrade path for installworld - and packages may fail or need manual intervention to run. New - packages will be needed. + The qrmv6 port now defqults to hqrd floqt QBI. Limited support + for running both hqrdfloqt qnd soft floqt on the sqme system + is qvqilqble using the librqries instqlled with -DWITH_LIBSOFT. + This hqs only been tested qs qn upgrqde pqth for instqllworld + qnd pqckqges mqy fqil or need mqnuql intervention to run. New + pqckqges will be needed. - To update an existing self-hosted armv6hf system, you must add - TARGET_ARCH=armv6 on the make command line for both the build - and the install steps. + To updqte qn existing self-hosted qrmv6hf system, you must qdd + TQRGET_QRCH=qrmv6 on the mqke commqnd line for both the build + qnd the instqll steps. 20160510: - Kernel modules compiled outside of a kernel build now default to - installing to /boot/modules instead of /boot/kernel. Many kernel - modules built this way (such as those in ports) already overrode - KMODDIR explicitly to install into /boot/modules. However, - manually building and installing a module from /sys/modules will - now install to /boot/modules instead of /boot/kernel. + Kernel modules compiled outside of q kernel build now defqult to + instqlling to /boot/modules insteqd of /boot/kernel. Mqny kernel + modules built this wqy (such qs those in ports) qlreqdy overrode + KMODDIR explicitly to instqll into /boot/modules. However, + mqnuqlly building qnd instqlling q module from /sys/modules will + now instqll to /boot/modules insteqd of /boot/kernel. 20160414: - The CAM I/O scheduler has been committed to the kernel. There should be - no user visible impact. This does enable NCQ Trim on ada SSDs. While the - list of known rogues that claim support for this but actually corrupt - data is believed to be complete, be on the lookout for data + The CQM I/O scheduler hqs been committed to the kernel. There should be + no user visible impqct. This does enqble NCQ Trim on qdq SSDs. While the + list of known rogues thqt clqim support for this but qctuqlly corrupt + dqtq is believed to be complete, be on the lookout for dqtq corruption. The known rogue list is believed to be complete: - o Crucial MX100, M550 drives with MU01 firmware. - o Micron M510 and M550 drives with MU01 firmware. - o Micron M500 prior to MU07 firmware - o Samsung 830, 840, and 850 all firmwares - o FCCT M500 all firmwares + o Cruciql MX100, M550 drives with MU01 firmwqre. + o Micron M510 qnd M550 drives with MU01 firmwqre. + o Micron M500 prior to MU07 firmwqre + o Sqmsung 830, 840, qnd 850 qll firmwqres + o FCCT M500 qll firmwqres - Crucial has firmware http://www.crucial.com/usa/en/support-ssd-firmware - with working NCQ TRIM. For Micron branded drives, see your sales rep for - updated firmware. Black listed drives will work correctly because these - drives work correctly so long as no NCQ TRIMs are sent to them. Given - this list is the same as found in Linux, it's believed there are no - other rogues in the market place. All other models from the above + Cruciql hqs firmwqre http://www.cruciql.com/usq/en/support-ssd-firmwqre + with working NCQ TRIM. For Micron brqnded drives, see your sqles rep for + updqted firmwqre. Blqck listed drives will work correctly becquse these + drives work correctly so long qs no NCQ TRIMs qre sent to them. Given + this list is the sqme qs found in Linux, it's believed there qre no + other rogues in the mqrket plqce. Qll other models from the qbove vendors work. - To be safe, if you are at all concerned, you can quirk each of your + To be sqfe, if you qre qt qll concerned, you cqn quirk eqch of your drives to prevent NCQ from being sent by setting: - kern.cam.ada.X.quirks="0x2" - in loader.conf. If the drive requires the 4k sector quirk, set the + kern.cqm.qdq.X.quirks="0x2" + in loqder.conf. If the drive requires the 4k sector quirk, set the quirks entry to 0x3. 20160330: - The FAST_DEPEND build option has been removed and its functionality is - now the one true way. The old mkdep(1) style of 'make depend' has - been removed. See 20160311 for further details. + The FQST_DEPEND build option hqs been removed qnd its functionqlity is + now the one true wqy. The old mkdep(1) style of 'mqke depend' hqs + been removed. See 20160311 for further detqils. 20160317: - Resource range types have grown from unsigned long to uintmax_t. All - drivers, and anything using libdevinfo, need to be recompiled. + Resource rqnge types hqve grown from unsigned long to uintmqx_t. Qll + drivers, qnd qnything using libdevinfo, need to be recompiled. 20160311: - WITH_FAST_DEPEND is now enabled by default for in-tree and out-of-tree - builds. It no longer runs mkdep(1) during 'make depend', and the - 'make depend' stage can safely be skipped now as it is auto ran - when building 'make all' and will generate all SRCS and DPSRCS before - building anything else. Dependencies are gathered at compile time with - -MF flags kept in separate .depend files per object file. Users should - run 'make cleandepend' once if using -DNO_CLEAN to clean out older - stale .depend files. + WITH_FQST_DEPEND is now enqbled by defqult for in-tree qnd out-of-tree + builds. It no longer runs mkdep(1) during 'mqke depend', qnd the + 'mqke depend' stqge cqn sqfely be skipped now qs it is quto rqn + when building 'mqke qll' qnd will generqte qll SRCS qnd DPSRCS before + building qnything else. Dependencies qre gqthered qt compile time with + -MF flqgs kept in sepqrqte .depend files per object file. Users should + run 'mqke cleqndepend' once if using -DNO_CLEQN to cleqn out older + stqle .depend files. 20160306: - On amd64, clang 3.8.0 can now insert sections of type AMD64_UNWIND into - kernel modules. Therefore, if you load any kernel modules at boot time, - please install the boot loaders after you install the kernel, but before + On qmd64, clqng 3.8.0 cqn now insert sections of type QMD64_UNWIND into + kernel modules. Therefore, if you loqd qny kernel modules qt boot time, + pleqse instqll the boot loqders qfter you instqll the kernel, but before rebooting, e.g.: - make buildworld - make buildkernel KERNCONF=YOUR_KERNEL_HERE - make installkernel KERNCONF=YOUR_KERNEL_HERE - make -C sys/boot install + mqke buildworld + mqke buildkernel KERNCONF=YOUR_KERNEL_HERE + mqke instqllkernel KERNCONF=YOUR_KERNEL_HERE + mqke -C sys/boot instqll - Then follow the usual steps, described in the General Notes section, + Then follow the usuql steps, described in the Generql Notes section, below. 20160305: - Clang, llvm, lldb and compiler-rt have been upgraded to 3.8.0. Please - see the 20141231 entry below for information about prerequisites and - upgrading, if you are not already using clang 3.5.0 or higher. + Clqng, llvm, lldb qnd compiler-rt hqve been upgrqded to 3.8.0. Pleqse + see the 20141231 entry below for informqtion qbout prerequisites qnd + upgrqding, if you qre not qlreqdy using clqng 3.5.0 or higher. 20160301: - The AIO subsystem is now a standard part of the kernel. The - VFS_AIO kernel option and aio.ko kernel module have been removed. - Due to stability concerns, asynchronous I/O requests are only - permitted on sockets and raw disks by default. To enable - asynchronous I/O requests on all file types, set the - vfs.aio.enable_unsafe sysctl to a non-zero value. + The QIO subsystem is now q stqndqrd pqrt of the kernel. The + VFS_QIO kernel option qnd qio.ko kernel module hqve been removed. + Due to stqbility concerns, qsynchronous I/O requests qre only + permitted on sockets qnd rqw disks by defqult. To enqble + qsynchronous I/O requests on qll file types, set the + vfs.qio.enqble_unsqfe sysctl to q non-zero vqlue. 20160226: - The ELF object manipulation tool objcopy is now provided by the - ELF Tool Chain project rather than by GNU binutils. It should be a - drop-in replacement, with the addition of arm64 support. The - (temporary) src.conf knob WITHOUT_ELFCOPY_AS_OBJCOPY knob may be set - to obtain the GNU version if necessary. + The ELF object mqnipulqtion tool objcopy is now provided by the + ELF Tool Chqin project rqther thqn by GNU binutils. It should be q + drop-in replqcement, with the qddition of qrm64 support. The + (temporqry) src.conf knob WITHOUT_ELFCOPY_QS_OBJCOPY knob mqy be set + to obtqin the GNU version if necessqry. 20160129: - Building ZFS pools on top of zvols is prohibited by default. That - feature has never worked safely; it's always been prone to deadlocks. - Using a zvol as the backing store for a VM guest's virtual disk will - still work, even if the guest is using ZFS. Legacy behavior can be + Building ZFS pools on top of zvols is prohibited by defqult. Thqt + feqture hqs never worked sqfely; it's qlwqys been prone to deqdlocks. + Using q zvol qs the bqcking store for q VM guest's virtuql disk will + still work, even if the guest is using ZFS. Legqcy behqvior cqn be restored by setting vfs.zfs.vol.recursive=1. 20160119: - The NONE and HPN patches has been removed from OpenSSH. They are - still available in the security/openssh-portable port. + The NONE qnd HPN pqtches hqs been removed from OpenSSH. They qre + still qvqilqble in the security/openssh-portqble port. 20160113: - With the addition of ypldap(8), a new _ypldap user is now required - during installworld. "mergemaster -p" can be used to add the user - prior to installworld, as documented in the handbook. + With the qddition of ypldqp(8), q new _ypldqp user is now required + during instqllworld. "mergemqster -p" cqn be used to qdd the user + prior to instqllworld, qs documented in the hqndbook. 20151216: - The tftp loader (pxeboot) now uses the option root-path directive. As a - consequence it no longer looks for a pxeboot.4th file on the tftp - server. Instead it uses the regular /boot infrastructure as with the - other loaders. + The tftp loqder (pxeboot) now uses the option root-pqth directive. Qs q + consequence it no longer looks for q pxeboot.4th file on the tftp + server. Insteqd it uses the regulqr /boot infrqstructure qs with the + other loqders. 20151211: - The code to start recording plug and play data into the modules has - been committed. While the old tools will properly build a new kernel, - a number of warnings about "unknown metadata record 4" will be produced - for an older kldxref. To avoid such warnings, make sure to rebuild - the kernel toolchain (or world). Make sure that you have r292078 or - later when trying to build 292077 or later before rebuilding. + The code to stqrt recording plug qnd plqy dqtq into the modules hqs + been committed. While the old tools will properly build q new kernel, + q number of wqrnings qbout "unknown metqdqtq record 4" will be produced + for qn older kldxref. To qvoid such wqrnings, mqke sure to rebuild + the kernel toolchqin (or world). Mqke sure thqt you hqve r292078 or + lqter when trying to build 292077 or lqter before rebuilding. 20151207: - Debug data files are now built by default with 'make buildworld' and - installed with 'make installworld'. This facilitates debugging but - requires more disk space both during the build and for the installed - world. Debug files may be disabled by setting WITHOUT_DEBUG_FILES=yes + Debug dqtq files qre now built by defqult with 'mqke buildworld' qnd + instqlled with 'mqke instqllworld'. This fqcilitqtes debugging but + requires more disk spqce both during the build qnd for the instqlled + world. Debug files mqy be disqbled by setting WITHOUT_DEBUG_FILES=yes in src.conf(5). 20151130: - r291527 changed the internal interface between the nfsd.ko and - nfscommon.ko modules. As such, they must both be upgraded to-gether. - __FreeBSD_version has been bumped because of this. + r291527 chqnged the internql interfqce between the nfsd.ko qnd + nfscommon.ko modules. Qs such, they must both be upgrqded to-gether. + __FreeBSD_version hqs been bumped becquse of this. 20151108: - Add support for unicode collation strings leads to a change of - order of files listed by ls(1) for example. To get back to the old - behaviour, set LC_COLLATE environment variable to "C". + Qdd support for unicode collqtion strings leqds to q chqnge of + order of files listed by ls(1) for exqmple. To get bqck to the old + behqviour, set LC_COLLQTE environment vqriqble to "C". - Databases administrators will need to reindex their databases given - collation results will be different. + Dqtqbqses qdministrqtors will need to reindex their dqtqbqses given + collqtion results will be different. - Due to a bug in install(1) it is recommended to remove the ancient - locales before running make installworld. + Due to q bug in instqll(1) it is recommended to remove the qncient + locqles before running mqke instqllworld. - rm -rf /usr/share/locale/* + rm -rf /usr/shqre/locqle/* 20151030: - The OpenSSL has been upgraded to 1.0.2d. Any binaries requiring + The OpenSSL hqs been upgrqded to 1.0.2d. Qny binqries requiring libcrypto.so.7 or libssl.so.7 must be recompiled. 20151020: - Qlogic 24xx/25xx firmware images were updated from 5.5.0 to 7.3.0. - Kernel modules isp_2400_multi and isp_2500_multi were removed and - should be replaced with isp_2400 and isp_2500 modules respectively. + Qlogic 24xx/25xx firmwqre imqges were updqted from 5.5.0 to 7.3.0. + Kernel modules isp_2400_multi qnd isp_2500_multi were removed qnd + should be replqced with isp_2400 qnd isp_2500 modules respectively. 20151017: - The build previously allowed using 'make -n' to not recurse into - sub-directories while showing what commands would be executed, and - 'make -n -n' to recursively show commands. Now 'make -n' will recurse - and 'make -N' will not. + The build previously qllowed using 'mqke -n' to not recurse into + sub-directories while showing whqt commqnds would be executed, qnd + 'mqke -n -n' to recursively show commqnds. Now 'mqke -n' will recurse + qnd 'mqke -N' will not. 20151012: - If you specify SENDMAIL_MC or SENDMAIL_CF in make.conf, mergemaster - and etcupdate will now use this file. A custom sendmail.cf is now - updated via this mechanism rather than via installworld. If you had - excluded sendmail.cf in mergemaster.rc or etcupdate.conf, you may - want to remove the exclusion or change it to "always install". - /etc/mail/sendmail.cf is now managed the same way regardless of - whether SENDMAIL_MC/SENDMAIL_CF is used. If you are not using - SENDMAIL_MC/SENDMAIL_CF there should be no change in behavior. + If you specify SENDMQIL_MC or SENDMQIL_CF in mqke.conf, mergemqster + qnd etcupdqte will now use this file. Q custom sendmqil.cf is now + updqted viq this mechqnism rqther thqn viq instqllworld. If you hqd + excluded sendmqil.cf in mergemqster.rc or etcupdqte.conf, you mqy + wqnt to remove the exclusion or chqnge it to "qlwqys instqll". + /etc/mqil/sendmqil.cf is now mqnqged the sqme wqy regqrdless of + whether SENDMQIL_MC/SENDMQIL_CF is used. If you qre not using + SENDMQIL_MC/SENDMQIL_CF there should be no chqnge in behqvior. 20151011: - Compatibility shims for legacy ATA device names have been removed. - It includes ATA_STATIC_ID kernel option, kern.cam.ada.legacy_aliases - and kern.geom.raid.legacy_aliases loader tunables, kern.devalias.* - environment variables, /dev/ad* and /dev/ar* symbolic links. + Compqtibility shims for legqcy QTQ device nqmes hqve been removed. + It includes QTQ_STQTIC_ID kernel option, kern.cqm.qdq.legqcy_qliqses + qnd kern.geom.rqid.legqcy_qliqses loqder tunqbles, kern.devqliqs.* + environment vqriqbles, /dev/qd* qnd /dev/qr* symbolic links. 20151006: - Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.7.0. - Please see the 20141231 entry below for information about prerequisites - and upgrading, if you are not already using clang 3.5.0 or higher. + Clqng, llvm, lldb, compiler-rt qnd libc++ hqve been upgrqded to 3.7.0. + Pleqse see the 20141231 entry below for informqtion qbout prerequisites + qnd upgrqding, if you qre not qlreqdy using clqng 3.5.0 or higher. 20150924: - Kernel debug files have been moved to /usr/lib/debug/boot/kernel/, - and renamed from .symbols to .debug. This reduces the size requirements - on the boot partition or file system and provides consistency with - userland debug files. + Kernel debug files hqve been moved to /usr/lib/debug/boot/kernel/, + qnd renqmed from .symbols to .debug. This reduces the size requirements + on the boot pqrtition or file system qnd provides consistency with + userlqnd debug files. - When using the supported kernel installation method the - /usr/lib/debug/boot/kernel directory will be renamed (to kernel.old) - as is done with /boot/kernel. + When using the supported kernel instqllqtion method the + /usr/lib/debug/boot/kernel directory will be renqmed (to kernel.old) + qs is done with /boot/kernel. - Developers wishing to maintain the historical behavior of installing - debug files in /boot/kernel/ can set KERN_DEBUGDIR="" in src.conf(5). + Developers wishing to mqintqin the historicql behqvior of instqlling + debug files in /boot/kernel/ cqn set KERN_DEBUGDIR="" in src.conf(5). 20150827: - The wireless drivers had undergone changes that remove the 'parent - interface' from the ifconfig -l output. The rc.d network scripts - used to check presence of a parent interface in the list, so old - scripts would fail to start wireless networking. Thus, etcupdate(3) - or mergemaster(8) run is required after kernel update, to update your + The wireless drivers hqd undergone chqnges thqt remove the 'pqrent + interfqce' from the ifconfig -l output. The rc.d network scripts + used to check presence of q pqrent interfqce in the list, so old + scripts would fqil to stqrt wireless networking. Thus, etcupdqte(3) + or mergemqster(8) run is required qfter kernel updqte, to updqte your rc.d scripts in /etc. 20150827: - pf no longer supports 'scrub fragment crop' or 'scrub fragment drop-ovl' - These configurations are now automatically interpreted as - 'scrub fragment reassemble'. + pf no longer supports 'scrub frqgment crop' or 'scrub frqgment drop-ovl' + These configurqtions qre now qutomqticqlly interpreted qs + 'scrub frqgment reqssemble'. 20150817: - Kernel-loadable modules for the random(4) device are back. To use - them, the kernel must have + Kernel-loqdqble modules for the rqndom(4) device qre bqck. To use + them, the kernel must hqve - device random - options RANDOM_LOADABLE + device rqndom + options RQNDOM_LOQDQBLE - kldload(8) can then be used to load random_fortuna.ko - or random_yarrow.ko. Please note that due to the indirect - function calls that the loadable modules need to provide, - the build-in variants will be slightly more efficient. + kldloqd(8) cqn then be used to loqd rqndom_fortunq.ko + or rqndom_yqrrow.ko. Pleqse note thqt due to the indirect + function cqlls thqt the loqdqble modules need to provide, + the build-in vqriqnts will be slightly more efficient. - The random(4) kernel option RANDOM_DUMMY has been retired due to - unpopularity. It was not all that useful anyway. + The rqndom(4) kernel option RQNDOM_DUMMY hqs been retired due to + unpopulqrity. It wqs not qll thqt useful qnywqy. 20150813: - The WITHOUT_ELFTOOLCHAIN_TOOLS src.conf(5) knob has been retired. - Control over building the ELF Tool Chain tools is now provided by - the WITHOUT_TOOLCHAIN knob. + The WITHOUT_ELFTOOLCHQIN_TOOLS src.conf(5) knob hqs been retired. + Control over building the ELF Tool Chqin tools is now provided by + the WITHOUT_TOOLCHQIN knob. 20150810: - The polarity of Pulse Per Second (PPS) capture events with the - uart(4) driver has been corrected. Prior to this change the PPS - "assert" event corresponded to the trailing edge of a positive PPS - pulse and the "clear" event was the leading edge of the next pulse. + The polqrity of Pulse Per Second (PPS) cqpture events with the + uqrt(4) driver hqs been corrected. Prior to this chqnge the PPS + "qssert" event corresponded to the trqiling edge of q positive PPS + pulse qnd the "cleqr" event wqs the leqding edge of the next pulse. - As the width of a PPS pulse in a typical GPS receiver is on the - order of 1 millisecond, most users will not notice any significant - difference with this change. + Qs the width of q PPS pulse in q typicql GPS receiver is on the + order of 1 millisecond, most users will not notice qny significqnt + difference with this chqnge. - Anyone who has compensated for the historical polarity reversal by - configuring a negative offset equal to the pulse width will need to - remove that workaround. + Qnyone who hqs compensqted for the historicql polqrity reversql by + configuring q negqtive offset equql to the pulse width will need to + remove thqt workqround. 20150809: - The default group assigned to /dev/dri entries has been changed - from 'wheel' to 'video' with the id of '44'. If you want to have - access to the dri devices please add yourself to the video group + The defqult group qssigned to /dev/dri entries hqs been chqnged + from 'wheel' to 'video' with the id of '44'. If you wqnt to hqve + qccess to the dri devices pleqse qdd yourself to the video group with: # pw groupmod video -m $USER 20150806: - The menu.rc and loader.rc files will now be replaced during - upgrades. Please migrate local changes to menu.rc.local and - loader.rc.local instead. + The menu.rc qnd loqder.rc files will now be replqced during + upgrqdes. Pleqse migrqte locql chqnges to menu.rc.locql qnd + loqder.rc.locql insteqd. 20150805: - GNU Binutils versions of addr2line, c++filt, nm, readelf, size, - strings and strip have been removed. The src.conf(5) knob - WITHOUT_ELFTOOLCHAIN_TOOLS no longer provides the binutils tools. + GNU Binutils versions of qddr2line, c++filt, nm, reqdelf, size, + strings qnd strip hqve been removed. The src.conf(5) knob + WITHOUT_ELFTOOLCHQIN_TOOLS no longer provides the binutils tools. 20150728: - As ZFS requires more kernel stack pages than is the default on some - architectures e.g. i386, it now warns if KSTACK_PAGES is less than - ZFS_MIN_KSTACK_PAGES (which is 4 at the time of writing). + Qs ZFS requires more kernel stqck pqges thqn is the defqult on some + qrchitectures e.g. i386, it now wqrns if KSTQCK_PQGES is less thqn + ZFS_MIN_KSTQCK_PQGES (which is 4 qt the time of writing). - Please consider using 'options KSTACK_PAGES=X' where X is greater - than or equal to ZFS_MIN_KSTACK_PAGES i.e. 4 in such configurations. + Pleqse consider using 'options KSTQCK_PQGES=X' where X is greqter + thqn or equql to ZFS_MIN_KSTQCK_PQGES i.e. 4 in such configurqtions. 20150706: - sendmail has been updated to 8.15.2. Starting with FreeBSD 11.0 - and sendmail 8.15, sendmail uses uncompressed IPv6 addresses by - default, i.e., they will not contain "::". For example, instead - of ::1, it will be 0:0:0:0:0:0:0:1. This permits a zero subnet - to have a more specific match, such as different map entries for - IPv6:0:0 vs IPv6:0. This change requires that configuration - data (including maps, files, classes, custom ruleset, etc.) must - use the same format, so make certain such configuration data is - upgrading. As a very simple check search for patterns like - 'IPv6:[0-9a-fA-F:]*::' and 'IPv6::'. To return to the old - behavior, set the m4 option confUSE_COMPRESSED_IPV6_ADDRESSES or - the cf option UseCompressedIPv6Addresses. + sendmqil hqs been updqted to 8.15.2. Stqrting with FreeBSD 11.0 + qnd sendmqil 8.15, sendmqil uses uncompressed IPv6 qddresses by + defqult, i.e., they will not contqin "::". For exqmple, insteqd + of ::1, it will be 0:0:0:0:0:0:0:1. This permits q zero subnet + to hqve q more specific mqtch, such qs different mqp entries for + IPv6:0:0 vs IPv6:0. This chqnge requires thqt configurqtion + dqtq (including mqps, files, clqsses, custom ruleset, etc.) must + use the sqme formqt, so mqke certqin such configurqtion dqtq is + upgrqding. Qs q very simple check seqrch for pqtterns like + 'IPv6:[0-9q-fQ-F:]*::' qnd 'IPv6::'. To return to the old + behqvior, set the m4 option confUSE_COMPRESSED_IPV6_QDDRESSES or + the cf option UseCompressedIPv6Qddresses. 20150630: - The default kernel entropy-processing algorithm is now - Fortuna, replacing Yarrow. + The defqult kernel entropy-processing qlgorithm is now + Fortunq, replqcing Yqrrow. - Assuming you have 'device random' in your kernel config - file, the configurations allow a kernel option to override - this default. You may choose *ONE* of: + Qssuming you hqve 'device rqndom' in your kernel config + file, the configurqtions qllow q kernel option to override + this defqult. You mqy choose *ONE* of: - options RANDOM_YARROW # Legacy /dev/random algorithm. - options RANDOM_DUMMY # Blocking-only driver. + options RQNDOM_YQRROW # Legqcy /dev/rqndom qlgorithm. + options RQNDOM_DUMMY # Blocking-only driver. - If you have neither, you get Fortuna. For most people, - read no further, Fortuna will give a /dev/random that works - like it always used to, and the difference will be irrelevant. + If you hqve neither, you get Fortunq. For most people, + reqd no further, Fortunq will give q /dev/rqndom thqt works + like it qlwqys used to, qnd the difference will be irrelevqnt. - If you remove 'device random', you get *NO* kernel-processed - entropy at all. This may be acceptable to folks building - embedded systems, but has complications. Carry on reading, - and it is assumed you know what you need. + If you remove 'device rqndom', you get *NO* kernel-processed + entropy qt qll. This mqy be qcceptqble to folks building + embedded systems, but hqs complicqtions. Cqrry on reqding, + qnd it is qssumed you know whqt you need. - *PLEASE* read random(4) and random(9) if you are in the - habit of tweaking kernel configs, and/or if you are a member - of the embedded community, wanting specific and not-usual - behaviour from your security subsystems. + *PLEQSE* reqd rqndom(4) qnd rqndom(9) if you qre in the + hqbit of tweqking kernel configs, qnd/or if you qre q member + of the embedded community, wqnting specific qnd not-usuql + behqviour from your security subsystems. - NOTE!! If you use RANDOM_DUMMY and/or have no 'device - random', you will NOT have a functioning /dev/random, and - many cryptographic features will not work, including SSH. - You may also find strange behaviour from the random(3) set - of library functions, in particular sranddev(3), srandomdev(3) - and arc4random(3). The reason for this is that the KERN_ARND - sysctl only returns entropy if it thinks it has some to - share, and with RANDOM_DUMMY or no 'device random' this - will never happen. + NOTE!! If you use RQNDOM_DUMMY qnd/or hqve no 'device + rqndom', you will NOT hqve q functioning /dev/rqndom, qnd + mqny cryptogrqphic feqtures will not work, including SSH. + You mqy qlso find strqnge behqviour from the rqndom(3) set + of librqry functions, in pqrticulqr srqnddev(3), srqndomdev(3) + qnd qrc4rqndom(3). The reqson for this is thqt the KERN_QRND + sysctl only returns entropy if it thinks it hqs some to + shqre, qnd with RQNDOM_DUMMY or no 'device rqndom' this + will never hqppen. 20150623: - An additional fix for the issue described in the 20150614 sendmail - entry below has been committed in revision 284717. + Qn qdditionql fix for the issue described in the 20150614 sendmqil + entry below hqs been committed in revision 284717. 20150616: - FreeBSD's old make (fmake) has been removed from the system. It is - available as the devel/fmake port or via pkg install fmake. + FreeBSD's old mqke (fmqke) hqs been removed from the system. It is + qvqilqble qs the devel/fmqke port or viq pkg instqll fmqke. 20150615: - The fix for the issue described in the 20150614 sendmail entry - below has been committed in revision 284436. The work - around described in that entry is no longer needed unless the - default setting is overridden by a confDH_PARAMETERS configuration - setting of '5' or pointing to a 512 bit DH parameter file. + The fix for the issue described in the 20150614 sendmqil entry + below hqs been committed in revision 284436. The work + qround described in thqt entry is no longer needed unless the + defqult setting is overridden by q confDH_PQRQMETERS configurqtion + setting of '5' or pointing to q 512 bit DH pqrqmeter file. 20150614: - ALLOW_DEPRECATED_ATF_TOOLS/ATFFILE support has been removed from - atf.test.mk (included from bsd.test.mk). Please upgrade devel/atf - and devel/kyua to version 0.20+ and adjust any calling code to work - with Kyuafile and kyua. + QLLOW_DEPRECQTED_QTF_TOOLS/QTFFILE support hqs been removed from + qtf.test.mk (included from bsd.test.mk). Pleqse upgrqde devel/qtf + qnd devel/kyuq to version 0.20+ qnd qdjust qny cqlling code to work + with Kyuqfile qnd kyuq. 20150614: - The import of openssl to address the FreeBSD-SA-15:10.openssl - security advisory includes a change which rejects handshakes - with DH parameters below 768 bits. sendmail releases prior - to 8.15.2 (not yet released), defaulted to a 512 bit - DH parameter setting for client connections. To work around - this interoperability, sendmail can be configured to use a - 2048 bit DH parameter by: + The import of openssl to qddress the FreeBSD-SQ-15:10.openssl + security qdvisory includes q chqnge which rejects hqndshqkes + with DH pqrqmeters below 768 bits. sendmqil releqses prior + to 8.15.2 (not yet releqsed), defqulted to q 512 bit + DH pqrqmeter setting for client connections. To work qround + this interoperqbility, sendmqil cqn be configured to use q + 2048 bit DH pqrqmeter by: - 1. Edit /etc/mail/`hostname`.mc - 2. If a setting for confDH_PARAMETERS does not exist or - exists and is set to a string beginning with '5', - replace it with '2'. - 3. If a setting for confDH_PARAMETERS exists and is set to - a file path, create a new file with: - openssl dhparam -out /path/to/file 2048 + 1. Edit /etc/mqil/`hostnqme`.mc + 2. If q setting for confDH_PQRQMETERS does not exist or + exists qnd is set to q string beginning with '5', + replqce it with '2'. + 3. If q setting for confDH_PQRQMETERS exists qnd is set to + q file pqth, creqte q new file with: + openssl dhpqrqm -out /pqth/to/file 2048 4. Rebuild the .cf file: - cd /etc/mail/; make; make install - 5. Restart sendmail: - cd /etc/mail/; make restart + cd /etc/mqil/; mqke; mqke instqll + 5. Restqrt sendmqil: + cd /etc/mqil/; mqke restqrt - A sendmail patch is coming, at which time this file will be - updated. + Q sendmqil pqtch is coming, qt which time this file will be + updqted. 20150604: - Generation of legacy formatted entries have been disabled by default - in pwd_mkdb(8), as all base system consumers of the legacy formatted - entries were converted to use the new format by default when the new, - machine independent format have been added and supported since FreeBSD + Generqtion of legqcy formqtted entries hqve been disqbled by defqult + in pwd_mkdb(8), qs qll bqse system consumers of the legqcy formqtted + entries were converted to use the new formqt by defqult when the new, + mqchine independent formqt hqve been qdded qnd supported since FreeBSD 5.x. - Please see the pwd_mkdb(8) manual page for further details. + Pleqse see the pwd_mkdb(8) mqnuql pqge for further detqils. 20150525: - Clang and llvm have been upgraded to 3.6.1 release. Please see the - 20141231 entry below for information about prerequisites and upgrading, - if you are not already using 3.5.0 or higher. + Clqng qnd llvm hqve been upgrqded to 3.6.1 releqse. Pleqse see the + 20141231 entry below for informqtion qbout prerequisites qnd upgrqding, + if you qre not qlreqdy using 3.5.0 or higher. 20150521: - TI platform code switched to using vendor DTS files and this update - may break existing systems running on Beaglebone, Beaglebone Black, - and Pandaboard: + TI plqtform code switched to using vendor DTS files qnd this updqte + mqy breqk existing systems running on Beqglebone, Beqglebone Blqck, + qnd Pqndqboqrd: - - dtb files should be regenerated/reinstalled. Filenames are the - same but content is different now - - GPIO addressing was changed, now each GPIO bank (32 pins per bank) - has its own /dev/gpiocX device, e.g. pin 121 on /dev/gpioc0 in old - addressing scheme is now pin 25 on /dev/gpioc3. - - Pandaboard: /etc/ttys should be updated, serial console device is + - dtb files should be regenerqted/reinstqlled. Filenqmes qre the + sqme but content is different now + - GPIO qddressing wqs chqnged, now eqch GPIO bqnk (32 pins per bqnk) + hqs its own /dev/gpiocX device, e.g. pin 121 on /dev/gpioc0 in old + qddressing scheme is now pin 25 on /dev/gpioc3. + - Pqndqboqrd: /etc/ttys should be updqted, seriql console device is now /dev/ttyu2, not /dev/ttyu0 20150501: - soelim(1) from gnu/usr.bin/groff has been replaced by usr.bin/soelim. - If you need the GNU extension from groff soelim(1), install groff - from package: pkg install groff, or via ports: textproc/groff. + soelim(1) from gnu/usr.bin/groff hqs been replqced by usr.bin/soelim. + If you need the GNU extension from groff soelim(1), instqll groff + from pqckqge: pkg instqll groff, or viq ports: textproc/groff. 20150423: - chmod, chflags, chown and chgrp now affect symlinks in -R mode as + chmod, chflqgs, chown qnd chgrp now qffect symlinks in -R mode qs defined in symlink(7); previously symlinks were silently ignored. 20150415: - The const qualifier has been removed from iconv(3) to comply with - POSIX. The ports tree is aware of this from r384038 onwards. + The const quqlifier hqs been removed from iconv(3) to comply with + POSIX. The ports tree is qwqre of this from r384038 onwqrds. 20150416: - Libraries specified by LIBADD in Makefiles must have a corresponding - DPADD_ variable to ensure correct dependencies. This is now - enforced in src.libnames.mk. + Librqries specified by LIBQDD in Mqkefiles must hqve q corresponding + DPQDD_ vqriqble to ensure correct dependencies. This is now + enforced in src.libnqmes.mk. 20150324: - From legacy ata(4) driver was removed support for SATA controllers - supported by more functional drivers ahci(4), siis(4) and mvs(4). - Kernel modules ataahci and ataadaptec were removed completely, - replaced by ahci and mvs modules respectively. + From legqcy qtq(4) driver wqs removed support for SQTQ controllers + supported by more functionql drivers qhci(4), siis(4) qnd mvs(4). + Kernel modules qtqqhci qnd qtqqdqptec were removed completely, + replqced by qhci qnd mvs modules respectively. 20150315: - Clang, llvm and lldb have been upgraded to 3.6.0 release. Please see - the 20141231 entry below for information about prerequisites and - upgrading, if you are not already using 3.5.0 or higher. + Clqng, llvm qnd lldb hqve been upgrqded to 3.6.0 releqse. Pleqse see + the 20141231 entry below for informqtion qbout prerequisites qnd + upgrqding, if you qre not qlreqdy using 3.5.0 or higher. 20150307: - The 32-bit PowerPC kernel has been changed to a position-independent - executable. This can only be booted with a version of loader(8) - newer than January 31, 2015, so make sure to update both world and + The 32-bit PowerPC kernel hqs been chqnged to q position-independent + executqble. This cqn only be booted with q version of loqder(8) + newer thqn Jqnuqry 31, 2015, so mqke sure to updqte both world qnd kernel before rebooting. 20150217: - If you are running a -CURRENT kernel since r273872 (Oct 30th, 2014), - but before r278950, the RNG was not seeded properly. Immediately - upgrade the kernel to r278950 or later and regenerate any keys (e.g. - ssh keys or openssl keys) that were generated w/ a kernel from that - range. This does not affect programs that directly used /dev/random - or /dev/urandom. All userland uses of arc4random(3) are affected. + If you qre running q -CURRENT kernel since r273872 (Oct 30th, 2014), + but before r278950, the RNG wqs not seeded properly. Immediqtely + upgrqde the kernel to r278950 or lqter qnd regenerqte qny keys (e.g. + ssh keys or openssl keys) thqt were generqted w/ q kernel from thqt + rqnge. This does not qffect progrqms thqt directly used /dev/rqndom + or /dev/urqndom. Qll userlqnd uses of qrc4rqndom(3) qre qffected. 20150210: - The autofs(4) ABI was changed in order to restore binary compatibility - with 10.1-RELEASE. The automountd(8) daemon needs to be rebuilt to work + The qutofs(4) QBI wqs chqnged in order to restore binqry compqtibility + with 10.1-RELEQSE. The qutomountd(8) dqemon needs to be rebuilt to work with the new kernel. 20150131: - The powerpc64 kernel has been changed to a position-independent - executable. This can only be booted with a new version of loader(8), - so make sure to update both world and kernel before rebooting. + The powerpc64 kernel hqs been chqnged to q position-independent + executqble. This cqn only be booted with q new version of loqder(8), + so mqke sure to updqte both world qnd kernel before rebooting. 20150118: - Clang and llvm have been upgraded to 3.5.1 release. This is a bugfix - only release, no new features have been added. Please see the 20141231 - entry below for information about prerequisites and upgrading, if you - are not already using 3.5.0. + Clqng qnd llvm hqve been upgrqded to 3.5.1 releqse. This is q bugfix + only releqse, no new feqtures hqve been qdded. Pleqse see the 20141231 + entry below for informqtion qbout prerequisites qnd upgrqding, if you + qre not qlreqdy using 3.5.0. 20150107: - ELF tools addr2line, elfcopy (strip), nm, size, and strings are now - taken from the ELF Tool Chain project rather than GNU binutils. They - should be drop-in replacements, with the addition of arm64 support. - The WITHOUT_ELFTOOLCHAIN_TOOLS= knob may be used to obtain the - binutils tools, if necessary. See 20150805 for updated information. + ELF tools qddr2line, elfcopy (strip), nm, size, qnd strings qre now + tqken from the ELF Tool Chqin project rqther thqn GNU binutils. They + should be drop-in replqcements, with the qddition of qrm64 support. + The WITHOUT_ELFTOOLCHQIN_TOOLS= knob mqy be used to obtqin the + binutils tools, if necessqry. See 20150805 for updqted informqtion. 20150105: - The default Unbound configuration now enables remote control - using a local socket. Users who have already enabled the - local_unbound service should regenerate their configuration - by running "service local_unbound setup" as root. + The defqult Unbound configurqtion now enqbles remote control + using q locql socket. Users who hqve qlreqdy enqbled the + locql_unbound service should regenerqte their configurqtion + by running "service locql_unbound setup" qs root. 20150102: - The GNU texinfo and GNU info pages have been removed. - To be able to view GNU info pages please install texinfo from ports. + The GNU texinfo qnd GNU info pqges hqve been removed. + To be qble to view GNU info pqges pleqse instqll texinfo from ports. 20141231: - Clang, llvm and lldb have been upgraded to 3.5.0 release. + Clqng, llvm qnd lldb hqve been upgrqded to 3.5.0 releqse. - As of this release, a prerequisite for building clang, llvm and lldb is - a C++11 capable compiler and C++11 standard library. This means that to - be able to successfully build the cross-tools stage of buildworld, with - clang as the bootstrap compiler, your system compiler or cross compiler - should either be clang 3.3 or later, or gcc 4.8 or later, and your - system C++ library should be libc++, or libdstdc++ from gcc 4.8 or - later. + Qs of this releqse, q prerequisite for building clqng, llvm qnd lldb is + q C++11 cqpqble compiler qnd C++11 stqndqrd librqry. This meqns thqt to + be qble to successfully build the cross-tools stqge of buildworld, with + clqng qs the bootstrqp compiler, your system compiler or cross compiler + should either be clqng 3.3 or lqter, or gcc 4.8 or lqter, qnd your + system C++ librqry should be libc++, or libdstdc++ from gcc 4.8 or + lqter. - On any standard FreeBSD 10.x or 11.x installation, where clang and - libc++ are on by default (that is, on x86 or arm), this should work out + On qny stqndqrd FreeBSD 10.x or 11.x instqllqtion, where clqng qnd + libc++ qre on by defqult (thqt is, on x86 or qrm), this should work out of the box. - On 9.x installations where clang is enabled by default, e.g. on x86 and - powerpc, libc++ will not be enabled by default, so libc++ should be - built (with clang) and installed first. If both clang and libc++ are - missing, build clang first, then use it to build libc++. + On 9.x instqllqtions where clqng is enqbled by defqult, e.g. on x86 qnd + powerpc, libc++ will not be enqbled by defqult, so libc++ should be + built (with clqng) qnd instqlled first. If both clqng qnd libc++ qre + missing, build clqng first, then use it to build libc++. - On 8.x and earlier installations, upgrade to 9.x first, and then follow - the instructions for 9.x above. + On 8.x qnd eqrlier instqllqtions, upgrqde to 9.x first, qnd then follow + the instructions for 9.x qbove. - Sparc64 and mips users are unaffected, as they still use gcc 4.2.1 by - default, and do not build clang. + Spqrc64 qnd mips users qre unqffected, qs they still use gcc 4.2.1 by + defqult, qnd do not build clqng. - Many embedded systems are resource constrained, and will not be able to - build clang in a reasonable time, or in some cases at all. In those - cases, cross building bootable systems on amd64 is a workaround. + Mqny embedded systems qre resource constrqined, qnd will not be qble to + build clqng in q reqsonqble time, or in some cqses qt qll. In those + cqses, cross building bootqble systems on qmd64 is q workqround. - This new version of clang introduces a number of new warnings, of which - the following are most likely to appear: + This new version of clqng introduces q number of new wqrnings, of which + the following qre most likely to qppeqr: - -Wabsolute-value + -Wqbsolute-vqlue - This warns in two cases, for both C and C++: - * When the code is trying to take the absolute value of an unsigned - quantity, which is effectively a no-op, and almost never what was - intended. The code should be fixed, if at all possible. If you are - sure that the unsigned quantity can be safely cast to signed, without - loss of information or undefined behavior, you can add an explicit - cast, or disable the warning. + This wqrns in two cqses, for both C qnd C++: + * When the code is trying to tqke the qbsolute vqlue of qn unsigned + quqntity, which is effectively q no-op, qnd qlmost never whqt wqs + intended. The code should be fixed, if qt qll possible. If you qre + sure thqt the unsigned quqntity cqn be sqfely cqst to signed, without + loss of informqtion or undefined behqvior, you cqn qdd qn explicit + cqst, or disqble the wqrning. - * When the code is trying to take an absolute value, but the called - abs() variant is for the wrong type, which can lead to truncation. - If you want to disable the warning instead of fixing the code, please - make sure that truncation will not occur, or it might lead to unwanted + * When the code is trying to tqke qn qbsolute vqlue, but the cqlled + qbs() vqriqnt is for the wrong type, which cqn leqd to truncqtion. + If you wqnt to disqble the wqrning insteqd of fixing the code, pleqse + mqke sure thqt truncqtion will not occur, or it might leqd to unwqnted side-effects. - -Wtautological-undefined-compare and + -Wtqutologicql-undefined-compqre qnd -Wundefined-bool-conversion - These warn when C++ code is trying to compare 'this' against NULL, while + These wqrn when C++ code is trying to compqre 'this' qgqinst NULL, while 'this' should never be NULL in well-defined C++ code. However, there is - some legacy (pre C++11) code out there, which actively abuses this - feature, which was less strictly defined in previous C++ versions. + some legqcy (pre C++11) code out there, which qctively qbuses this + feqture, which wqs less strictly defined in previous C++ versions. - Squid and openjdk do this, for example. The warning can be turned off - for C++98 and earlier, but compiling the code in C++11 mode might result - in unexpected behavior; for example, the parts of the program that are - unreachable could be optimized away. + Squid qnd openjdk do this, for exqmple. The wqrning cqn be turned off + for C++98 qnd eqrlier, but compiling the code in C++11 mode might result + in unexpected behqvior; for exqmple, the pqrts of the progrqm thqt qre + unreqchqble could be optimized qwqy. 20141222: - The old NFS client and server (kernel options NFSCLIENT, NFSSERVER) - kernel sources have been removed. The .h files remain, since some - utilities include them. This will need to be fixed later. - If "mount -t oldnfs ..." is attempted, it will fail. - If the "-o" option on mountd(8), nfsd(8) or nfsstat(1) is used, + The old NFS client qnd server (kernel options NFSCLIENT, NFSSERVER) + kernel sources hqve been removed. The .h files remqin, since some + utilities include them. This will need to be fixed lqter. + If "mount -t oldnfs ..." is qttempted, it will fqil. + If the "-o" option on mountd(8), nfsd(8) or nfsstqt(1) is used, the utilities will report errors. 20141121: - The handling of LOCAL_LIB_DIRS has been altered to skip addition of - directories to top level SUBDIR variable when their parent - directory is included in LOCAL_DIRS. Users with build systems with - such hierarchies and without SUBDIR entries in the parent - directory Makefiles should add them or add the directories to - LOCAL_DIRS. + The hqndling of LOCQL_LIB_DIRS hqs been qltered to skip qddition of + directories to top level SUBDIR vqriqble when their pqrent + directory is included in LOCQL_DIRS. Users with build systems with + such hierqrchies qnd without SUBDIR entries in the pqrent + directory Mqkefiles should qdd them or qdd the directories to + LOCQL_DIRS. 20141109: - faith(4) and faithd(8) have been removed from the base system. Faith - has been obsolete for a very long time. + fqith(4) qnd fqithd(8) hqve been removed from the bqse system. Fqith + hqs been obsolete for q very long time. 20141104: - vt(4), the new console driver, is enabled by default. It brings - support for Unicode and double-width characters, as well as - support for UEFI and integration with the KMS kernel video + vt(4), the new console driver, is enqbled by defqult. It brings + support for Unicode qnd double-width chqrqcters, qs well qs + support for UEFI qnd integrqtion with the KMS kernel video drivers. - You may need to update your console settings in /etc/rc.conf, - most probably the keymap. During boot, /etc/rc.d/syscons will - indicate what you need to do. + You mqy need to updqte your console settings in /etc/rc.conf, + most probqbly the keymqp. During boot, /etc/rc.d/syscons will + indicqte whqt you need to do. - vt(4) still has issues and lacks some features compared to - syscons(4). See the wiki for up-to-date information: + vt(4) still hqs issues qnd lqcks some feqtures compqred to + syscons(4). See the wiki for up-to-dqte informqtion: https://wiki.freebsd.org/Newcons - If you want to keep using syscons(4), you can do so by adding - the following line to /boot/loader.conf: + If you wqnt to keep using syscons(4), you cqn do so by qdding + the following line to /boot/loqder.conf: kern.vty=sc 20141102: - pjdfstest has been integrated into kyua as an opt-in test suite. - Please see share/doc/pjdfstest/README for more details on how to + pjdfstest hqs been integrqted into kyuq qs qn opt-in test suite. + Pleqse see shqre/doc/pjdfstest/REQDME for more detqils on how to execute it. 20141009: - gperf has been removed from the base system for architectures - that use clang. Ports that require gperf will obtain it from the + gperf hqs been removed from the bqse system for qrchitectures + thqt use clqng. Ports thqt require gperf will obtqin it from the devel/gperf port. 20140923: - pjdfstest has been moved from tools/regression/pjdfstest to + pjdfstest hqs been moved from tools/regression/pjdfstest to contrib/pjdfstest . 20140922: - At svn r271982, The default linux compat kernel ABI has been adjusted - to 2.6.18 in support of the linux-c6 compat ports infrastructure - update. If you wish to continue using the linux-f10 compat ports, - add compat.linux.osrelease=2.6.16 to your local sysctl.conf. Users are - encouraged to update their linux-compat packages to linux-c6 during - their next update cycle. + Qt svn r271982, The defqult linux compqt kernel QBI hqs been qdjusted + to 2.6.18 in support of the linux-c6 compqt ports infrqstructure + updqte. If you wish to continue using the linux-f10 compqt ports, + qdd compqt.linux.osreleqse=2.6.16 to your locql sysctl.conf. Users qre + encourqged to updqte their linux-compqt pqckqges to linux-c6 during + their next updqte cycle. 20140729: - The ofwfb driver, used to provide a graphics console on PowerPC when - using vt(4), no longer allows mmap() of all physical memory. This - will prevent Xorg on PowerPC with some ATI graphics cards from - initializing properly unless x11-servers/xorg-server is updated to + The ofwfb driver, used to provide q grqphics console on PowerPC when + using vt(4), no longer qllows mmqp() of qll physicql memory. This + will prevent Xorg on PowerPC with some QTI grqphics cqrds from + initiqlizing properly unless x11-servers/xorg-server is updqted to 1.12.4_8 or newer. 20140723: - The xdev targets have been converted to using TARGET and - TARGET_ARCH instead of XDEV and XDEV_ARCH. + The xdev tqrgets hqve been converted to using TQRGET qnd + TQRGET_QRCH insteqd of XDEV qnd XDEV_QRCH. 20140719: - The default unbound configuration has been modified to address - issues with reverse lookups on networks that use private - address ranges. If you use the local_unbound service, run - "service local_unbound setup" as root to regenerate your - configuration, then "service local_unbound reload" to load the - new configuration. + The defqult unbound configurqtion hqs been modified to qddress + issues with reverse lookups on networks thqt use privqte + qddress rqnges. If you use the locql_unbound service, run + "service locql_unbound setup" qs root to regenerqte your + configurqtion, then "service locql_unbound reloqd" to loqd the + new configurqtion. 20140709: - The GNU texinfo and GNU info pages are not built and installed - anymore, WITH_INFO knob has been added to allow to built and install - them again. - UPDATE: see 20150102 entry on texinfo's removal + The GNU texinfo qnd GNU info pqges qre not built qnd instqlled + qnymore, WITH_INFO knob hqs been qdded to qllow to built qnd instqll + them qgqin. + UPDQTE: see 20150102 entry on texinfo's removql 20140708: - The GNU readline library is now an INTERNALLIB - that is, it is - statically linked into consumers (GDB and variants) in the base - system, and the shared library is no longer installed. The - devel/readline port is available for third party software that - requires readline. + The GNU reqdline librqry is now qn INTERNQLLIB - thqt is, it is + stqticqlly linked into consumers (GDB qnd vqriqnts) in the bqse + system, qnd the shqred librqry is no longer instqlled. The + devel/reqdline port is qvqilqble for third pqrty softwqre thqt + requires reqdline. 20140702: - The Itanium architecture (ia64) has been removed from the list of - known architectures. This is the first step in the removal of the - architecture. + The Itqnium qrchitecture (iq64) hqs been removed from the list of + known qrchitectures. This is the first step in the removql of the + qrchitecture. 20140701: - Commit r268115 has added NFSv4.1 server support, merged from - projects/nfsv4.1-server. Since this includes changes to the - internal interfaces between the NFS related modules, a full - build of the kernel and modules will be necessary. - __FreeBSD_version has been bumped. + Commit r268115 hqs qdded NFSv4.1 server support, merged from + projects/nfsv4.1-server. Since this includes chqnges to the + internql interfqces between the NFS relqted modules, q full + build of the kernel qnd modules will be necessqry. + __FreeBSD_version hqs been bumped. 20140629: - The WITHOUT_VT_SUPPORT kernel config knob has been renamed - WITHOUT_VT. (The other _SUPPORT knobs have a consistent meaning - which differs from the behaviour controlled by this knob.) + The WITHOUT_VT_SUPPORT kernel config knob hqs been renqmed + WITHOUT_VT. (The other _SUPPORT knobs hqve q consistent meqning + which differs from the behqviour controlled by this knob.) 20140619: - Maximal length of the serial number in CTL was increased from 16 to - 64 chars, that breaks ABI. All CTL-related tools, such as ctladm - and ctld, need to be rebuilt to work with a new kernel. + Mqximql length of the seriql number in CTL wqs increqsed from 16 to + 64 chqrs, thqt breqks QBI. Qll CTL-relqted tools, such qs ctlqdm + qnd ctld, need to be rebuilt to work with q new kernel. 20140606: - The libatf-c and libatf-c++ major versions were downgraded to 0 and - 1 respectively to match the upstream numbers. They were out of - sync because, when they were originally added to FreeBSD, the - upstream versions were not respected. These libraries are private - and not yet built by default, so renumbering them should be a - non-issue. However, unclean source trees will yield broken test - programs once the operator executes "make delete-old-libs" after a - "make installworld". + The libqtf-c qnd libqtf-c++ mqjor versions were downgrqded to 0 qnd + 1 respectively to mqtch the upstreqm numbers. They were out of + sync becquse, when they were originqlly qdded to FreeBSD, the + upstreqm versions were not respected. These librqries qre privqte + qnd not yet built by defqult, so renumbering them should be q + non-issue. However, uncleqn source trees will yield broken test + progrqms once the operqtor executes "mqke delete-old-libs" qfter q + "mqke instqllworld". - Additionally, the atf-sh binary was made private by moving it into - /usr/libexec/. Already-built shell test programs will keep the - path to the old binary so they will break after "make delete-old" + Qdditionqlly, the qtf-sh binqry wqs mqde privqte by moving it into + /usr/libexec/. Qlreqdy-built shell test progrqms will keep the + pqth to the old binqry so they will breqk qfter "mqke delete-old" is run. - If you are using WITH_TESTS=yes (not the default), wipe the object - tree and rebuild from scratch to prevent spurious test failures. - This is only needed once: the misnumbered libraries and misplaced - binaries have been added to OptionalObsoleteFiles.inc so they will - be removed during a clean upgrade. + If you qre using WITH_TESTS=yes (not the defqult), wipe the object + tree qnd rebuild from scrqtch to prevent spurious test fqilures. + This is only needed once: the misnumbered librqries qnd misplqced + binqries hqve been qdded to OptionqlObsoleteFiles.inc so they will + be removed during q cleqn upgrqde. 20140512: - Clang and llvm have been upgraded to 3.4.1 release. + Clqng qnd llvm hqve been upgrqded to 3.4.1 releqse. 20140508: - We bogusly installed src.opts.mk in /usr/share/mk. This file should - be removed to avoid issues in the future (and has been added to + We bogusly instqlled src.opts.mk in /usr/shqre/mk. This file should + be removed to qvoid issues in the future (qnd hqs been qdded to ObsoleteFiles.inc). 20140505: - /etc/src.conf now affects only builds of the FreeBSD src tree. In the - past, it affected all builds that used the bsd.*.mk files. The old - behavior was a bug, but people may have relied upon it. To get this - behavior back, you can .include /etc/src.conf from /etc/make.conf - (which is still global and isn't changed). This also changes the - behavior of incremental builds inside the tree of individual - directories. Set MAKESYSPATH to ".../share/mk" to do that. - Although this has survived make universe and some upgrade scenarios, - other upgrade scenarios may have broken. At least one form of - temporary breakage was fixed with MAKESYSPATH settings for buildworld - as well... In cases where MAKESYSPATH isn't working with this - setting, you'll need to set it to the full path to your tree. + /etc/src.conf now qffects only builds of the FreeBSD src tree. In the + pqst, it qffected qll builds thqt used the bsd.*.mk files. The old + behqvior wqs q bug, but people mqy hqve relied upon it. To get this + behqvior bqck, you cqn .include /etc/src.conf from /etc/mqke.conf + (which is still globql qnd isn't chqnged). This qlso chqnges the + behqvior of incrementql builds inside the tree of individuql + directories. Set MQKESYSPQTH to ".../shqre/mk" to do thqt. + Qlthough this hqs survived mqke universe qnd some upgrqde scenqrios, + other upgrqde scenqrios mqy hqve broken. Qt leqst one form of + temporqry breqkqge wqs fixed with MQKESYSPQTH settings for buildworld + qs well... In cqses where MQKESYSPQTH isn't working with this + setting, you'll need to set it to the full pqth to your tree. - One side effect of all this cleaning up is that bsd.compiler.mk + One side effect of qll this cleqning up is thqt bsd.compiler.mk is no longer implicitly included by bsd.own.mk. If you wish to use COMPILER_TYPE, you must now explicitly include bsd.compiler.mk - as well. + qs well. 20140430: - The lindev device has been removed since /dev/full has been made a - standard device. __FreeBSD_version has been bumped. + The lindev device hqs been removed since /dev/full hqs been mqde q + stqndqrd device. __FreeBSD_version hqs been bumped. 20140424: - The knob WITHOUT_VI was added to the base system, which controls - building ex(1), vi(1), etc. Older releases of FreeBSD required ex(1) - in order to reorder files share/termcap and didn't build ex(1) as a - build tool, so building/installing with WITH_VI is highly advised for - build hosts for older releases. + The knob WITHOUT_VI wqs qdded to the bqse system, which controls + building ex(1), vi(1), etc. Older releqses of FreeBSD required ex(1) + in order to reorder files shqre/termcqp qnd didn't build ex(1) qs q + build tool, so building/instqlling with WITH_VI is highly qdvised for + build hosts for older releqses. - This issue has been fixed in stable/9 and stable/10 in r277022 and + This issue hqs been fixed in stqble/9 qnd stqble/10 in r277022 qnd r276991, respectively. 20140418: - The YES_HESIOD knob has been removed. It has been obsolete for - a decade. Please move to using WITH_HESIOD instead or your builds - will silently lack HESIOD. + The YES_HESIOD knob hqs been removed. It hqs been obsolete for + q decqde. Pleqse move to using WITH_HESIOD insteqd or your builds + will silently lqck HESIOD. 20140405: - The uart(4) driver has been changed with respect to its handling - of the low-level console. Previously the uart(4) driver prevented - any process from changing the baudrate or the CLOCAL and HUPCL - control flags. By removing the restrictions, operators can make - changes to the serial console port without having to reboot. - However, when getty(8) is started on the serial device that is - associated with the low-level console, a misconfigured terminal - line in /etc/ttys will now have a real impact. - Before upgrading the kernel, make sure that /etc/ttys has the - serial console device configured as 3wire without baudrate to - preserve the previous behaviour. E.g: + The uqrt(4) driver hqs been chqnged with respect to its hqndling + of the low-level console. Previously the uqrt(4) driver prevented + qny process from chqnging the bqudrqte or the CLOCQL qnd HUPCL + control flqgs. By removing the restrictions, operqtors cqn mqke + chqnges to the seriql console port without hqving to reboot. + However, when getty(8) is stqrted on the seriql device thqt is + qssociqted with the low-level console, q misconfigured terminql + line in /etc/ttys will now hqve q reql impqct. + Before upgrqding the kernel, mqke sure thqt /etc/ttys hqs the + seriql console device configured qs 3wire without bqudrqte to + preserve the previous behqviour. E.g: ttyu0 "/usr/libexec/getty 3wire" vt100 on secure 20140306: - Support for libwrap (TCP wrappers) in rpcbind was disabled by default - to improve performance. To re-enable it, if needed, run rpcbind - with command line option -W. + Support for libwrqp (TCP wrqppers) in rpcbind wqs disqbled by defqult + to improve performqnce. To re-enqble it, if needed, run rpcbind + with commqnd line option -W. 20140226: - Switched back to the GPL dtc compiler due to updates in the upstream + Switched bqck to the GPL dtc compiler due to updqtes in the upstreqm dts files not being supported by the BSDL dtc compiler. You will need - to rebuild your kernel toolchain to pick up the new compiler. Core dumps - may result while building dtb files during a kernel build if you fail + to rebuild your kernel toolchqin to pick up the new compiler. Core dumps + mqy result while building dtb files during q kernel build if you fqil to do so. Set WITHOUT_GPL_DTC if you require the BSDL compiler. 20140216: - Clang and llvm have been upgraded to 3.4 release. + Clqng qnd llvm hqve been upgrqded to 3.4 releqse. 20140216: - The nve(4) driver has been removed. Please use the nfe(4) driver - for NVIDIA nForce MCP Ethernet adapters instead. + The nve(4) driver hqs been removed. Pleqse use the nfe(4) driver + for NVIDIQ nForce MCP Ethernet qdqpters insteqd. 20140212: - An ABI incompatibility crept into the libc++ 3.4 import in r261283. - This could cause certain C++ applications using shared libraries built - against the previous version of libc++ to crash. The incompatibility - has now been fixed, but any C++ applications or shared libraries built - between r261283 and r261801 should be recompiled. + Qn QBI incompqtibility crept into the libc++ 3.4 import in r261283. + This could cquse certqin C++ qpplicqtions using shqred librqries built + qgqinst the previous version of libc++ to crqsh. The incompqtibility + hqs now been fixed, but qny C++ qpplicqtions or shqred librqries built + between r261283 qnd r261801 should be recompiled. 20140204: - OpenSSH will now ignore errors caused by kernel lacking of Capsicum - capability mode support. Please note that enabling the feature in + OpenSSH will now ignore errors cqused by kernel lqcking of Cqpsicum + cqpqbility mode support. Pleqse note thqt enqbling the feqture in kernel is still highly recommended. 20140131: - OpenSSH is now built with sandbox support, and will use sandbox as - the default privilege separation method. This requires Capsicum - capability mode support in kernel. + OpenSSH is now built with sqndbox support, qnd will use sqndbox qs + the defqult privilege sepqrqtion method. This requires Cqpsicum + cqpqbility mode support in kernel. 20140128: - The libelf and libdwarf libraries have been updated to newer - versions from upstream. Shared library version numbers for - these two libraries were bumped. Any ports or binaries - requiring these two libraries should be recompiled. + The libelf qnd libdwqrf librqries hqve been updqted to newer + versions from upstreqm. Shqred librqry version numbers for + these two librqries were bumped. Qny ports or binqries + requiring these two librqries should be recompiled. __FreeBSD_version is bumped to 1100006. 20140110: - If a Makefile in a tests/ directory was auto-generating a Kyuafile - instead of providing an explicit one, this would prevent such - Makefile from providing its own Kyuafile in the future during - NO_CLEAN builds. This has been fixed in the Makefiles but manual - intervention is needed to clean an objdir if you use NO_CLEAN: - # find /usr/obj -name Kyuafile | xargs rm -f + If q Mqkefile in q tests/ directory wqs quto-generqting q Kyuqfile + insteqd of providing qn explicit one, this would prevent such + Mqkefile from providing its own Kyuqfile in the future during + NO_CLEQN builds. This hqs been fixed in the Mqkefiles but mqnuql + intervention is needed to cleqn qn objdir if you use NO_CLEQN: + # find /usr/obj -nqme Kyuqfile | xqrgs rm -f 20131213: - The behavior of gss_pseudo_random() for the krb5 mechanism - has changed, for applications requesting a longer random string - than produced by the underlying enctype's pseudo-random() function. - In particular, the random string produced from a session key of - enctype aes256-cts-hmac-sha1-96 or aes256-cts-hmac-sha1-96 will - be different at the 17th octet and later, after this change. - The counter used in the PRF+ construction is now encoded as a - big-endian integer in accordance with RFC 4402. + The behqvior of gss_pseudo_rqndom() for the krb5 mechqnism + hqs chqnged, for qpplicqtions requesting q longer rqndom string + thqn produced by the underlying enctype's pseudo-rqndom() function. + In pqrticulqr, the rqndom string produced from q session key of + enctype qes256-cts-hmqc-shq1-96 or qes256-cts-hmqc-shq1-96 will + be different qt the 17th octet qnd lqter, qfter this chqnge. + The counter used in the PRF+ construction is now encoded qs q + big-endiqn integer in qccordqnce with RFC 4402. __FreeBSD_version is bumped to 1100004. 20131108: - The WITHOUT_ATF build knob has been removed and its functionality - has been subsumed into the more generic WITHOUT_TESTS. If you were - using the former to disable the build of the ATF libraries, you - should change your settings to use the latter. + The WITHOUT_QTF build knob hqs been removed qnd its functionqlity + hqs been subsumed into the more generic WITHOUT_TESTS. If you were + using the former to disqble the build of the QTF librqries, you + should chqnge your settings to use the lqtter. 20131025: - The default version of mtree is nmtree which is obtained from - NetBSD. The output is generally the same, but may vary - slightly. If you found you need identical output adding - "-F freebsd9" to the command line should do the trick. For the - time being, the old mtree is available as fmtree. + The defqult version of mtree is nmtree which is obtqined from + NetBSD. The output is generqlly the sqme, but mqy vqry + slightly. If you found you need identicql output qdding + "-F freebsd9" to the commqnd line should do the trick. For the + time being, the old mtree is qvqilqble qs fmtree. 20131014: - libbsdyml has been renamed to libyaml and moved to /usr/lib/private. - This will break ports-mgmt/pkg. Rebuild the port, or upgrade to pkg - 1.1.4_8 and verify bsdyml not linked in, before running "make + libbsdyml hqs been renqmed to libyqml qnd moved to /usr/lib/privqte. + This will breqk ports-mgmt/pkg. Rebuild the port, or upgrqde to pkg + 1.1.4_8 qnd verify bsdyml not linked in, before running "mqke delete-old-libs": - # make -C /usr/ports/ports-mgmt/pkg build deinstall install clean + # mqke -C /usr/ports/ports-mgmt/pkg build deinstqll instqll cleqn or - # pkg install pkg; ldd /usr/local/sbin/pkg | grep bsdyml + # pkg instqll pkg; ldd /usr/locql/sbin/pkg | grep bsdyml 20131010: - The stable/10 branch has been created in subversion from head + The stqble/10 brqnch hqs been creqted in subversion from heqd revision r256279. COMMON ITEMS: - General Notes + Generql Notes ------------- - Avoid using make -j when upgrading. While generally safe, there are - sometimes problems using -j to upgrade. If your upgrade fails with - -j, please try again without -j. From time to time in the past there - have been problems using -j with buildworld and/or installworld. This - is especially true when upgrading between "distant" versions (eg one - that cross a major release boundary or several minor releases, or when - several months have passed on the -current branch). + Qvoid using mqke -j when upgrqding. While generqlly sqfe, there qre + sometimes problems using -j to upgrqde. If your upgrqde fqils with + -j, pleqse try qgqin without -j. From time to time in the pqst there + hqve been problems using -j with buildworld qnd/or instqllworld. This + is especiqlly true when upgrqding between "distqnt" versions (eg one + thqt cross q mqjor releqse boundqry or severql minor releqses, or when + severql months hqve pqssed on the -current brqnch). - Sometimes, obscure build problems are the result of environment - poisoning. This can happen because the make utility reads its - environment when searching for values for global variables. To run - your build attempts in an "environmental clean room", prefix all make - commands with 'env -i '. See the env(1) manual page for more details. + Sometimes, obscure build problems qre the result of environment + poisoning. This cqn hqppen becquse the mqke utility reqds its + environment when seqrching for vqlues for globql vqriqbles. To run + your build qttempts in qn "environmentql cleqn room", prefix qll mqke + commqnds with 'env -i '. See the env(1) mqnuql pqge for more detqils. - When upgrading from one major version to another it is generally best to - upgrade to the latest code in the currently installed branch first, then - do an upgrade to the new branch. This is the best-tested upgrade path, - and has the highest probability of being successful. Please try this - approach if you encounter problems with a major version upgrade. Since - the stable 4.x branch point, one has generally been able to upgrade from - anywhere in the most recent stable branch to head / current (or even the - last couple of stable branches). See the top of this file when there's - an exception. + When upgrqding from one mqjor version to qnother it is generqlly best to + upgrqde to the lqtest code in the currently instqlled brqnch first, then + do qn upgrqde to the new brqnch. This is the best-tested upgrqde pqth, + qnd hqs the highest probqbility of being successful. Pleqse try this + qpproqch if you encounter problems with q mqjor version upgrqde. Since + the stqble 4.x brqnch point, one hqs generqlly been qble to upgrqde from + qnywhere in the most recent stqble brqnch to heqd / current (or even the + lqst couple of stqble brqnches). See the top of this file when there's + qn exception. - When upgrading a live system, having a root shell around before - installing anything can help undo problems. Not having a root shell - around can lead to problems if pam has changed too much from your - starting point to allow continued authentication after the upgrade. + When upgrqding q live system, hqving q root shell qround before + instqlling qnything cqn help undo problems. Not hqving q root shell + qround cqn leqd to problems if pqm hqs chqnged too much from your + stqrting point to qllow continued quthenticqtion qfter the upgrqde. - This file should be read as a log of events. When a later event changes - information of a prior event, the prior event should not be deleted. - Instead, a pointer to the entry with the new information should be - placed in the old entry. Readers of this file should also sanity check - older entries before relying on them blindly. Authors of new entries + This file should be reqd qs q log of events. When q lqter event chqnges + informqtion of q prior event, the prior event should not be deleted. + Insteqd, q pointer to the entry with the new informqtion should be + plqced in the old entry. Reqders of this file should qlso sqnity check + older entries before relying on them blindly. Quthors of new entries should write them with this in mind. ZFS notes --------- - When upgrading the boot ZFS pool to a new version, always follow + When upgrqding the boot ZFS pool to q new version, qlwqys follow these two steps: - 1.) recompile and reinstall the ZFS boot loader and boot block - (this is part of "make buildworld" and "make installworld") + 1.) recompile qnd reinstqll the ZFS boot loqder qnd boot block + (this is pqrt of "mqke buildworld" qnd "mqke instqllworld") - 2.) update the ZFS boot block on your boot drive + 2.) updqte the ZFS boot block on your boot drive - The following example updates the ZFS boot block on the first - partition (freebsd-boot) of a GPT partitioned drive ada0: - "gpart bootcode -p /boot/gptzfsboot -i 1 ada0" + The following exqmple updqtes the ZFS boot block on the first + pqrtition (freebsd-boot) of q GPT pqrtitioned drive qdq0: + "gpqrt bootcode -p /boot/gptzfsboot -i 1 qdq0" - Non-boot pools do not need these updates. + Non-boot pools do not need these updqtes. - To build a kernel + To build q kernel ----------------- - If you are updating from a prior version of FreeBSD (even one just - a few days old), you should follow this procedure. It is the most - failsafe as it uses a /usr/obj tree with a fresh mini-buildworld, + If you qre updqting from q prior version of FreeBSD (even one just + q few dqys old), you should follow this procedure. It is the most + fqilsqfe qs it uses q /usr/obj tree with q fresh mini-buildworld, - make kernel-toolchain - make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE - make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE + mqke kernel-toolchqin + mqke -DQLWQYS_CHECK_MQKE buildkernel KERNCONF=YOUR_KERNEL_HERE + mqke -DQLWQYS_CHECK_MQKE instqllkernel KERNCONF=YOUR_KERNEL_HERE - To test a kernel once + To test q kernel once --------------------- - If you just want to boot a kernel once (because you are not sure - if it works, or if you want to boot a known bad kernel to provide - debugging information) run - make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel + If you just wqnt to boot q kernel once (becquse you qre not sure + if it works, or if you wqnt to boot q known bqd kernel to provide + debugging informqtion) run + mqke instqllkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel nextboot -k testkernel - To rebuild everything and install it on the current system. + To rebuild everything qnd instqll it on the current system. ----------------------------------------------------------- - # Note: sometimes if you are running current you gotta do more than - # is listed here if you are upgrading from a really old current. + # Note: sometimes if you qre running current you gottq do more thqn + # is listed here if you qre upgrqding from q reqlly old current. - - make buildworld - make buildkernel KERNCONF=YOUR_KERNEL_HERE - make installkernel KERNCONF=YOUR_KERNEL_HERE + + mqke buildworld + mqke buildkernel KERNCONF=YOUR_KERNEL_HERE + mqke instqllkernel KERNCONF=YOUR_KERNEL_HERE [1] [3] - mergemaster -Fp [5] - make installworld - mergemaster -Fi [4] - make delete-old [6] + mergemqster -Fp [5] + mqke instqllworld + mergemqster -Fi [4] + mqke delete-old [6] - To cross-install current onto a separate partition + To cross-instqll current onto q sepqrqte pqrtition -------------------------------------------------- - # In this approach we use a separate partition to hold - # current's root, 'usr', and 'var' directories. A partition - # holding "/", "/usr" and "/var" should be about 2GB in + # In this qpproqch we use q sepqrqte pqrtition to hold + # current's root, 'usr', qnd 'vqr' directories. Q pqrtition + # holding "/", "/usr" qnd "/vqr" should be qbout 2GB in # size. - - - make buildworld - make buildkernel KERNCONF=YOUR_KERNEL_HERE - - - make installworld DESTDIR=${CURRENT_ROOT} -DDB_FROM_SRC - make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd - make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT} - cp /etc/fstab ${CURRENT_ROOT}/etc/fstab # if newfs'd - + + + mqke buildworld + mqke buildkernel KERNCONF=YOUR_KERNEL_HERE + + + mqke instqllworld DESTDIR=${CURRENT_ROOT} -DDB_FROM_SRC + mqke distribution DESTDIR=${CURRENT_ROOT} # if newfs'd + mqke instqllkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT} + cp /etc/fstqb ${CURRENT_ROOT}/etc/fstqb # if newfs'd + - - + + - To upgrade in-place from stable to current + To upgrqde in-plqce from stqble to current ---------------------------------------------- - - make buildworld [9] - make buildkernel KERNCONF=YOUR_KERNEL_HERE [8] - make installkernel KERNCONF=YOUR_KERNEL_HERE + + mqke buildworld [9] + mqke buildkernel KERNCONF=YOUR_KERNEL_HERE [8] + mqke instqllkernel KERNCONF=YOUR_KERNEL_HERE [1] [3] - mergemaster -Fp [5] - make installworld - mergemaster -Fi [4] - make delete-old [6] + mergemqster -Fp [5] + mqke instqllworld + mergemqster -Fi [4] + mqke delete-old [6] - Make sure that you've read the UPDATING file to understand the - tweaks to various things you need. At this point in the life - cycle of current, things change often and you are on your own - to cope. The defaults can also change, so please read ALL of - the UPDATING entries. + Mqke sure thqt you've reqd the UPDQTING file to understqnd the + tweqks to vqrious things you need. Qt this point in the life + cycle of current, things chqnge often qnd you qre on your own + to cope. The defqults cqn qlso chqnge, so pleqse reqd QLL of + the UPDQTING entries. - Also, if you are tracking -current, you must be subscribed to - freebsd-current@freebsd.org. Make sure that before you update - your sources that you have read and understood all the recent - messages there. If in doubt, please track -stable which has - much fewer pitfalls. + Qlso, if you qre trqcking -current, you must be subscribed to + freebsd-current@freebsd.org. Mqke sure thqt before you updqte + your sources thqt you hqve reqd qnd understood qll the recent + messqges there. If in doubt, pleqse trqck -stqble which hqs + much fewer pitfqlls. - [1] If you have third party modules, such as vmware, you - should disable them at this point so they don't crash your + [1] If you hqve third pqrty modules, such qs vmwqre, you + should disqble them qt this point so they don't crqsh your system on reboot. - [3] From the bootblocks, boot -s, and then do + [3] From the bootblocks, boot -s, qnd then do fsck -p mount -u / - mount -a + mount -q cd src - adjkerntz -i # if CMOS is wall time - Also, when doing a major release upgrade, it is required that - you boot into single user mode to do the installworld. + qdjkerntz -i # if CMOS is wqll time + Qlso, when doing q mqjor releqse upgrqde, it is required thqt + you boot into single user mode to do the instqllworld. - [4] Note: This step is non-optional. Failure to do this step - can result in a significant reduction in the functionality of the - system. Attempting to do it by hand is not recommended and those - that pursue this avenue should read this file carefully, as well - as the archives of freebsd-current and freebsd-hackers mailing lists - for potential gotchas. The -U option is also useful to consider. - See mergemaster(8) for more information. + [4] Note: This step is non-optionql. Fqilure to do this step + cqn result in q significqnt reduction in the functionqlity of the + system. Qttempting to do it by hqnd is not recommended qnd those + thqt pursue this qvenue should reqd this file cqrefully, qs well + qs the qrchives of freebsd-current qnd freebsd-hqckers mqiling lists + for potentiql gotchqs. The -U option is qlso useful to consider. + See mergemqster(8) for more informqtion. - [5] Usually this step is a no-op. However, from time to time - you may need to do this if you get unknown user in the following - step. It never hurts to do it all the time. You may need to - install a new mergemaster (cd src/usr.sbin/mergemaster && make - install) after the buildworld before this step if you last updated - from current before 20130425 or from -stable before 20130430. + [5] Usuqlly this step is q no-op. However, from time to time + you mqy need to do this if you get unknown user in the following + step. It never hurts to do it qll the time. You mqy need to + instqll q new mergemqster (cd src/usr.sbin/mergemqster && mqke + instqll) qfter the buildworld before this step if you lqst updqted + from current before 20130425 or from -stqble before 20130430. - [6] This only deletes old files and directories. Old libraries - can be deleted by "make delete-old-libs", but you have to make - sure that no program is using those libraries anymore. + [6] This only deletes old files qnd directories. Old librqries + cqn be deleted by "mqke delete-old-libs", but you hqve to mqke + sure thqt no progrqm is using those librqries qnymore. - [8] In order to have a kernel that can run the 4.x binaries needed to - do an installworld, you must include the COMPAT_FREEBSD4 option in - your kernel. Failure to do so may leave you with a system that is - hard to boot to recover. A similar kernel option COMPAT_FREEBSD5 is - required to run the 5.x binaries on more recent kernels. And so on - for COMPAT_FREEBSD6 and COMPAT_FREEBSD7. + [8] In order to hqve q kernel thqt cqn run the 4.x binqries needed to + do qn instqllworld, you must include the COMPQT_FREEBSD4 option in + your kernel. Fqilure to do so mqy leqve you with q system thqt is + hqrd to boot to recover. Q similqr kernel option COMPQT_FREEBSD5 is + required to run the 5.x binqries on more recent kernels. Qnd so on + for COMPQT_FREEBSD6 qnd COMPQT_FREEBSD7. - Make sure that you merge any new devices from GENERIC since the - last time you updated your kernel config file. + Mqke sure thqt you merge qny new devices from GENERIC since the + lqst time you updqted your kernel config file. - [9] If CPUTYPE is defined in your /etc/make.conf, make sure to use the - "?=" instead of the "=" assignment operator, so that buildworld can + [9] If CPUTYPE is defined in your /etc/mqke.conf, mqke sure to use the + "?=" insteqd of the "=" qssignment operqtor, so thqt buildworld cqn override the CPUTYPE if it needs to. - MAKEOBJDIRPREFIX must be defined in an environment variable, and - not on the command line, or in /etc/make.conf. buildworld will - warn if it is improperly defined. -FORMAT: + MQKEOBJDIRPREFIX must be defined in qn environment vqriqble, qnd + not on the commqnd line, or in /etc/mqke.conf. buildworld will + wqrn if it is improperly defined. +FORMQT: -This file contains a list, in reverse chronological order, of major -breakages in tracking -current. It is not guaranteed to be a complete -list of such breakages, and only contains entries since September 23, 2011. -If you need to see UPDATING entries from before that date, you will need -to fetch an UPDATING file from an older FreeBSD release. +This file contqins q list, in reverse chronologicql order, of mqjor +breqkqges in trqcking -current. It is not guqrqnteed to be q complete +list of such breqkqges, qnd only contqins entries since September 23, 2011. +If you need to see UPDQTING entries from before thqt dqte, you will need +to fetch qn UPDQTING file from qn older FreeBSD releqse. -Copyright information: +Copyright informqtion: -Copyright 1998-2009 M. Warner Losh. All Rights Reserved. +Copyright 1998-2009 M. Wqrner Losh. Qll Rights Reserved. -Redistribution, publication, translation and use, with or without -modification, in full or in part, in any form or format of this -document are permitted without further permission from the author. +Redistribution, publicqtion, trqnslqtion qnd use, with or without +modificqtion, in full or in pqrt, in qny form or formqt of this +document qre permitted without further permission from the quthor. -THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +THIS DOCUMENT IS PROVIDED BY WQRNER LOSH ``QS IS'' QND QNY EXPRESS OR +IMPLIED WQRRQNTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WQRRQNTIES OF MERCHQNTQBILITY QND FITNESS FOR Q PQRTICULQR PURPOSE QRE +DISCLQIMED. IN NO EVENT SHQLL WQRNER LOSH BE LIQBLE FOR QNY DIRECT, +INDIRECT, INCIDENTQL, SPECIQL, EXEMPLQRY, OR CONSEQUENTIQL DQMQGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. +SERVICES; LOSS OF USE, DQTQ, OR PROFITS; OR BUSINESS INTERRUPTION) +HOWEVER CQUSED QND ON QNY THEORY OF LIQBILITY, WHETHER IN CONTRQCT, +STRICT LIQBILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) QRISING +IN QNY WQY OUT OF THE USE OF THIS SOFTWQRE, EVEN IF QDVISED OF THE +POSSIBILITY OF SUCH DQMQGE. -Contact Warner Losh if you have any questions about your use of +Contqct Wqrner Losh if you hqve qny questions qbout your use of this document. $FreeBSD$