| 1 |
Updating Information for FreeBSD current users. |
| 2 |
|
| 3 |
This file is maintained and copyrighted by M. Warner Losh <imp@freebsd.org>. |
| 4 |
See end of file for further details. For commonly done items, please see the |
| 5 |
COMMON ITEMS: section later in the file. These instructions assume that you |
| 6 |
basically know what you are doing. If not, then please consult the FreeBSD |
| 7 |
handbook: |
| 8 |
|
| 9 |
https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/updating-src.html |
| 10 |
|
| 11 |
Items affecting the ports and packages system can be found in |
| 12 |
/usr/ports/UPDATING. Please read that file before running portupgrade. |
| 13 |
|
| 14 |
NOTE: FreeBSD has switched from gcc to clang. If you have trouble bootstrapping |
| 15 |
from older versions of FreeBSD, try WITHOUT_CLANG and WITH_GCC to bootstrap to |
| 16 |
the tip of head, and then rebuild without this option. The bootstrap process |
| 17 |
from older version of current across the gcc/clang cutover is a bit fragile. |
| 18 |
|
| 19 |
20180627: |
| 20 |
11.2-RELEASE. |
| 21 |
|
| 22 |
20180504: |
| 23 |
The tz database (tzdb) has been updated to 2018e. This version more |
| 24 |
correctly models time stamps in time zones with negative DST such as |
| 25 |
Europe/Dublin (from 1971 on), Europe/Prague (1946/7), and |
| 26 |
Africa/Windhoek (1994/2017). This does not affect the UT offsets, only |
| 27 |
time zone abbreviations and the tm_isdst flag. |
| 28 |
|
| 29 |
20180409: |
| 30 |
The use of RSS hash from the network card aka flowid has been |
| 31 |
disabled by default for lagg(4) as it's currently incompatible with |
| 32 |
the lacp and loadbalance protocols. |
| 33 |
|
| 34 |
This can be re-enabled by setting the following in loader.conf: |
| 35 |
net.link.lagg.default_use_flowid="1" |
| 36 |
|
| 37 |
20180331: |
| 38 |
Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to |
| 39 |
6.0.0. Please see the 20141231 entry below for information about |
| 40 |
prerequisites and upgrading, if you are not already using clang 3.5.0 |
| 41 |
or higher. |
| 42 |
|
| 43 |
20180211: |
| 44 |
The LOADER_FIREWIRE_SUPPORT build variable as been renamed to |
| 45 |
WITH/OUT_LOADER_FIREWIRE. LOADER_{NO_,}GELI_SUPPORT has been renamed |
| 46 |
to WITH/OUT_LOADER_GELI. |
| 47 |
|
| 48 |
20180210: |
| 49 |
The geli password typed at boot is now hidden. To restore the previous |
| 50 |
behavior, see geli(8) for configuration options. |
| 51 |
|
| 52 |
The SW_WATCHDOG option is no longer necessary to enable the |
| 53 |
hardclock-based software watchdog if no hardware watchdog is |
| 54 |
configured. As before, SW_WATCHDOG will cause the software |
| 55 |
watchdog to be enabled even if a hardware watchdog is configured. |
| 56 |
|
| 57 |
20180108: |
| 58 |
lint(1) binaries and library are no longer built by default. To |
| 59 |
enable building them, define WITH_LINT in src.conf. If you are using |
| 60 |
a FreeBSD 12 or later system to build 11-stable, you may need to |
| 61 |
install a lint(1) binary to use WITH_LINT. |
| 62 |
|
| 63 |
20171003: |
| 64 |
When building multiple kernels using KERNCONF, non-existent KERNCONF |
| 65 |
files will produce an error and buildkernel will fail. Previously |
| 66 |
missing KERNCONF files silently failed giving no indication as to |
| 67 |
why, only to subsequently discover during installkernel that the |
| 68 |
desired kernel was never built in the first place. |
| 69 |
|
| 70 |
20170926: |
| 71 |
Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 5.0.0. |
| 72 |
Please see the 20141231 entry below for information about prerequisites |
| 73 |
and upgrading, if you are not already using clang 3.5.0 or higher. |
| 74 |
|
| 75 |
20170822: |
| 76 |
Since the switch to GPT disk labels, fsck for UFS/FFS has been |
| 77 |
unable to automatically find alternate superblocks. As of r322806, |
| 78 |
the information needed to find alternate superblocks has been |
| 79 |
moved to the end of the area reserved for the boot block. |
| 80 |
Filesystems created with a newfs of this vintage or later |
| 81 |
will create the recovery information. If you have a filesystem |
| 82 |
created prior to this change and wish to have a recovery block |
| 83 |
created for your filesystem, you can do so by running fsck in |
| 84 |
forground mode (i.e., do not use the -p or -y options). As it |
| 85 |
starts, fsck will ask ``SAVE DATA TO FIND ALTERNATE SUPERBLOCKS'' |
| 86 |
to which you should answer yes. |
| 87 |
|
| 88 |
20170518: |
| 89 |
arm64 builds now use the base system LLD 4.0.0 linker by default, |
| 90 |
instead of requiring that the aarch64-binutils port or package be |
| 91 |
installed. To continue using aarch64-binutils, set |
| 92 |
CROSS_BINUTILS_PREFIX=/usr/local/aarch64-freebsd/bin . |
| 93 |
|
| 94 |
20170529: |
| 95 |
The ctl.ko module no longer implements the iSCSI target frontend: |
| 96 |
cfiscsi.ko does instead. |
| 97 |
|
| 98 |
If building cfiscsi.ko as a kernel module, the module can be loaded |
| 99 |
via one of the following methods: |
| 100 |
- `cfiscsi_load="YES"` in loader.conf(5). |
| 101 |
- Add `cfiscsi` to `$kld_list` in rc.conf(5). |
| 102 |
- ctladm(8)/ctld(8), when compiled with iSCSI support |
| 103 |
(`WITH_ISCSI=yes` in src.conf(5)) |
| 104 |
|
| 105 |
Please see cfiscsi(4) for more details. |
| 106 |
|
| 107 |
20170511: |
| 108 |
The mmcsd.ko module now additionally depends on geom_flashmap.ko. |
| 109 |
Also, mmc.ko and mmcsd.ko need to be a matching pair built from the |
| 110 |
same source (previously, the dependency of mmcsd.ko on mmc.ko was |
| 111 |
missing, but mmcsd.ko now will refuse to load if it is incompatible |
| 112 |
with mmc.ko). |
| 113 |
|
| 114 |
20170414: |
| 115 |
Binds and sends to the loopback addresses, IPv6 and IPv4, will now |
| 116 |
use any explicitly assigned loopback address available in the jail |
| 117 |
instead of using the first assigned address of the jail. |
| 118 |
|
| 119 |
20170413: |
| 120 |
As of r316810 for ipfilter, keep frags is no longer assumed when |
| 121 |
keep state is specified in a rule. r316810 aligns ipfilter with |
| 122 |
documentation in man pages separating keep frags from keep state. |
| 123 |
This allows keep state to specified without forcing keep frags |
| 124 |
and allows keep frags to be specified independently of keep state. |
| 125 |
To maintain previous behaviour, also specify keep frags with |
| 126 |
keep state (as documented in ipf.conf.5). |
| 127 |
|
| 128 |
20170402: |
| 129 |
Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 4.0.0. |
| 130 |
Please see the 20141231 entry below for information about prerequisites |
| 131 |
and upgrading, if you are not already using clang 3.5.0 or higher. |
| 132 |
|
| 133 |
20170323: |
| 134 |
The code that provides support for ZFS .zfs/ directory functionality |
| 135 |
has been reimplemented. It's not possible now to create a snapshot |
| 136 |
by mkdir under .zfs/snapshot/. That should be the only user visible |
| 137 |
change. |
| 138 |
|
| 139 |
20170319: |
| 140 |
Many changes in the IPsec code have been merged from the FreeBSD-CURRENT |
| 141 |
branch. The IPSEC_FILTERTUNNEL kernel option is removed in favour of |
| 142 |
corresponding sysctl. The IPSEC_NAT_T kernel option is also removed, |
| 143 |
and now NAT-T is supported by default. Security associations now use |
| 144 |
the single namespace for SPI allocation, so if you use several manually |
| 145 |
configured security associations with the same SPI, this configuration |
| 146 |
needs modification. |
| 147 |
|
| 148 |
20161217: |
| 149 |
Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.1. |
| 150 |
Please see the 20141231 entry below for information about prerequisites |
| 151 |
and upgrading, if you are not already using clang 3.5.0 or higher. |
| 152 |
|
| 153 |
20161124: |
| 154 |
Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.0. |
| 155 |
Please see the 20141231 entry below for information about prerequisites |
| 156 |
and upgrading, if you are not already using clang 3.5.0 or higher. |
| 157 |
|
| 158 |
20161119: |
| 159 |
The layout of the pmap structure has changed for powerpc to put the pmap |
| 160 |
statistics at the front for all CPU variations. libkvm(3) and all tools |
| 161 |
that link against it need to be recompiled. |
| 162 |
|
| 163 |
20161030: |
| 164 |
isl(4) and cyapa(4) drivers now require a new driver, |
| 165 |
chromebook_platform(4), to work properly on Chromebook-class hardware. |
| 166 |
On other types of hardware the drivers may need to be configured using |
| 167 |
device hints. Please see the corresponding manual pages for details. |
| 168 |
|
| 169 |
20161210: |
| 170 |
Relocatable object files with the extension of .So have been renamed |
| 171 |
to use an extension of .pico instead. The purpose of this change is |
| 172 |
to avoid a name clash with shared libraries on case-insensitive file |
| 173 |
systems. On those file systems, foo.So is the same file as foo.so. |
| 174 |
|
| 175 |
20160622: |
| 176 |
The libc stub for the pipe(2) system call has been replaced with |
| 177 |
a wrapper that calls the pipe2(2) system call and the pipe(2) |
| 178 |
system call is now only implemented by the kernels that include |
| 179 |
"options COMPAT_FREEBSD10" in their config file (this is the |
| 180 |
default). Users should ensure that this option is enabled in |
| 181 |
their kernel or upgrade userspace to r302092 before upgrading their |
| 182 |
kernel. |
| 183 |
|
| 184 |
20160527: |
| 185 |
CAM will now strip leading spaces from SCSI disks' serial numbers. |
| 186 |
This will effect users who create UFS filesystems on SCSI disks using |
| 187 |
those disk's diskid device nodes. For example, if /etc/fstab |
| 188 |
previously contained a line like |
| 189 |
"/dev/diskid/DISK-%20%20%20%20%20%20%20ABCDEFG0123456", you should |
| 190 |
change it to "/dev/diskid/DISK-ABCDEFG0123456". Users of geom |
| 191 |
transforms like gmirror may also be affected. ZFS users should |
| 192 |
generally be fine. |
| 193 |
|
| 194 |
20160523: |
| 195 |
The bitstring(3) API has been updated with new functionality and |
| 196 |
improved performance. But it is binary-incompatible with the old API. |
| 197 |
Objects built with the new headers may not be linked against objects |
| 198 |
built with the old headers. |
| 199 |
|
| 200 |
20160520: |
| 201 |
The brk and sbrk functions have been removed from libc on arm64. |
| 202 |
Binutils from ports has been updated to not link to these |
| 203 |
functions and should be updated to the latest version before |
| 204 |
installing a new libc. |
| 205 |
|
| 206 |
20160517: |
| 207 |
The armv6 port now defaults to hard float ABI. Limited support |
| 208 |
for running both hardfloat and soft float on the same system |
| 209 |
is available using the libraries installed with -DWITH_LIBSOFT. |
| 210 |
This has only been tested as an upgrade path for installworld |
| 211 |
and packages may fail or need manual intervention to run. New |
| 212 |
packages will be needed. |
| 213 |
|
| 214 |
To update an existing self-hosted armv6hf system, you must add |
| 215 |
TARGET_ARCH=armv6 on the make command line for both the build |
| 216 |
and the install steps. |
| 217 |
|
| 218 |
20160510: |
| 219 |
Kernel modules compiled outside of a kernel build now default to |
| 220 |
installing to /boot/modules instead of /boot/kernel. Many kernel |
| 221 |
modules built this way (such as those in ports) already overrode |
| 222 |
KMODDIR explicitly to install into /boot/modules. However, |
| 223 |
manually building and installing a module from /sys/modules will |
| 224 |
now install to /boot/modules instead of /boot/kernel. |
| 225 |
|
| 226 |
20160414: |
| 227 |
The CAM I/O scheduler has been committed to the kernel. There should be |
| 228 |
no user visible impact. This does enable NCQ Trim on ada SSDs. While the |
| 229 |
list of known rogues that claim support for this but actually corrupt |
| 230 |
data is believed to be complete, be on the lookout for data |
| 231 |
corruption. The known rogue list is believed to be complete: |
| 232 |
|
| 233 |
o Crucial MX100, M550 drives with MU01 firmware. |
| 234 |
o Micron M510 and M550 drives with MU01 firmware. |
| 235 |
o Micron M500 prior to MU07 firmware |
| 236 |
o Samsung 830, 840, and 850 all firmwares |
| 237 |
o FCCT M500 all firmwares |
| 238 |
|
| 239 |
Crucial has firmware http://www.crucial.com/usa/en/support-ssd-firmware |
| 240 |
with working NCQ TRIM. For Micron branded drives, see your sales rep for |
| 241 |
updated firmware. Black listed drives will work correctly because these |
| 242 |
drives work correctly so long as no NCQ TRIMs are sent to them. Given |
| 243 |
this list is the same as found in Linux, it's believed there are no |
| 244 |
other rogues in the market place. All other models from the above |
| 245 |
vendors work. |
| 246 |
|
| 247 |
To be safe, if you are at all concerned, you can quirk each of your |
| 248 |
drives to prevent NCQ from being sent by setting: |
| 249 |
kern.cam.ada.X.quirks="0x2" |
| 250 |
in loader.conf. If the drive requires the 4k sector quirk, set the |
| 251 |
quirks entry to 0x3. |
| 252 |
|
| 253 |
20160330: |
| 254 |
The FAST_DEPEND build option has been removed and its functionality is |
| 255 |
now the one true way. The old mkdep(1) style of 'make depend' has |
| 256 |
been removed. See 20160311 for further details. |
| 257 |
|
| 258 |
20160317: |
| 259 |
Resource range types have grown from unsigned long to uintmax_t. All |
| 260 |
drivers, and anything using libdevinfo, need to be recompiled. |
| 261 |
|
| 262 |
20160311: |
| 263 |
WITH_FAST_DEPEND is now enabled by default for in-tree and out-of-tree |
| 264 |
builds. It no longer runs mkdep(1) during 'make depend', and the |
| 265 |
'make depend' stage can safely be skipped now as it is auto ran |
| 266 |
when building 'make all' and will generate all SRCS and DPSRCS before |
| 267 |
building anything else. Dependencies are gathered at compile time with |
| 268 |
-MF flags kept in separate .depend files per object file. Users should |
| 269 |
run 'make cleandepend' once if using -DNO_CLEAN to clean out older |
| 270 |
stale .depend files. |
| 271 |
|
| 272 |
20160306: |
| 273 |
On amd64, clang 3.8.0 can now insert sections of type AMD64_UNWIND into |
| 274 |
kernel modules. Therefore, if you load any kernel modules at boot time, |
| 275 |
please install the boot loaders after you install the kernel, but before |
| 276 |
rebooting, e.g.: |
| 277 |
|
| 278 |
make buildworld |
| 279 |
make kernel KERNCONF=YOUR_KERNEL_HERE |
| 280 |
make -C sys/boot install |
| 281 |
<reboot in single user> |
| 282 |
|
| 283 |
Then follow the usual steps, described in the General Notes section, |
| 284 |
below. |
| 285 |
|
| 286 |
20160305: |
| 287 |
Clang, llvm, lldb and compiler-rt have been upgraded to 3.8.0. Please |
| 288 |
see the 20141231 entry below for information about prerequisites and |
| 289 |
upgrading, if you are not already using clang 3.5.0 or higher. |
| 290 |
|
| 291 |
20160301: |
| 292 |
The AIO subsystem is now a standard part of the kernel. The |
| 293 |
VFS_AIO kernel option and aio.ko kernel module have been removed. |
| 294 |
Due to stability concerns, asynchronous I/O requests are only |
| 295 |
permitted on sockets and raw disks by default. To enable |
| 296 |
asynchronous I/O requests on all file types, set the |
| 297 |
vfs.aio.enable_unsafe sysctl to a non-zero value. |
| 298 |
|
| 299 |
20160226: |
| 300 |
The ELF object manipulation tool objcopy is now provided by the |
| 301 |
ELF Tool Chain project rather than by GNU binutils. It should be a |
| 302 |
drop-in replacement, with the addition of arm64 support. The |
| 303 |
(temporary) src.conf knob WITHOUT_ELFCOPY_AS_OBJCOPY knob may be set |
| 304 |
to obtain the GNU version if necessary. |
| 305 |
|
| 306 |
20160129: |
| 307 |
Building ZFS pools on top of zvols is prohibited by default. That |
| 308 |
feature has never worked safely; it's always been prone to deadlocks. |
| 309 |
Using a zvol as the backing store for a VM guest's virtual disk will |
| 310 |
still work, even if the guest is using ZFS. Legacy behavior can be |
| 311 |
restored by setting vfs.zfs.vol.recursive=1. |
| 312 |
|
| 313 |
20160119: |
| 314 |
The NONE and HPN patches has been removed from OpenSSH. They are |
| 315 |
still available in the security/openssh-portable port. |
| 316 |
|
| 317 |
20160113: |
| 318 |
With the addition of ypldap(8), a new _ypldap user is now required |
| 319 |
during installworld. "mergemaster -p" can be used to add the user |
| 320 |
prior to installworld, as documented in the handbook. |
| 321 |
|
| 322 |
20151216: |
| 323 |
The tftp loader (pxeboot) now uses the option root-path directive. As a |
| 324 |
consequence it no longer looks for a pxeboot.4th file on the tftp |
| 325 |
server. Instead it uses the regular /boot infrastructure as with the |
| 326 |
other loaders. |
| 327 |
|
| 328 |
20151211: |
| 329 |
The code to start recording plug and play data into the modules has |
| 330 |
been committed. While the old tools will properly build a new kernel, |
| 331 |
a number of warnings about "unknown metadata record 4" will be produced |
| 332 |
for an older kldxref. To avoid such warnings, make sure to rebuild |
| 333 |
the kernel toolchain (or world). Make sure that you have r292078 or |
| 334 |
later when trying to build 292077 or later before rebuilding. |
| 335 |
|
| 336 |
20151207: |
| 337 |
Debug data files are now built by default with 'make buildworld' and |
| 338 |
installed with 'make installworld'. This facilitates debugging but |
| 339 |
requires more disk space both during the build and for the installed |
| 340 |
world. Debug files may be disabled by setting WITHOUT_DEBUG_FILES=yes |
| 341 |
in src.conf(5). |
| 342 |
|
| 343 |
20151130: |
| 344 |
r291527 changed the internal interface between the nfsd.ko and |
| 345 |
nfscommon.ko modules. As such, they must both be upgraded to-gether. |
| 346 |
__FreeBSD_version has been bumped because of this. |
| 347 |
|
| 348 |
20151108: |
| 349 |
Add support for unicode collation strings leads to a change of |
| 350 |
order of files listed by ls(1) for example. To get back to the old |
| 351 |
behaviour, set LC_COLLATE environment variable to "C". |
| 352 |
|
| 353 |
Databases administrators will need to reindex their databases given |
| 354 |
collation results will be different. |
| 355 |
|
| 356 |
Due to a bug in install(1) it is recommended to remove the ancient |
| 357 |
locales before running make installworld. |
| 358 |
|
| 359 |
rm -rf /usr/share/locale/* |
| 360 |
|
| 361 |
20151030: |
| 362 |
The OpenSSL has been upgraded to 1.0.2d. Any binaries requiring |
| 363 |
libcrypto.so.7 or libssl.so.7 must be recompiled. |
| 364 |
|
| 365 |
20151020: |
| 366 |
Qlogic 24xx/25xx firmware images were updated from 5.5.0 to 7.3.0. |
| 367 |
Kernel modules isp_2400_multi and isp_2500_multi were removed and |
| 368 |
should be replaced with isp_2400 and isp_2500 modules respectively. |
| 369 |
|
| 370 |
20151017: |
| 371 |
The build previously allowed using 'make -n' to not recurse into |
| 372 |
sub-directories while showing what commands would be executed, and |
| 373 |
'make -n -n' to recursively show commands. Now 'make -n' will recurse |
| 374 |
and 'make -N' will not. |
| 375 |
|
| 376 |
20151012: |
| 377 |
If you specify SENDMAIL_MC or SENDMAIL_CF in make.conf, mergemaster |
| 378 |
and etcupdate will now use this file. A custom sendmail.cf is now |
| 379 |
updated via this mechanism rather than via installworld. If you had |
| 380 |
excluded sendmail.cf in mergemaster.rc or etcupdate.conf, you may |
| 381 |
want to remove the exclusion or change it to "always install". |
| 382 |
/etc/mail/sendmail.cf is now managed the same way regardless of |
| 383 |
whether SENDMAIL_MC/SENDMAIL_CF is used. If you are not using |
| 384 |
SENDMAIL_MC/SENDMAIL_CF there should be no change in behavior. |
| 385 |
|
| 386 |
20151011: |
| 387 |
Compatibility shims for legacy ATA device names have been removed. |
| 388 |
It includes ATA_STATIC_ID kernel option, kern.cam.ada.legacy_aliases |
| 389 |
and kern.geom.raid.legacy_aliases loader tunables, kern.devalias.* |
| 390 |
environment variables, /dev/ad* and /dev/ar* symbolic links. |
| 391 |
|
| 392 |
20151006: |
| 393 |
Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.7.0. |
| 394 |
Please see the 20141231 entry below for information about prerequisites |
| 395 |
and upgrading, if you are not already using clang 3.5.0 or higher. |
| 396 |
|
| 397 |
20150924: |
| 398 |
Kernel debug files have been moved to /usr/lib/debug/boot/kernel/, |
| 399 |
and renamed from .symbols to .debug. This reduces the size requirements |
| 400 |
on the boot partition or file system and provides consistency with |
| 401 |
userland debug files. |
| 402 |
|
| 403 |
When using the supported kernel installation method the |
| 404 |
/usr/lib/debug/boot/kernel directory will be renamed (to kernel.old) |
| 405 |
as is done with /boot/kernel. |
| 406 |
|
| 407 |
Developers wishing to maintain the historical behavior of installing |
| 408 |
debug files in /boot/kernel/ can set KERN_DEBUGDIR="" in src.conf(5). |
| 409 |
|
| 410 |
20150827: |
| 411 |
The wireless drivers had undergone changes that remove the 'parent |
| 412 |
interface' from the ifconfig -l output. The rc.d network scripts |
| 413 |
used to check presence of a parent interface in the list, so old |
| 414 |
scripts would fail to start wireless networking. Thus, etcupdate(3) |
| 415 |
or mergemaster(8) run is required after kernel update, to update your |
| 416 |
rc.d scripts in /etc. |
| 417 |
|
| 418 |
20150827: |
| 419 |
pf no longer supports 'scrub fragment crop' or 'scrub fragment drop-ovl' |
| 420 |
These configurations are now automatically interpreted as |
| 421 |
'scrub fragment reassemble'. |
| 422 |
|
| 423 |
20150817: |
| 424 |
Kernel-loadable modules for the random(4) device are back. To use |
| 425 |
them, the kernel must have |
| 426 |
|
| 427 |
device random |
| 428 |
options RANDOM_LOADABLE |
| 429 |
|
| 430 |
kldload(8) can then be used to load random_fortuna.ko |
| 431 |
or random_yarrow.ko. Please note that due to the indirect |
| 432 |
function calls that the loadable modules need to provide, |
| 433 |
the build-in variants will be slightly more efficient. |
| 434 |
|
| 435 |
The random(4) kernel option RANDOM_DUMMY has been retired due to |
| 436 |
unpopularity. It was not all that useful anyway. |
| 437 |
|
| 438 |
20150813: |
| 439 |
The WITHOUT_ELFTOOLCHAIN_TOOLS src.conf(5) knob has been retired. |
| 440 |
Control over building the ELF Tool Chain tools is now provided by |
| 441 |
the WITHOUT_TOOLCHAIN knob. |
| 442 |
|
| 443 |
20150810: |
| 444 |
The polarity of Pulse Per Second (PPS) capture events with the |
| 445 |
uart(4) driver has been corrected. Prior to this change the PPS |
| 446 |
"assert" event corresponded to the trailing edge of a positive PPS |
| 447 |
pulse and the "clear" event was the leading edge of the next pulse. |
| 448 |
|
| 449 |
As the width of a PPS pulse in a typical GPS receiver is on the |
| 450 |
order of 1 millisecond, most users will not notice any significant |
| 451 |
difference with this change. |
| 452 |
|
| 453 |
Anyone who has compensated for the historical polarity reversal by |
| 454 |
configuring a negative offset equal to the pulse width will need to |
| 455 |
remove that workaround. |
| 456 |
|
| 457 |
20150809: |
| 458 |
The default group assigned to /dev/dri entries has been changed |
| 459 |
from 'wheel' to 'video' with the id of '44'. If you want to have |
| 460 |
access to the dri devices please add yourself to the video group |
| 461 |
with: |
| 462 |
|
| 463 |
# pw groupmod video -m $USER |
| 464 |
|
| 465 |
20150806: |
| 466 |
The menu.rc and loader.rc files will now be replaced during |
| 467 |
upgrades. Please migrate local changes to menu.rc.local and |
| 468 |
loader.rc.local instead. |
| 469 |
|
| 470 |
20150805: |
| 471 |
GNU Binutils versions of addr2line, c++filt, nm, readelf, size, |
| 472 |
strings and strip have been removed. The src.conf(5) knob |
| 473 |
WITHOUT_ELFTOOLCHAIN_TOOLS no longer provides the binutils tools. |
| 474 |
|
| 475 |
20150728: |
| 476 |
As ZFS requires more kernel stack pages than is the default on some |
| 477 |
architectures e.g. i386, it now warns if KSTACK_PAGES is less than |
| 478 |
ZFS_MIN_KSTACK_PAGES (which is 4 at the time of writing). |
| 479 |
|
| 480 |
Please consider using 'options KSTACK_PAGES=X' where X is greater |
| 481 |
than or equal to ZFS_MIN_KSTACK_PAGES i.e. 4 in such configurations. |
| 482 |
|
| 483 |
20150706: |
| 484 |
sendmail has been updated to 8.15.2. Starting with FreeBSD 11.0 |
| 485 |
and sendmail 8.15, sendmail uses uncompressed IPv6 addresses by |
| 486 |
default, i.e., they will not contain "::". For example, instead |
| 487 |
of ::1, it will be 0:0:0:0:0:0:0:1. This permits a zero subnet |
| 488 |
to have a more specific match, such as different map entries for |
| 489 |
IPv6:0:0 vs IPv6:0. This change requires that configuration |
| 490 |
data (including maps, files, classes, custom ruleset, etc.) must |
| 491 |
use the same format, so make certain such configuration data is |
| 492 |
upgrading. As a very simple check search for patterns like |
| 493 |
'IPv6:[0-9a-fA-F:]*::' and 'IPv6::'. To return to the old |
| 494 |
behavior, set the m4 option confUSE_COMPRESSED_IPV6_ADDRESSES or |
| 495 |
the cf option UseCompressedIPv6Addresses. |
| 496 |
|
| 497 |
20150630: |
| 498 |
The default kernel entropy-processing algorithm is now |
| 499 |
Fortuna, replacing Yarrow. |
| 500 |
|
| 501 |
Assuming you have 'device random' in your kernel config |
| 502 |
file, the configurations allow a kernel option to override |
| 503 |
this default. You may choose *ONE* of: |
| 504 |
|
| 505 |
options RANDOM_YARROW # Legacy /dev/random algorithm. |
| 506 |
options RANDOM_DUMMY # Blocking-only driver. |
| 507 |
|
| 508 |
If you have neither, you get Fortuna. For most people, |
| 509 |
read no further, Fortuna will give a /dev/random that works |
| 510 |
like it always used to, and the difference will be irrelevant. |
| 511 |
|
| 512 |
If you remove 'device random', you get *NO* kernel-processed |
| 513 |
entropy at all. This may be acceptable to folks building |
| 514 |
embedded systems, but has complications. Carry on reading, |
| 515 |
and it is assumed you know what you need. |
| 516 |
|
| 517 |
*PLEASE* read random(4) and random(9) if you are in the |
| 518 |
habit of tweaking kernel configs, and/or if you are a member |
| 519 |
of the embedded community, wanting specific and not-usual |
| 520 |
behaviour from your security subsystems. |
| 521 |
|
| 522 |
NOTE!! If you use RANDOM_DUMMY and/or have no 'device |
| 523 |
random', you will NOT have a functioning /dev/random, and |
| 524 |
many cryptographic features will not work, including SSH. |
| 525 |
You may also find strange behaviour from the random(3) set |
| 526 |
of library functions, in particular sranddev(3), srandomdev(3) |
| 527 |
and arc4random(3). The reason for this is that the KERN_ARND |
| 528 |
sysctl only returns entropy if it thinks it has some to |
| 529 |
share, and with RANDOM_DUMMY or no 'device random' this |
| 530 |
will never happen. |
| 531 |
|
| 532 |
20150623: |
| 533 |
An additional fix for the issue described in the 20150614 sendmail |
| 534 |
entry below has been been committed in revision 284717. |
| 535 |
|
| 536 |
20150616: |
| 537 |
FreeBSD's old make (fmake) has been removed from the system. It is |
| 538 |
available as the devel/fmake port or via pkg install fmake. |
| 539 |
|
| 540 |
20150615: |
| 541 |
The fix for the issue described in the 20150614 sendmail entry |
| 542 |
below has been been committed in revision 284436. The work |
| 543 |
around described in that entry is no longer needed unless the |
| 544 |
default setting is overridden by a confDH_PARAMETERS configuration |
| 545 |
setting of '5' or pointing to a 512 bit DH parameter file. |
| 546 |
|
| 547 |
20150614: |
| 548 |
ALLOW_DEPRECATED_ATF_TOOLS/ATFFILE support has been removed from |
| 549 |
atf.test.mk (included from bsd.test.mk). Please upgrade devel/atf |
| 550 |
and devel/kyua to version 0.20+ and adjust any calling code to work |
| 551 |
with Kyuafile and kyua. |
| 552 |
|
| 553 |
20150614: |
| 554 |
The import of openssl to address the FreeBSD-SA-15:10.openssl |
| 555 |
security advisory includes a change which rejects handshakes |
| 556 |
with DH parameters below 768 bits. sendmail releases prior |
| 557 |
to 8.15.2 (not yet released), defaulted to a 512 bit |
| 558 |
DH parameter setting for client connections. To work around |
| 559 |
this interoperability, sendmail can be configured to use a |
| 560 |
2048 bit DH parameter by: |
| 561 |
|
| 562 |
1. Edit /etc/mail/`hostname`.mc |
| 563 |
2. If a setting for confDH_PARAMETERS does not exist or |
| 564 |
exists and is set to a string beginning with '5', |
| 565 |
replace it with '2'. |
| 566 |
3. If a setting for confDH_PARAMETERS exists and is set to |
| 567 |
a file path, create a new file with: |
| 568 |
openssl dhparam -out /path/to/file 2048 |
| 569 |
4. Rebuild the .cf file: |
| 570 |
cd /etc/mail/; make; make install |
| 571 |
5. Restart sendmail: |
| 572 |
cd /etc/mail/; make restart |
| 573 |
|
| 574 |
A sendmail patch is coming, at which time this file will be |
| 575 |
updated. |
| 576 |
|
| 577 |
20150604: |
| 578 |
Generation of legacy formatted entries have been disabled by default |
| 579 |
in pwd_mkdb(8), as all base system consumers of the legacy formatted |
| 580 |
entries were converted to use the new format by default when the new, |
| 581 |
machine independent format have been added and supported since FreeBSD |
| 582 |
5.x. |
| 583 |
|
| 584 |
Please see the pwd_mkdb(8) manual page for further details. |
| 585 |
|
| 586 |
20150525: |
| 587 |
Clang and llvm have been upgraded to 3.6.1 release. Please see the |
| 588 |
20141231 entry below for information about prerequisites and upgrading, |
| 589 |
if you are not already using 3.5.0 or higher. |
| 590 |
|
| 591 |
20150521: |
| 592 |
TI platform code switched to using vendor DTS files and this update |
| 593 |
may break existing systems running on Beaglebone, Beaglebone Black, |
| 594 |
and Pandaboard: |
| 595 |
|
| 596 |
- dtb files should be regenerated/reinstalled. Filenames are the |
| 597 |
same but content is different now |
| 598 |
- GPIO addressing was changed, now each GPIO bank (32 pins per bank) |
| 599 |
has its own /dev/gpiocX device, e.g. pin 121 on /dev/gpioc0 in old |
| 600 |
addressing scheme is now pin 25 on /dev/gpioc3. |
| 601 |
- Pandaboard: /etc/ttys should be updated, serial console device is |
| 602 |
now /dev/ttyu2, not /dev/ttyu0 |
| 603 |
|
| 604 |
20150501: |
| 605 |
soelim(1) from gnu/usr.bin/groff has been replaced by usr.bin/soelim. |
| 606 |
If you need the GNU extension from groff soelim(1), install groff |
| 607 |
from package: pkg install groff, or via ports: textproc/groff. |
| 608 |
|
| 609 |
20150423: |
| 610 |
chmod, chflags, chown and chgrp now affect symlinks in -R mode as |
| 611 |
defined in symlink(7); previously symlinks were silently ignored. |
| 612 |
|
| 613 |
20150415: |
| 614 |
The const qualifier has been removed from iconv(3) to comply with |
| 615 |
POSIX. The ports tree is aware of this from r384038 onwards. |
| 616 |
|
| 617 |
20150416: |
| 618 |
Libraries specified by LIBADD in Makefiles must have a corresponding |
| 619 |
DPADD_<lib> variable to ensure correct dependencies. This is now |
| 620 |
enforced in src.libnames.mk. |
| 621 |
|
| 622 |
20150324: |
| 623 |
From legacy ata(4) driver was removed support for SATA controllers |
| 624 |
supported by more functional drivers ahci(4), siis(4) and mvs(4). |
| 625 |
Kernel modules ataahci and ataadaptec were removed completely, |
| 626 |
replaced by ahci and mvs modules respectively. |
| 627 |
|
| 628 |
20150315: |
| 629 |
Clang, llvm and lldb have been upgraded to 3.6.0 release. Please see |
| 630 |
the 20141231 entry below for information about prerequisites and |
| 631 |
upgrading, if you are not already using 3.5.0 or higher. |
| 632 |
|
| 633 |
20150307: |
| 634 |
The 32-bit PowerPC kernel has been changed to a position-independent |
| 635 |
executable. This can only be booted with a version of loader(8) |
| 636 |
newer than January 31, 2015, so make sure to update both world and |
| 637 |
kernel before rebooting. |
| 638 |
|
| 639 |
20150217: |
| 640 |
If you are running a -CURRENT kernel since r273872 (Oct 30th, 2014), |
| 641 |
but before r278950, the RNG was not seeded properly. Immediately |
| 642 |
upgrade the kernel to r278950 or later and regenerate any keys (e.g. |
| 643 |
ssh keys or openssl keys) that were generated w/ a kernel from that |
| 644 |
range. This does not affect programs that directly used /dev/random |
| 645 |
or /dev/urandom. All userland uses of arc4random(3) are affected. |
| 646 |
|
| 647 |
20150210: |
| 648 |
The autofs(4) ABI was changed in order to restore binary compatibility |
| 649 |
with 10.1-RELEASE. The automountd(8) daemon needs to be rebuilt to work |
| 650 |
with the new kernel. |
| 651 |
|
| 652 |
20150131: |
| 653 |
The powerpc64 kernel has been changed to a position-independent |
| 654 |
executable. This can only be booted with a new version of loader(8), |
| 655 |
so make sure to update both world and kernel before rebooting. |
| 656 |
|
| 657 |
20150118: |
| 658 |
Clang and llvm have been upgraded to 3.5.1 release. This is a bugfix |
| 659 |
only release, no new features have been added. Please see the 20141231 |
| 660 |
entry below for information about prerequisites and upgrading, if you |
| 661 |
are not already using 3.5.0. |
| 662 |
|
| 663 |
20150107: |
| 664 |
ELF tools addr2line, elfcopy (strip), nm, size, and strings are now |
| 665 |
taken from the ELF Tool Chain project rather than GNU binutils. They |
| 666 |
should be drop-in replacements, with the addition of arm64 support. |
| 667 |
The WITHOUT_ELFTOOLCHAIN_TOOLS= knob may be used to obtain the |
| 668 |
binutils tools, if necessary. See 20150805 for updated information. |
| 669 |
|
| 670 |
20150105: |
| 671 |
The default Unbound configuration now enables remote control |
| 672 |
using a local socket. Users who have already enabled the |
| 673 |
local_unbound service should regenerate their configuration |
| 674 |
by running "service local_unbound setup" as root. |
| 675 |
|
| 676 |
20150102: |
| 677 |
The GNU texinfo and GNU info pages have been removed. |
| 678 |
To be able to view GNU info pages please install texinfo from ports. |
| 679 |
|
| 680 |
20141231: |
| 681 |
Clang, llvm and lldb have been upgraded to 3.5.0 release. |
| 682 |
|
| 683 |
As of this release, a prerequisite for building clang, llvm and lldb is |
| 684 |
a C++11 capable compiler and C++11 standard library. This means that to |
| 685 |
be able to successfully build the cross-tools stage of buildworld, with |
| 686 |
clang as the bootstrap compiler, your system compiler or cross compiler |
| 687 |
should either be clang 3.3 or later, or gcc 4.8 or later, and your |
| 688 |
system C++ library should be libc++, or libdstdc++ from gcc 4.8 or |
| 689 |
later. |
| 690 |
|
| 691 |
On any standard FreeBSD 10.x or 11.x installation, where clang and |
| 692 |
libc++ are on by default (that is, on x86 or arm), this should work out |
| 693 |
of the box. |
| 694 |
|
| 695 |
On 9.x installations where clang is enabled by default, e.g. on x86 and |
| 696 |
powerpc, libc++ will not be enabled by default, so libc++ should be |
| 697 |
built (with clang) and installed first. If both clang and libc++ are |
| 698 |
missing, build clang first, then use it to build libc++. |
| 699 |
|
| 700 |
On 8.x and earlier installations, upgrade to 9.x first, and then follow |
| 701 |
the instructions for 9.x above. |
| 702 |
|
| 703 |
Sparc64 and mips users are unaffected, as they still use gcc 4.2.1 by |
| 704 |
default, and do not build clang. |
| 705 |
|
| 706 |
Many embedded systems are resource constrained, and will not be able to |
| 707 |
build clang in a reasonable time, or in some cases at all. In those |
| 708 |
cases, cross building bootable systems on amd64 is a workaround. |
| 709 |
|
| 710 |
This new version of clang introduces a number of new warnings, of which |
| 711 |
the following are most likely to appear: |
| 712 |
|
| 713 |
-Wabsolute-value |
| 714 |
|
| 715 |
This warns in two cases, for both C and C++: |
| 716 |
* When the code is trying to take the absolute value of an unsigned |
| 717 |
quantity, which is effectively a no-op, and almost never what was |
| 718 |
intended. The code should be fixed, if at all possible. If you are |
| 719 |
sure that the unsigned quantity can be safely cast to signed, without |
| 720 |
loss of information or undefined behavior, you can add an explicit |
| 721 |
cast, or disable the warning. |
| 722 |
|
| 723 |
* When the code is trying to take an absolute value, but the called |
| 724 |
abs() variant is for the wrong type, which can lead to truncation. |
| 725 |
If you want to disable the warning instead of fixing the code, please |
| 726 |
make sure that truncation will not occur, or it might lead to unwanted |
| 727 |
side-effects. |
| 728 |
|
| 729 |
-Wtautological-undefined-compare and |
| 730 |
-Wundefined-bool-conversion |
| 731 |
|
| 732 |
These warn when C++ code is trying to compare 'this' against NULL, while |
| 733 |
'this' should never be NULL in well-defined C++ code. However, there is |
| 734 |
some legacy (pre C++11) code out there, which actively abuses this |
| 735 |
feature, which was less strictly defined in previous C++ versions. |
| 736 |
|
| 737 |
Squid and openjdk do this, for example. The warning can be turned off |
| 738 |
for C++98 and earlier, but compiling the code in C++11 mode might result |
| 739 |
in unexpected behavior; for example, the parts of the program that are |
| 740 |
unreachable could be optimized away. |
| 741 |
|
| 742 |
20141222: |
| 743 |
The old NFS client and server (kernel options NFSCLIENT, NFSSERVER) |
| 744 |
kernel sources have been removed. The .h files remain, since some |
| 745 |
utilities include them. This will need to be fixed later. |
| 746 |
If "mount -t oldnfs ..." is attempted, it will fail. |
| 747 |
If the "-o" option on mountd(8), nfsd(8) or nfsstat(1) is used, |
| 748 |
the utilities will report errors. |
| 749 |
|
| 750 |
20141121: |
| 751 |
The handling of LOCAL_LIB_DIRS has been altered to skip addition of |
| 752 |
directories to top level SUBDIR variable when their parent |
| 753 |
directory is included in LOCAL_DIRS. Users with build systems with |
| 754 |
such hierarchies and without SUBDIR entries in the parent |
| 755 |
directory Makefiles should add them or add the directories to |
| 756 |
LOCAL_DIRS. |
| 757 |
|
| 758 |
20141109: |
| 759 |
faith(4) and faithd(8) have been removed from the base system. Faith |
| 760 |
has been obsolete for a very long time. |
| 761 |
|
| 762 |
20141104: |
| 763 |
vt(4), the new console driver, is enabled by default. It brings |
| 764 |
support for Unicode and double-width characters, as well as |
| 765 |
support for UEFI and integration with the KMS kernel video |
| 766 |
drivers. |
| 767 |
|
| 768 |
You may need to update your console settings in /etc/rc.conf, |
| 769 |
most probably the keymap. During boot, /etc/rc.d/syscons will |
| 770 |
indicate what you need to do. |
| 771 |
|
| 772 |
vt(4) still has issues and lacks some features compared to |
| 773 |
syscons(4). See the wiki for up-to-date information: |
| 774 |
https://wiki.freebsd.org/Newcons |
| 775 |
|
| 776 |
If you want to keep using syscons(4), you can do so by adding |
| 777 |
the following line to /boot/loader.conf: |
| 778 |
kern.vty=sc |
| 779 |
|
| 780 |
20141102: |
| 781 |
pjdfstest has been integrated into kyua as an opt-in test suite. |
| 782 |
Please see share/doc/pjdfstest/README for more details on how to |
| 783 |
execute it. |
| 784 |
|
| 785 |
20141009: |
| 786 |
gperf has been removed from the base system for architectures |
| 787 |
that use clang. Ports that require gperf will obtain it from the |
| 788 |
devel/gperf port. |
| 789 |
|
| 790 |
20140923: |
| 791 |
pjdfstest has been moved from tools/regression/pjdfstest to |
| 792 |
contrib/pjdfstest . |
| 793 |
|
| 794 |
20140922: |
| 795 |
At svn r271982, The default linux compat kernel ABI has been adjusted |
| 796 |
to 2.6.18 in support of the linux-c6 compat ports infrastructure |
| 797 |
update. If you wish to continue using the linux-f10 compat ports, |
| 798 |
add compat.linux.osrelease=2.6.16 to your local sysctl.conf. Users are |
| 799 |
encouraged to update their linux-compat packages to linux-c6 during |
| 800 |
their next update cycle. |
| 801 |
|
| 802 |
20140729: |
| 803 |
The ofwfb driver, used to provide a graphics console on PowerPC when |
| 804 |
using vt(4), no longer allows mmap() of all physical memory. This |
| 805 |
will prevent Xorg on PowerPC with some ATI graphics cards from |
| 806 |
initializing properly unless x11-servers/xorg-server is updated to |
| 807 |
1.12.4_8 or newer. |
| 808 |
|
| 809 |
20140723: |
| 810 |
The xdev targets have been converted to using TARGET and |
| 811 |
TARGET_ARCH instead of XDEV and XDEV_ARCH. |
| 812 |
|
| 813 |
20140719: |
| 814 |
The default unbound configuration has been modified to address |
| 815 |
issues with reverse lookups on networks that use private |
| 816 |
address ranges. If you use the local_unbound service, run |
| 817 |
"service local_unbound setup" as root to regenerate your |
| 818 |
configuration, then "service local_unbound reload" to load the |
| 819 |
new configuration. |
| 820 |
|
| 821 |
20140709: |
| 822 |
The GNU texinfo and GNU info pages are not built and installed |
| 823 |
anymore, WITH_INFO knob has been added to allow to built and install |
| 824 |
them again. |
| 825 |
UPDATE: see 20150102 entry on texinfo's removal |
| 826 |
|
| 827 |
20140708: |
| 828 |
The GNU readline library is now an INTERNALLIB - that is, it is |
| 829 |
statically linked into consumers (GDB and variants) in the base |
| 830 |
system, and the shared library is no longer installed. The |
| 831 |
devel/readline port is available for third party software that |
| 832 |
requires readline. |
| 833 |
|
| 834 |
20140702: |
| 835 |
The Itanium architecture (ia64) has been removed from the list of |
| 836 |
known architectures. This is the first step in the removal of the |
| 837 |
architecture. |
| 838 |
|
| 839 |
20140701: |
| 840 |
Commit r268115 has added NFSv4.1 server support, merged from |
| 841 |
projects/nfsv4.1-server. Since this includes changes to the |
| 842 |
internal interfaces between the NFS related modules, a full |
| 843 |
build of the kernel and modules will be necessary. |
| 844 |
__FreeBSD_version has been bumped. |
| 845 |
|
| 846 |
20140629: |
| 847 |
The WITHOUT_VT_SUPPORT kernel config knob has been renamed |
| 848 |
WITHOUT_VT. (The other _SUPPORT knobs have a consistent meaning |
| 849 |
which differs from the behaviour controlled by this knob.) |
| 850 |
|
| 851 |
20140619: |
| 852 |
Maximal length of the serial number in CTL was increased from 16 to |
| 853 |
64 chars, that breaks ABI. All CTL-related tools, such as ctladm |
| 854 |
and ctld, need to be rebuilt to work with a new kernel. |
| 855 |
|
| 856 |
20140606: |
| 857 |
The libatf-c and libatf-c++ major versions were downgraded to 0 and |
| 858 |
1 respectively to match the upstream numbers. They were out of |
| 859 |
sync because, when they were originally added to FreeBSD, the |
| 860 |
upstream versions were not respected. These libraries are private |
| 861 |
and not yet built by default, so renumbering them should be a |
| 862 |
non-issue. However, unclean source trees will yield broken test |
| 863 |
programs once the operator executes "make delete-old-libs" after a |
| 864 |
"make installworld". |
| 865 |
|
| 866 |
Additionally, the atf-sh binary was made private by moving it into |
| 867 |
/usr/libexec/. Already-built shell test programs will keep the |
| 868 |
path to the old binary so they will break after "make delete-old" |
| 869 |
is run. |
| 870 |
|
| 871 |
If you are using WITH_TESTS=yes (not the default), wipe the object |
| 872 |
tree and rebuild from scratch to prevent spurious test failures. |
| 873 |
This is only needed once: the misnumbered libraries and misplaced |
| 874 |
binaries have been added to OptionalObsoleteFiles.inc so they will |
| 875 |
be removed during a clean upgrade. |
| 876 |
|
| 877 |
20140512: |
| 878 |
Clang and llvm have been upgraded to 3.4.1 release. |
| 879 |
|
| 880 |
20140508: |
| 881 |
We bogusly installed src.opts.mk in /usr/share/mk. This file should |
| 882 |
be removed to avoid issues in the future (and has been added to |
| 883 |
ObsoleteFiles.inc). |
| 884 |
|
| 885 |
20140505: |
| 886 |
/etc/src.conf now affects only builds of the FreeBSD src tree. In the |
| 887 |
past, it affected all builds that used the bsd.*.mk files. The old |
| 888 |
behavior was a bug, but people may have relied upon it. To get this |
| 889 |
behavior back, you can .include /etc/src.conf from /etc/make.conf |
| 890 |
(which is still global and isn't changed). This also changes the |
| 891 |
behavior of incremental builds inside the tree of individual |
| 892 |
directories. Set MAKESYSPATH to ".../share/mk" to do that. |
| 893 |
Although this has survived make universe and some upgrade scenarios, |
| 894 |
other upgrade scenarios may have broken. At least one form of |
| 895 |
temporary breakage was fixed with MAKESYSPATH settings for buildworld |
| 896 |
as well... In cases where MAKESYSPATH isn't working with this |
| 897 |
setting, you'll need to set it to the full path to your tree. |
| 898 |
|
| 899 |
One side effect of all this cleaning up is that bsd.compiler.mk |
| 900 |
is no longer implicitly included by bsd.own.mk. If you wish to |
| 901 |
use COMPILER_TYPE, you must now explicitly include bsd.compiler.mk |
| 902 |
as well. |
| 903 |
|
| 904 |
20140430: |
| 905 |
The lindev device has been removed since /dev/full has been made a |
| 906 |
standard device. __FreeBSD_version has been bumped. |
| 907 |
|
| 908 |
20140424: |
| 909 |
The knob WITHOUT_VI was added to the base system, which controls |
| 910 |
building ex(1), vi(1), etc. Older releases of FreeBSD required ex(1) |
| 911 |
in order to reorder files share/termcap and didn't build ex(1) as a |
| 912 |
build tool, so building/installing with WITH_VI is highly advised for |
| 913 |
build hosts for older releases. |
| 914 |
|
| 915 |
This issue has been fixed in stable/9 and stable/10 in r277022 and |
| 916 |
r276991, respectively. |
| 917 |
|
| 918 |
20140418: |
| 919 |
The YES_HESIOD knob has been removed. It has been obsolete for |
| 920 |
a decade. Please move to using WITH_HESIOD instead or your builds |
| 921 |
will silently lack HESIOD. |
| 922 |
|
| 923 |
20140405: |
| 924 |
The uart(4) driver has been changed with respect to its handling |
| 925 |
of the low-level console. Previously the uart(4) driver prevented |
| 926 |
any process from changing the baudrate or the CLOCAL and HUPCL |
| 927 |
control flags. By removing the restrictions, operators can make |
| 928 |
changes to the serial console port without having to reboot. |
| 929 |
However, when getty(8) is started on the serial device that is |
| 930 |
associated with the low-level console, a misconfigured terminal |
| 931 |
line in /etc/ttys will now have a real impact. |
| 932 |
Before upgrading the kernel, make sure that /etc/ttys has the |
| 933 |
serial console device configured as 3wire without baudrate to |
| 934 |
preserve the previous behaviour. E.g: |
| 935 |
ttyu0 "/usr/libexec/getty 3wire" vt100 on secure |
| 936 |
|
| 937 |
20140306: |
| 938 |
Support for libwrap (TCP wrappers) in rpcbind was disabled by default |
| 939 |
to improve performance. To re-enable it, if needed, run rpcbind |
| 940 |
with command line option -W. |
| 941 |
|
| 942 |
20140226: |
| 943 |
Switched back to the GPL dtc compiler due to updates in the upstream |
| 944 |
dts files not being supported by the BSDL dtc compiler. You will need |
| 945 |
to rebuild your kernel toolchain to pick up the new compiler. Core dumps |
| 946 |
may result while building dtb files during a kernel build if you fail |
| 947 |
to do so. Set WITHOUT_GPL_DTC if you require the BSDL compiler. |
| 948 |
|
| 949 |
20140216: |
| 950 |
Clang and llvm have been upgraded to 3.4 release. |
| 951 |
|
| 952 |
20140216: |
| 953 |
The nve(4) driver has been removed. Please use the nfe(4) driver |
| 954 |
for NVIDIA nForce MCP Ethernet adapters instead. |
| 955 |
|
| 956 |
20140212: |
| 957 |
An ABI incompatibility crept into the libc++ 3.4 import in r261283. |
| 958 |
This could cause certain C++ applications using shared libraries built |
| 959 |
against the previous version of libc++ to crash. The incompatibility |
| 960 |
has now been fixed, but any C++ applications or shared libraries built |
| 961 |
between r261283 and r261801 should be recompiled. |
| 962 |
|
| 963 |
20140204: |
| 964 |
OpenSSH will now ignore errors caused by kernel lacking of Capsicum |
| 965 |
capability mode support. Please note that enabling the feature in |
| 966 |
kernel is still highly recommended. |
| 967 |
|
| 968 |
20140131: |
| 969 |
OpenSSH is now built with sandbox support, and will use sandbox as |
| 970 |
the default privilege separation method. This requires Capsicum |
| 971 |
capability mode support in kernel. |
| 972 |
|
| 973 |
20140128: |
| 974 |
The libelf and libdwarf libraries have been updated to newer |
| 975 |
versions from upstream. Shared library version numbers for |
| 976 |
these two libraries were bumped. Any ports or binaries |
| 977 |
requiring these two libraries should be recompiled. |
| 978 |
__FreeBSD_version is bumped to 1100006. |
| 979 |
|
| 980 |
20140110: |
| 981 |
If a Makefile in a tests/ directory was auto-generating a Kyuafile |
| 982 |
instead of providing an explicit one, this would prevent such |
| 983 |
Makefile from providing its own Kyuafile in the future during |
| 984 |
NO_CLEAN builds. This has been fixed in the Makefiles but manual |
| 985 |
intervention is needed to clean an objdir if you use NO_CLEAN: |
| 986 |
# find /usr/obj -name Kyuafile | xargs rm -f |
| 987 |
|
| 988 |
20131213: |
| 989 |
The behavior of gss_pseudo_random() for the krb5 mechanism |
| 990 |
has changed, for applications requesting a longer random string |
| 991 |
than produced by the underlying enctype's pseudo-random() function. |
| 992 |
In particular, the random string produced from a session key of |
| 993 |
enctype aes256-cts-hmac-sha1-96 or aes256-cts-hmac-sha1-96 will |
| 994 |
be different at the 17th octet and later, after this change. |
| 995 |
The counter used in the PRF+ construction is now encoded as a |
| 996 |
big-endian integer in accordance with RFC 4402. |
| 997 |
__FreeBSD_version is bumped to 1100004. |
| 998 |
|
| 999 |
20131108: |
| 1000 |
The WITHOUT_ATF build knob has been removed and its functionality |
| 1001 |
has been subsumed into the more generic WITHOUT_TESTS. If you were |
| 1002 |
using the former to disable the build of the ATF libraries, you |
| 1003 |
should change your settings to use the latter. |
| 1004 |
|
| 1005 |
20131025: |
| 1006 |
The default version of mtree is nmtree which is obtained from |
| 1007 |
NetBSD. The output is generally the same, but may vary |
| 1008 |
slightly. If you found you need identical output adding |
| 1009 |
"-F freebsd9" to the command line should do the trick. For the |
| 1010 |
time being, the old mtree is available as fmtree. |
| 1011 |
|
| 1012 |
20131014: |
| 1013 |
libbsdyml has been renamed to libyaml and moved to /usr/lib/private. |
| 1014 |
This will break ports-mgmt/pkg. Rebuild the port, or upgrade to pkg |
| 1015 |
1.1.4_8 and verify bsdyml not linked in, before running "make |
| 1016 |
delete-old-libs": |
| 1017 |
# make -C /usr/ports/ports-mgmt/pkg build deinstall install clean |
| 1018 |
or |
| 1019 |
# pkg install pkg; ldd /usr/local/sbin/pkg | grep bsdyml |
| 1020 |
|
| 1021 |
20131010: |
| 1022 |
The stable/10 branch has been created in subversion from head |
| 1023 |
revision r256279. |
| 1024 |
|
| 1025 |
20131010: |
| 1026 |
The rc.d/jail script has been updated to support jail(8) |
| 1027 |
configuration file. The "jail_<jname>_*" rc.conf(5) variables |
| 1028 |
for per-jail configuration are automatically converted to |
| 1029 |
/var/run/jail.<jname>.conf before the jail(8) utility is invoked. |
| 1030 |
This is transparently backward compatible. See below about some |
| 1031 |
incompatibilities and rc.conf(5) manual page for more details. |
| 1032 |
|
| 1033 |
These variables are now deprecated in favor of jail(8) configuration |
| 1034 |
file. One can use "rc.d/jail config <jname>" command to generate |
| 1035 |
a jail(8) configuration file in /var/run/jail.<jname>.conf without |
| 1036 |
running the jail(8) utility. The default pathname of the |
| 1037 |
configuration file is /etc/jail.conf and can be specified by |
| 1038 |
using $jail_conf or $jail_<jname>_conf variables. |
| 1039 |
|
| 1040 |
Please note that jail_devfs_ruleset accepts an integer at |
| 1041 |
this moment. Please consider to rewrite the ruleset name |
| 1042 |
with an integer. |
| 1043 |
|
| 1044 |
20130930: |
| 1045 |
BIND has been removed from the base system. If all you need |
| 1046 |
is a local resolver, simply enable and start the local_unbound |
| 1047 |
service instead. Otherwise, several versions of BIND are |
| 1048 |
available in the ports tree. The dns/bind99 port is one example. |
| 1049 |
|
| 1050 |
With this change, nslookup(1) and dig(1) are no longer in the base |
| 1051 |
system. Users should instead use host(1) and drill(1) which are |
| 1052 |
in the base system. Alternatively, nslookup and dig can |
| 1053 |
be obtained by installing the dns/bind-tools port. |
| 1054 |
|
| 1055 |
20130916: |
| 1056 |
With the addition of unbound(8), a new unbound user is now |
| 1057 |
required during installworld. "mergemaster -p" can be used to |
| 1058 |
add the user prior to installworld, as documented in the handbook. |
| 1059 |
|
| 1060 |
20130911: |
| 1061 |
OpenSSH is now built with DNSSEC support, and will by default |
| 1062 |
silently trust signed SSHFP records. This can be controlled with |
| 1063 |
the VerifyHostKeyDNS client configuration setting. DNSSEC support |
| 1064 |
can be disabled entirely with the WITHOUT_LDNS option in src.conf. |
| 1065 |
|
| 1066 |
20130906: |
| 1067 |
The GNU Compiler Collection and C++ standard library (libstdc++) |
| 1068 |
are no longer built by default on platforms where clang is the system |
| 1069 |
compiler. You can enable them with the WITH_GCC and WITH_GNUCXX |
| 1070 |
options in src.conf. |
| 1071 |
|
| 1072 |
20130905: |
| 1073 |
The PROCDESC kernel option is now part of the GENERIC kernel |
| 1074 |
configuration and is required for the rwhod(8) to work. |
| 1075 |
If you are using custom kernel configuration, you should include |
| 1076 |
'options PROCDESC'. |
| 1077 |
|
| 1078 |
20130905: |
| 1079 |
The API and ABI related to the Capsicum framework was modified |
| 1080 |
in backward incompatible way. The userland libraries and programs |
| 1081 |
have to be recompiled to work with the new kernel. This includes the |
| 1082 |
following libraries and programs, but the whole buildworld is |
| 1083 |
advised: libc, libprocstat, dhclient, tcpdump, hastd, hastctl, |
| 1084 |
kdump, procstat, rwho, rwhod, uniq. |
| 1085 |
|
| 1086 |
20130903: |
| 1087 |
AES-NI intrinsic support has been added to gcc. The AES-NI module |
| 1088 |
has been updated to use this support. A new gcc is required to build |
| 1089 |
the aesni module on both i386 and amd64. |
| 1090 |
|
| 1091 |
20130821: |
| 1092 |
The PADLOCK_RNG and RDRAND_RNG kernel options are now devices. |
| 1093 |
Thus "device padlock_rng" and "device rdrand_rng" should be |
| 1094 |
used instead of "options PADLOCK_RNG" & "options RDRAND_RNG". |
| 1095 |
|
| 1096 |
20130813: |
| 1097 |
WITH_ICONV has been split into two feature sets. WITH_ICONV now |
| 1098 |
enables just the iconv* functionality and is now on by default. |
| 1099 |
WITH_LIBICONV_COMPAT enables the libiconv api and link time |
| 1100 |
compatibility. Set WITHOUT_ICONV to build the old way. |
| 1101 |
If you have been using WITH_ICONV before, you will very likely |
| 1102 |
need to turn on WITH_LIBICONV_COMPAT. |
| 1103 |
|
| 1104 |
20130806: |
| 1105 |
INVARIANTS option now enables DEBUG for code with OpenSolaris and |
| 1106 |
Illumos origin, including ZFS. If you have INVARIANTS in your |
| 1107 |
kernel configuration, then there is no need to set DEBUG or ZFS_DEBUG |
| 1108 |
explicitly. |
| 1109 |
DEBUG used to enable witness(9) tracking of OpenSolaris (mostly ZFS) |
| 1110 |
locks if WITNESS option was set. Because that generated a lot of |
| 1111 |
witness(9) reports and all of them were believed to be false |
| 1112 |
positives, this is no longer done. New option OPENSOLARIS_WITNESS |
| 1113 |
can be used to achieve the previous behavior. |
| 1114 |
|
| 1115 |
20130806: |
| 1116 |
Timer values in IPv6 data structures now use time_uptime instead |
| 1117 |
of time_second. Although this is not a user-visible functional |
| 1118 |
change, userland utilities which directly use them---ndp(8), |
| 1119 |
rtadvd(8), and rtsold(8) in the base system---need to be updated |
| 1120 |
to r253970 or later. |
| 1121 |
|
| 1122 |
20130802: |
| 1123 |
find -delete can now delete the pathnames given as arguments, |
| 1124 |
instead of only files found below them or if the pathname did |
| 1125 |
not contain any slashes. Formerly, the following error message |
| 1126 |
would result: |
| 1127 |
|
| 1128 |
find: -delete: <path>: relative path potentially not safe |
| 1129 |
|
| 1130 |
Deleting the pathnames given as arguments can be prevented |
| 1131 |
without error messages using -mindepth 1 or by changing |
| 1132 |
directory and passing "." as argument to find. This works in the |
| 1133 |
old as well as the new version of find. |
| 1134 |
|
| 1135 |
20130726: |
| 1136 |
Behavior of devfs rules path matching has been changed. |
| 1137 |
Pattern is now always matched against fully qualified devfs |
| 1138 |
path and slash characters must be explicitly matched by |
| 1139 |
slashes in pattern (FNM_PATHNAME). Rulesets involving devfs |
| 1140 |
subdirectories must be reviewed. |
| 1141 |
|
| 1142 |
20130716: |
| 1143 |
The default ARM ABI has changed to the ARM EABI. The old ABI is |
| 1144 |
incompatible with the ARM EABI and all programs and modules will |
| 1145 |
need to be rebuilt to work with a new kernel. |
| 1146 |
|
| 1147 |
To keep using the old ABI ensure the WITHOUT_ARM_EABI knob is set. |
| 1148 |
|
| 1149 |
NOTE: Support for the old ABI will be removed in the future and |
| 1150 |
users are advised to upgrade. |
| 1151 |
|
| 1152 |
20130709: |
| 1153 |
pkg_install has been disconnected from the build if you really need it |
| 1154 |
you should add WITH_PKGTOOLS in your src.conf(5). |
| 1155 |
|
| 1156 |
20130709: |
| 1157 |
Most of network statistics structures were changed to be able |
| 1158 |
keep 64-bits counters. Thus all tools, that work with networking |
| 1159 |
statistics, must be rebuilt (netstat(1), bsnmpd(1), etc.) |
| 1160 |
|
| 1161 |
20130618: |
| 1162 |
Fix a bug that allowed a tracing process (e.g. gdb) to write |
| 1163 |
to a memory-mapped file in the traced process's address space |
| 1164 |
even if neither the traced process nor the tracing process had |
| 1165 |
write access to that file. |
| 1166 |
|
| 1167 |
20130615: |
| 1168 |
CVS has been removed from the base system. An exact copy |
| 1169 |
of the code is available from the devel/cvs port. |
| 1170 |
|
| 1171 |
20130613: |
| 1172 |
Some people report the following error after the switch to bmake: |
| 1173 |
|
| 1174 |
make: illegal option -- J |
| 1175 |
usage: make [-BPSXeiknpqrstv] [-C directory] [-D variable] |
| 1176 |
... |
| 1177 |
*** [buildworld] Error code 2 |
| 1178 |
|
| 1179 |
this likely due to an old instance of make in |
| 1180 |
${MAKEPATH} (${MAKEOBJDIRPREFIX}${.CURDIR}/make.${MACHINE}) |
| 1181 |
which src/Makefile will use that blindly, if it exists, so if |
| 1182 |
you see the above error: |
| 1183 |
|
| 1184 |
rm -rf `make -V MAKEPATH` |
| 1185 |
|
| 1186 |
should resolve it. |
| 1187 |
|
| 1188 |
20130516: |
| 1189 |
Use bmake by default. |
| 1190 |
Whereas before one could choose to build with bmake via |
| 1191 |
-DWITH_BMAKE one must now use -DWITHOUT_BMAKE to use the old |
| 1192 |
make. The goal is to remove these knobs for 10-RELEASE. |
| 1193 |
|
| 1194 |
It is worth noting that bmake (like gmake) treats the command |
| 1195 |
line as the unit of failure, rather than statements within the |
| 1196 |
command line. Thus '(cd some/where && dosomething)' is safer |
| 1197 |
than 'cd some/where; dosomething'. The '()' allows consistent |
| 1198 |
behavior in parallel build. |
| 1199 |
|
| 1200 |
20130429: |
| 1201 |
Fix a bug that allows NFS clients to issue READDIR on files. |
| 1202 |
|
| 1203 |
20130426: |
| 1204 |
The WITHOUT_IDEA option has been removed because |
| 1205 |
the IDEA patent expired. |
| 1206 |
|
| 1207 |
20130426: |
| 1208 |
The sysctl which controls TRIM support under ZFS has been renamed |
| 1209 |
from vfs.zfs.trim_disable -> vfs.zfs.trim.enabled and has been |
| 1210 |
enabled by default. |
| 1211 |
|
| 1212 |
20130425: |
| 1213 |
The mergemaster command now uses the default MAKEOBJDIRPREFIX |
| 1214 |
rather than creating it's own in the temporary directory in |
| 1215 |
order allow access to bootstrapped versions of tools such as |
| 1216 |
install and mtree. When upgrading from version of FreeBSD where |
| 1217 |
the install command does not support -l, you will need to |
| 1218 |
install a new mergemaster command if mergemaster -p is required. |
| 1219 |
This can be accomplished with the command (cd src/usr.sbin/mergemaster |
| 1220 |
&& make install). |
| 1221 |
|
| 1222 |
20130404: |
| 1223 |
Legacy ATA stack, disabled and replaced by new CAM-based one since |
| 1224 |
FreeBSD 9.0, completely removed from the sources. Kernel modules |
| 1225 |
atadisk and atapi*, user-level tools atacontrol and burncd are |
| 1226 |
removed. Kernel option `options ATA_CAM` is now permanently enabled |
| 1227 |
and removed. |
| 1228 |
|
| 1229 |
20130319: |
| 1230 |
SOCK_CLOEXEC and SOCK_NONBLOCK flags have been added to socket(2) |
| 1231 |
and socketpair(2). Software, in particular Kerberos, may |
| 1232 |
automatically detect and use these during building. The resulting |
| 1233 |
binaries will not work on older kernels. |
| 1234 |
|
| 1235 |
20130308: |
| 1236 |
CTL_DISABLE has also been added to the sparc64 GENERIC (for further |
| 1237 |
information, see the respective 20130304 entry). |
| 1238 |
|
| 1239 |
20130304: |
| 1240 |
Recent commits to callout(9) changed the size of struct callout, |
| 1241 |
so the KBI is probably heavily disturbed. Also, some functions |
| 1242 |
in callout(9)/sleep(9)/sleepqueue(9)/condvar(9) KPIs were replaced |
| 1243 |
by macros. Every kernel module using it won't load, so rebuild |
| 1244 |
is requested. |
| 1245 |
|
| 1246 |
The ctl device has been re-enabled in GENERIC for i386 and amd64, |
| 1247 |
but does not initialize by default (because of the new CTL_DISABLE |
| 1248 |
option) to save memory. To re-enable it, remove the CTL_DISABLE |
| 1249 |
option from the kernel config file or set kern.cam.ctl.disable=0 |
| 1250 |
in /boot/loader.conf. |
| 1251 |
|
| 1252 |
20130301: |
| 1253 |
The ctl device has been disabled in GENERIC for i386 and amd64. |
| 1254 |
This was done due to the extra memory being allocated at system |
| 1255 |
initialisation time by the ctl driver which was only used if |
| 1256 |
a CAM target device was created. This makes a FreeBSD system |
| 1257 |
unusable on 128MB or less of RAM. |
| 1258 |
|
| 1259 |
20130208: |
| 1260 |
A new compression method (lz4) has been merged to -HEAD. Please |
| 1261 |
refer to zpool-features(7) for more information. |
| 1262 |
|
| 1263 |
Please refer to the "ZFS notes" section of this file for information |
| 1264 |
on upgrading boot ZFS pools. |
| 1265 |
|
| 1266 |
20130129: |
| 1267 |
A BSD-licensed patch(1) variant has been added and is installed |
| 1268 |
as bsdpatch, being the GNU version the default patch. |
| 1269 |
To inverse the logic and use the BSD-licensed one as default, |
| 1270 |
while having the GNU version installed as gnupatch, rebuild |
| 1271 |
and install world with the WITH_BSD_PATCH knob set. |
| 1272 |
|
| 1273 |
20130121: |
| 1274 |
Due to the use of the new -l option to install(1) during build |
| 1275 |
and install, you must take care not to directly set the INSTALL |
| 1276 |
make variable in your /etc/make.conf, /etc/src.conf, or on the |
| 1277 |
command line. If you wish to use the -C flag for all installs |
| 1278 |
you may be able to add INSTALL+=-C to /etc/make.conf or |
| 1279 |
/etc/src.conf. |
| 1280 |
|
| 1281 |
20130118: |
| 1282 |
The install(1) option -M has changed meaning and now takes an |
| 1283 |
argument that is a file or path to append logs to. In the |
| 1284 |
unlikely event that -M was the last option on the command line |
| 1285 |
and the command line contained at least two files and a target |
| 1286 |
directory the first file will have logs appended to it. The -M |
| 1287 |
option served little practical purpose in the last decade so its |
| 1288 |
use is expected to be extremely rare. |
| 1289 |
|
| 1290 |
20121223: |
| 1291 |
After switching to Clang as the default compiler some users of ZFS |
| 1292 |
on i386 systems started to experience stack overflow kernel panics. |
| 1293 |
Please consider using 'options KSTACK_PAGES=4' in such configurations. |
| 1294 |
|
| 1295 |
20121222: |
| 1296 |
GEOM_LABEL now mangles label names read from file system metadata. |
| 1297 |
Mangling affect labels containing spaces, non-printable characters, |
| 1298 |
'%' or '"'. Device names in /etc/fstab and other places may need to |
| 1299 |
be updated. |
| 1300 |
|
| 1301 |
20121217: |
| 1302 |
By default, only the 10 most recent kernel dumps will be saved. To |
| 1303 |
restore the previous behaviour (no limit on the number of kernel dumps |
| 1304 |
stored in the dump directory) add the following line to /etc/rc.conf: |
| 1305 |
|
| 1306 |
savecore_flags="" |
| 1307 |
|
| 1308 |
20121201: |
| 1309 |
With the addition of auditdistd(8), a new auditdistd user is now |
| 1310 |
required during installworld. "mergemaster -p" can be used to |
| 1311 |
add the user prior to installworld, as documented in the handbook. |
| 1312 |
|
| 1313 |
20121117: |
| 1314 |
The sin6_scope_id member variable in struct sockaddr_in6 is now |
| 1315 |
filled by the kernel before passing the structure to the userland via |
| 1316 |
sysctl or routing socket. This means the KAME-specific embedded scope |
| 1317 |
id in sin6_addr.s6_addr[2] is always cleared in userland application. |
| 1318 |
This behavior can be controlled by net.inet6.ip6.deembed_scopeid. |
| 1319 |
__FreeBSD_version is bumped to 1000025. |
| 1320 |
|
| 1321 |
20121105: |
| 1322 |
On i386 and amd64 systems WITH_CLANG_IS_CC is now the default. |
| 1323 |
This means that the world and kernel will be compiled with clang |
| 1324 |
and that clang will be installed as /usr/bin/cc, /usr/bin/c++, |
| 1325 |
and /usr/bin/cpp. To disable this behavior and revert to building |
| 1326 |
with gcc, compile with WITHOUT_CLANG_IS_CC. Really old versions |
| 1327 |
of current may need to bootstrap WITHOUT_CLANG first if the clang |
| 1328 |
build fails (its compatibility window doesn't extend to the 9 stable |
| 1329 |
branch point). |
| 1330 |
|
| 1331 |
20121102: |
| 1332 |
The IPFIREWALL_FORWARD kernel option has been removed. Its |
| 1333 |
functionality now turned on by default. |
| 1334 |
|
| 1335 |
20121023: |
| 1336 |
The ZERO_COPY_SOCKET kernel option has been removed and |
| 1337 |
split into SOCKET_SEND_COW and SOCKET_RECV_PFLIP. |
| 1338 |
NB: SOCKET_SEND_COW uses the VM page based copy-on-write |
| 1339 |
mechanism which is not safe and may result in kernel crashes. |
| 1340 |
NB: The SOCKET_RECV_PFLIP mechanism is useless as no current |
| 1341 |
driver supports disposeable external page sized mbuf storage. |
| 1342 |
Proper replacements for both zero-copy mechanisms are under |
| 1343 |
consideration and will eventually lead to complete removal |
| 1344 |
of the two kernel options. |
| 1345 |
|
| 1346 |
20121023: |
| 1347 |
The IPv4 network stack has been converted to network byte |
| 1348 |
order. The following modules need to be recompiled together |
| 1349 |
with kernel: carp(4), divert(4), gif(4), siftr(4), gre(4), |
| 1350 |
pf(4), ipfw(4), ng_ipfw(4), stf(4). |
| 1351 |
|
| 1352 |
20121022: |
| 1353 |
Support for non-MPSAFE filesystems was removed from VFS. The |
| 1354 |
VFS_VERSION was bumped, all filesystem modules shall be |
| 1355 |
recompiled. |
| 1356 |
|
| 1357 |
20121018: |
| 1358 |
All the non-MPSAFE filesystems have been disconnected from |
| 1359 |
the build. The full list includes: codafs, hpfs, ntfs, nwfs, |
| 1360 |
portalfs, smbfs, xfs. |
| 1361 |
|
| 1362 |
20121016: |
| 1363 |
The interface cloning API and ABI has changed. The following |
| 1364 |
modules need to be recompiled together with kernel: |
| 1365 |
ipfw(4), pfsync(4), pflog(4), usb(4), wlan(4), stf(4), |
| 1366 |
vlan(4), disc(4), edsc(4), if_bridge(4), gif(4), tap(4), |
| 1367 |
faith(4), epair(4), enc(4), tun(4), if_lagg(4), gre(4). |
| 1368 |
|
| 1369 |
20121015: |
| 1370 |
The sdhci driver was split in two parts: sdhci (generic SD Host |
| 1371 |
Controller logic) and sdhci_pci (actual hardware driver). |
| 1372 |
No kernel config modifications are required, but if you |
| 1373 |
load sdhc as a module you must switch to sdhci_pci instead. |
| 1374 |
|
| 1375 |
20121014: |
| 1376 |
Import the FUSE kernel and userland support into base system. |
| 1377 |
|
| 1378 |
20121013: |
| 1379 |
The GNU sort(1) program has been removed since the BSD-licensed |
| 1380 |
sort(1) has been the default for quite some time and no serious |
| 1381 |
problems have been reported. The corresponding WITH_GNU_SORT |
| 1382 |
knob has also gone. |
| 1383 |
|
| 1384 |
20121006: |
| 1385 |
The pfil(9) API/ABI for AF_INET family has been changed. Packet |
| 1386 |
filtering modules: pf(4), ipfw(4), ipfilter(4) need to be recompiled |
| 1387 |
with new kernel. |
| 1388 |
|
| 1389 |
20121001: |
| 1390 |
The net80211(4) ABI has been changed to allow for improved driver |
| 1391 |
PS-POLL and power-save support. All wireless drivers need to be |
| 1392 |
recompiled to work with the new kernel. |
| 1393 |
|
| 1394 |
20120913: |
| 1395 |
The random(4) support for the VIA hardware random number |
| 1396 |
generator (`PADLOCK') is no longer enabled unconditionally. |
| 1397 |
Add the padlock_rng device in the custom kernel config if |
| 1398 |
needed. The GENERIC kernels on i386 and amd64 do include the |
| 1399 |
device, so the change only affects the custom kernel |
| 1400 |
configurations. |
| 1401 |
|
| 1402 |
20120908: |
| 1403 |
The pf(4) packet filter ABI has been changed. pfctl(8) and |
| 1404 |
snmp_pf module need to be recompiled to work with new kernel. |
| 1405 |
|
| 1406 |
20120828: |
| 1407 |
A new ZFS feature flag "com.delphix:empty_bpobj" has been merged |
| 1408 |
to -HEAD. Pools that have empty_bpobj in active state can not be |
| 1409 |
imported read-write with ZFS implementations that do not support |
| 1410 |
this feature. For more information read the zpool-features(5) |
| 1411 |
manual page. |
| 1412 |
|
| 1413 |
20120727: |
| 1414 |
The sparc64 ZFS loader has been changed to no longer try to auto- |
| 1415 |
detect ZFS providers based on diskN aliases but now requires these |
| 1416 |
to be explicitly listed in the OFW boot-device environment variable. |
| 1417 |
|
| 1418 |
20120712: |
| 1419 |
The OpenSSL has been upgraded to 1.0.1c. Any binaries requiring |
| 1420 |
libcrypto.so.6 or libssl.so.6 must be recompiled. Also, there are |
| 1421 |
configuration changes. Make sure to merge /etc/ssl/openssl.cnf. |
| 1422 |
|
| 1423 |
20120712: |
| 1424 |
The following sysctls and tunables have been renamed for consistency |
| 1425 |
with other variables: |
| 1426 |
kern.cam.da.da_send_ordered -> kern.cam.da.send_ordered |
| 1427 |
kern.cam.ada.ada_send_ordered -> kern.cam.ada.send_ordered |
| 1428 |
|
| 1429 |
20120628: |
| 1430 |
The sort utility has been replaced with BSD sort. For now, GNU sort |
| 1431 |
is also available as "gnusort" or the default can be set back to |
| 1432 |
GNU sort by setting WITH_GNU_SORT. In this case, BSD sort will be |
| 1433 |
installed as "bsdsort". |
| 1434 |
|
| 1435 |
20120611: |
| 1436 |
A new version of ZFS (pool version 5000) has been merged to -HEAD. |
| 1437 |
Starting with this version the old system of ZFS pool versioning |
| 1438 |
is superseded by "feature flags". This concept enables forward |
| 1439 |
compatibility against certain future changes in functionality of ZFS |
| 1440 |
pools. The first read-only compatible "feature flag" for ZFS pools |
| 1441 |
is named "com.delphix:async_destroy". For more information |
| 1442 |
read the new zpool-features(5) manual page. |
| 1443 |
Please refer to the "ZFS notes" section of this file for information |
| 1444 |
on upgrading boot ZFS pools. |
| 1445 |
|
| 1446 |
20120417: |
| 1447 |
The malloc(3) implementation embedded in libc now uses sources imported |
| 1448 |
as contrib/jemalloc. The most disruptive API change is to |
| 1449 |
/etc/malloc.conf. If your system has an old-style /etc/malloc.conf, |
| 1450 |
delete it prior to installworld, and optionally re-create it using the |
| 1451 |
new format after rebooting. See malloc.conf(5) for details |
| 1452 |
(specifically the TUNING section and the "opt.*" entries in the MALLCTL |
| 1453 |
NAMESPACE section). |
| 1454 |
|
| 1455 |
20120328: |
| 1456 |
Big-endian MIPS TARGET_ARCH values no longer end in "eb". mips64eb |
| 1457 |
is now spelled mips64. mipsn32eb is now spelled mipsn32. mipseb is |
| 1458 |
now spelled mips. This is to aid compatibility with third-party |
| 1459 |
software that expects this naming scheme in uname(3). Little-endian |
| 1460 |
settings are unchanged. If you are updating a big-endian mips64 machine |
| 1461 |
from before this change, you may need to set MACHINE_ARCH=mips64 in |
| 1462 |
your environment before the new build system will recognize your machine. |
| 1463 |
|
| 1464 |
20120306: |
| 1465 |
Disable by default the option VFS_ALLOW_NONMPSAFE for all supported |
| 1466 |
platforms. |
| 1467 |
|
| 1468 |
20120229: |
| 1469 |
Now unix domain sockets behave "as expected" on nullfs(5). Previously |
| 1470 |
nullfs(5) did not pass through all behaviours to the underlying layer, |
| 1471 |
as a result if we bound to a socket on the lower layer we could connect |
| 1472 |
only to the lower path; if we bound to the upper layer we could connect |
| 1473 |
only to the upper path. The new behavior is one can connect to both the |
| 1474 |
lower and the upper paths regardless what layer path one binds to. |
| 1475 |
|
| 1476 |
20120211: |
| 1477 |
The getifaddrs upgrade path broken with 20111215 has been restored. |
| 1478 |
If you have upgraded in between 20111215 and 20120209 you need to |
| 1479 |
recompile libc again with your kernel. You still need to recompile |
| 1480 |
world to be able to configure CARP but this restriction already |
| 1481 |
comes from 20111215. |
| 1482 |
|
| 1483 |
20120114: |
| 1484 |
The set_rcvar() function has been removed from /etc/rc.subr. All |
| 1485 |
base and ports rc.d scripts have been updated, so if you have a |
| 1486 |
port installed with a script in /usr/local/etc/rc.d you can either |
| 1487 |
hand-edit the rcvar= line, or reinstall the port. |
| 1488 |
|
| 1489 |
An easy way to handle the mass-update of /etc/rc.d: |
| 1490 |
rm /etc/rc.d/* && mergemaster -i |
| 1491 |
|
| 1492 |
20120109: |
| 1493 |
panic(9) now stops other CPUs in the SMP systems, disables interrupts |
| 1494 |
on the current CPU and prevents other threads from running. |
| 1495 |
This behavior can be reverted using the kern.stop_scheduler_on_panic |
| 1496 |
tunable/sysctl. |
| 1497 |
The new behavior can be incompatible with kern.sync_on_panic. |
| 1498 |
|
| 1499 |
20111215: |
| 1500 |
The carp(4) facility has been changed significantly. Configuration |
| 1501 |
of the CARP protocol via ifconfig(8) has changed, as well as format |
| 1502 |
of CARP events submitted to devd(8) has changed. See manual pages |
| 1503 |
for more information. The arpbalance feature of carp(4) is currently |
| 1504 |
not supported anymore. |
| 1505 |
|
| 1506 |
Size of struct in_aliasreq, struct in6_aliasreq has changed. User |
| 1507 |
utilities using SIOCAIFADDR, SIOCAIFADDR_IN6, e.g. ifconfig(8), |
| 1508 |
need to be recompiled. |
| 1509 |
|
| 1510 |
20111122: |
| 1511 |
The acpi_wmi(4) status device /dev/wmistat has been renamed to |
| 1512 |
/dev/wmistat0. |
| 1513 |
|
| 1514 |
20111108: |
| 1515 |
The option VFS_ALLOW_NONMPSAFE option has been added in order to |
| 1516 |
explicitely support non-MPSAFE filesystems. |
| 1517 |
It is on by default for all supported platform at this present |
| 1518 |
time. |
| 1519 |
|
| 1520 |
20111101: |
| 1521 |
The broken amd(4) driver has been replaced with esp(4) in the amd64, |
| 1522 |
i386 and pc98 GENERIC kernel configuration files. |
| 1523 |
|
| 1524 |
20110930: |
| 1525 |
sysinstall has been removed |
| 1526 |
|
| 1527 |
20110923: |
| 1528 |
The stable/9 branch created in subversion. This corresponds to the |
| 1529 |
RELENG_9 branch in CVS. |
| 1530 |
|
| 1531 |
COMMON ITEMS: |
| 1532 |
|
| 1533 |
General Notes |
| 1534 |
------------- |
| 1535 |
Avoid using make -j when upgrading. While generally safe, there are |
| 1536 |
sometimes problems using -j to upgrade. If your upgrade fails with |
| 1537 |
-j, please try again without -j. From time to time in the past there |
| 1538 |
have been problems using -j with buildworld and/or installworld. This |
| 1539 |
is especially true when upgrading between "distant" versions (eg one |
| 1540 |
that cross a major release boundary or several minor releases, or when |
| 1541 |
several months have passed on the -current branch). |
| 1542 |
|
| 1543 |
Sometimes, obscure build problems are the result of environment |
| 1544 |
poisoning. This can happen because the make utility reads its |
| 1545 |
environment when searching for values for global variables. To run |
| 1546 |
your build attempts in an "environmental clean room", prefix all make |
| 1547 |
commands with 'env -i '. See the env(1) manual page for more details. |
| 1548 |
|
| 1549 |
When upgrading from one major version to another it is generally best |
| 1550 |
to upgrade to the latest code in the currently installed branch first, |
| 1551 |
then do an upgrade to the new branch. This is the best-tested upgrade |
| 1552 |
path, and has the highest probability of being successful. Please try |
| 1553 |
this approach before reporting problems with a major version upgrade. |
| 1554 |
|
| 1555 |
When upgrading a live system, having a root shell around before |
| 1556 |
installing anything can help undo problems. Not having a root shell |
| 1557 |
around can lead to problems if pam has changed too much from your |
| 1558 |
starting point to allow continued authentication after the upgrade. |
| 1559 |
|
| 1560 |
This file should be read as a log of events. When a later event changes |
| 1561 |
information of a prior event, the prior event should not be deleted. |
| 1562 |
Instead, a pointer to the entry with the new information should be |
| 1563 |
placed in the old entry. Readers of this file should also sanity check |
| 1564 |
older entries before relying on them blindly. Authors of new entries |
| 1565 |
should write them with this in mind. |
| 1566 |
|
| 1567 |
ZFS notes |
| 1568 |
--------- |
| 1569 |
When upgrading the boot ZFS pool to a new version, always follow |
| 1570 |
these two steps: |
| 1571 |
|
| 1572 |
1.) recompile and reinstall the ZFS boot loader and boot block |
| 1573 |
(this is part of "make buildworld" and "make installworld") |
| 1574 |
|
| 1575 |
2.) update the ZFS boot block on your boot drive |
| 1576 |
|
| 1577 |
The following example updates the ZFS boot block on the first |
| 1578 |
partition (freebsd-boot) of a GPT partitioned drive ada0: |
| 1579 |
"gpart bootcode -p /boot/gptzfsboot -i 1 ada0" |
| 1580 |
|
| 1581 |
Non-boot pools do not need these updates. |
| 1582 |
|
| 1583 |
To build a kernel |
| 1584 |
----------------- |
| 1585 |
If you are updating from a prior version of FreeBSD (even one just |
| 1586 |
a few days old), you should follow this procedure. It is the most |
| 1587 |
failsafe as it uses a /usr/obj tree with a fresh mini-buildworld, |
| 1588 |
|
| 1589 |
make kernel-toolchain |
| 1590 |
make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE |
| 1591 |
make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE |
| 1592 |
|
| 1593 |
To test a kernel once |
| 1594 |
--------------------- |
| 1595 |
If you just want to boot a kernel once (because you are not sure |
| 1596 |
if it works, or if you want to boot a known bad kernel to provide |
| 1597 |
debugging information) run |
| 1598 |
make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel |
| 1599 |
nextboot -k testkernel |
| 1600 |
|
| 1601 |
To just build a kernel when you know that it won't mess you up |
| 1602 |
-------------------------------------------------------------- |
| 1603 |
This assumes you are already running a CURRENT system. Replace |
| 1604 |
${arch} with the architecture of your machine (e.g. "i386", |
| 1605 |
"arm", "amd64", "ia64", "pc98", "sparc64", "powerpc", "mips", etc). |
| 1606 |
|
| 1607 |
cd src/sys/${arch}/conf |
| 1608 |
config KERNEL_NAME_HERE |
| 1609 |
cd ../compile/KERNEL_NAME_HERE |
| 1610 |
make depend |
| 1611 |
make |
| 1612 |
make install |
| 1613 |
|
| 1614 |
If this fails, go to the "To build a kernel" section. |
| 1615 |
|
| 1616 |
To rebuild everything and install it on the current system. |
| 1617 |
----------------------------------------------------------- |
| 1618 |
# Note: sometimes if you are running current you gotta do more than |
| 1619 |
# is listed here if you are upgrading from a really old current. |
| 1620 |
|
| 1621 |
<make sure you have good level 0 dumps> |
| 1622 |
make buildworld |
| 1623 |
make kernel KERNCONF=YOUR_KERNEL_HERE |
| 1624 |
[1] |
| 1625 |
<reboot in single user> [3] |
| 1626 |
mergemaster -Fp [5] |
| 1627 |
make installworld |
| 1628 |
mergemaster -Fi [4] |
| 1629 |
make delete-old [6] |
| 1630 |
<reboot> |
| 1631 |
|
| 1632 |
To cross-install current onto a separate partition |
| 1633 |
-------------------------------------------------- |
| 1634 |
# In this approach we use a separate partition to hold |
| 1635 |
# current's root, 'usr', and 'var' directories. A partition |
| 1636 |
# holding "/", "/usr" and "/var" should be about 2GB in |
| 1637 |
# size. |
| 1638 |
|
| 1639 |
<make sure you have good level 0 dumps> |
| 1640 |
<boot into -stable> |
| 1641 |
make buildworld |
| 1642 |
make buildkernel KERNCONF=YOUR_KERNEL_HERE |
| 1643 |
<maybe newfs current's root partition> |
| 1644 |
<mount current's root partition on directory ${CURRENT_ROOT}> |
| 1645 |
make installworld DESTDIR=${CURRENT_ROOT} -DDB_FROM_SRC |
| 1646 |
make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd |
| 1647 |
make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT} |
| 1648 |
cp /etc/fstab ${CURRENT_ROOT}/etc/fstab # if newfs'd |
| 1649 |
<edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition> |
| 1650 |
<reboot into current> |
| 1651 |
<do a "native" rebuild/install as described in the previous section> |
| 1652 |
<maybe install compatibility libraries from ports/misc/compat*> |
| 1653 |
<reboot> |
| 1654 |
|
| 1655 |
|
| 1656 |
To upgrade in-place from stable to current |
| 1657 |
---------------------------------------------- |
| 1658 |
<make sure you have good level 0 dumps> |
| 1659 |
make buildworld [9] |
| 1660 |
make kernel KERNCONF=YOUR_KERNEL_HERE [8] |
| 1661 |
[1] |
| 1662 |
<reboot in single user> [3] |
| 1663 |
mergemaster -Fp [5] |
| 1664 |
make installworld |
| 1665 |
mergemaster -Fi [4] |
| 1666 |
make delete-old [6] |
| 1667 |
<reboot> |
| 1668 |
|
| 1669 |
Make sure that you've read the UPDATING file to understand the |
| 1670 |
tweaks to various things you need. At this point in the life |
| 1671 |
cycle of current, things change often and you are on your own |
| 1672 |
to cope. The defaults can also change, so please read ALL of |
| 1673 |
the UPDATING entries. |
| 1674 |
|
| 1675 |
Also, if you are tracking -current, you must be subscribed to |
| 1676 |
freebsd-current@freebsd.org. Make sure that before you update |
| 1677 |
your sources that you have read and understood all the recent |
| 1678 |
messages there. If in doubt, please track -stable which has |
| 1679 |
much fewer pitfalls. |
| 1680 |
|
| 1681 |
[1] If you have third party modules, such as vmware, you |
| 1682 |
should disable them at this point so they don't crash your |
| 1683 |
system on reboot. |
| 1684 |
|
| 1685 |
[3] From the bootblocks, boot -s, and then do |
| 1686 |
fsck -p |
| 1687 |
mount -u / |
| 1688 |
mount -a |
| 1689 |
cd src |
| 1690 |
adjkerntz -i # if CMOS is wall time |
| 1691 |
Also, when doing a major release upgrade, it is required that |
| 1692 |
you boot into single user mode to do the installworld. |
| 1693 |
|
| 1694 |
[4] Note: This step is non-optional. Failure to do this step |
| 1695 |
can result in a significant reduction in the functionality of the |
| 1696 |
system. Attempting to do it by hand is not recommended and those |
| 1697 |
that pursue this avenue should read this file carefully, as well |
| 1698 |
as the archives of freebsd-current and freebsd-hackers mailing lists |
| 1699 |
for potential gotchas. The -U option is also useful to consider. |
| 1700 |
See mergemaster(8) for more information. |
| 1701 |
|
| 1702 |
[5] Usually this step is a noop. However, from time to time |
| 1703 |
you may need to do this if you get unknown user in the following |
| 1704 |
step. It never hurts to do it all the time. You may need to |
| 1705 |
install a new mergemaster (cd src/usr.sbin/mergemaster && make |
| 1706 |
install) after the buildworld before this step if you last updated |
| 1707 |
from current before 20130425 or from -stable before 20130430. |
| 1708 |
|
| 1709 |
[6] This only deletes old files and directories. Old libraries |
| 1710 |
can be deleted by "make delete-old-libs", but you have to make |
| 1711 |
sure that no program is using those libraries anymore. |
| 1712 |
|
| 1713 |
[8] In order to have a kernel that can run the 4.x binaries needed to |
| 1714 |
do an installworld, you must include the COMPAT_FREEBSD4 option in |
| 1715 |
your kernel. Failure to do so may leave you with a system that is |
| 1716 |
hard to boot to recover. A similar kernel option COMPAT_FREEBSD5 is |
| 1717 |
required to run the 5.x binaries on more recent kernels. And so on |
| 1718 |
for COMPAT_FREEBSD6 and COMPAT_FREEBSD7. |
| 1719 |
|
| 1720 |
Make sure that you merge any new devices from GENERIC since the |
| 1721 |
last time you updated your kernel config file. |
| 1722 |
|
| 1723 |
[9] When checking out sources, you must include the -P flag to have |
| 1724 |
cvs prune empty directories. |
| 1725 |
|
| 1726 |
If CPUTYPE is defined in your /etc/make.conf, make sure to use the |
| 1727 |
"?=" instead of the "=" assignment operator, so that buildworld can |
| 1728 |
override the CPUTYPE if it needs to. |
| 1729 |
|
| 1730 |
MAKEOBJDIRPREFIX must be defined in an environment variable, and |
| 1731 |
not on the command line, or in /etc/make.conf. buildworld will |
| 1732 |
warn if it is improperly defined. |
| 1733 |
FORMAT: |
| 1734 |
|
| 1735 |
This file contains a list, in reverse chronological order, of major |
| 1736 |
breakages in tracking -current. It is not guaranteed to be a complete |
| 1737 |
list of such breakages, and only contains entries since September 23, 2011. |
| 1738 |
If you need to see UPDATING entries from before that date, you will need |
| 1739 |
to fetch an UPDATING file from an older FreeBSD release. |
| 1740 |
|
| 1741 |
Copyright information: |
| 1742 |
|
| 1743 |
Copyright 1998-2009 M. Warner Losh. All Rights Reserved. |
| 1744 |
|
| 1745 |
Redistribution, publication, translation and use, with or without |
| 1746 |
modification, in full or in part, in any form or format of this |
| 1747 |
document are permitted without further permission from the author. |
| 1748 |
|
| 1749 |
THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR |
| 1750 |
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
| 1751 |
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
| 1752 |
DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT, |
| 1753 |
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
| 1754 |
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
| 1755 |
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| 1756 |
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
| 1757 |
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING |
| 1758 |
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
| 1759 |
POSSIBILITY OF SUCH DAMAGE. |
| 1760 |
|
| 1761 |
Contact Warner Losh if you have any questions about your use of |
| 1762 |
this document. |
| 1763 |
|
| 1764 |
$FreeBSD$ |