UPDATING revision 99203
1279219SkenUpdating Information for FreeBSD current users 2279219Sken 3279219SkenThis file is maintained and copyrighted by M. Warner Losh 4279219Sken<imp@village.org>. See end of file for further details. For commonly 5279219Skendone items, please see the COMMON ITEMS: section later in the file. 6279219Sken 7279219SkenNOTE TO PEOPLE WHO THINK THAT 5.0-CURRENT IS SLOW: 8279219Sken FreeBSD 5.0-CURRENT has many debugging features turned on, in 9279219Sken both the kernel and userland. These features attempt to detect 10279219Sken incorrect use of system primitives, and encourage loud failure 11279219Sken through extra sanity checking and fail stop semantics. They 12279219Sken also substantially impact system performance. If you want to 13279219Sken do performance measurement, benchmarking, and optimization, 14279219Sken you'll want to turn them off. This includes various WITNESS- 15279219Sken related kernel options, INVARIANTS, malloc debugging flags 16279219Sken in userland, and various verbose features in the kernel. Many 17279219Sken developers choose to disable these features on build machines 18279219Sken to maximize performance. 19279219Sken 20279219Sken In addition, IDE write caching is currently disabled by default 21279219Sken due to on-going concerns about disk write order and file system 22279219Sken integrity. Re-enabling write caching can substantially improve 23279219Sken performance. 24279219Sken 25279219Sken20020701: 26279219Sken Now would be a bad time to upgrade. Something in or near the 27279219Sken KSE commit totally broke programs using libc_r like KDE and 28279219Sken GNOME. 29279219Sken 30279219Sken20020511: 31279219Sken The k5su utility installed as part of Kerberos 5 is no longer 32279219Sken installed with the set-user-ID bit set by default. Add 33279219Sken ENABLE_SUID_K5SU=yes to /etc/make.conf to have it installed 34279219Sken with the set-user-ID bit set. 35279219Sken 36279219Sken20020510: 37279219Sken Gcc 3.1 debugging format (cc -g) has changed from STABS to DWARF2. 38279219Sken Unfortunately our native GDB (at version 4.18) does not understand 39279219Sken the DWARF2 debugging format. Thus you must use `gcc -gstabs+' to 40279219Sken generated debugging information for our native GDB. 41279219Sken 42279219Sken20020510: 43279219Sken Due to the way CVS works, it may not properly update src/contrib/gcc 44279219Sken to the 3.1 sources. The easiest fix is to `rm -rf' src/contrib/gcc 45279219Sken and then do a cvs update. 46279219Sken 47279219Sken20020421: 48279219Sken When exec'ing set[ug]id executables, the kernel now ensures that the 49279219Sken stdio file descriptors (0..2) are open. See FreeBSD-SA-02:23.stdio. 50279219Sken 51279219Sken20020404: 52279219Sken New sendmail startup scripts have been installed to make it 53279219Sken easier to use alternative MTAs with FreeBSD. Setting the rc.conf 54279219Sken variable sendmail_enable to "NO" no longer prevents any sendmail 55279219Sken daemons from starting. Instead, either set sendmail_enable to 56279219Sken "NONE" or change mta_start_script to a script for starting 57279219Sken an alternative MTA. Setting mta_start_script to "" will 58279219Sken also prevent any MTA from being started at boot. 59279219Sken 60279219Sken20020403: 61279219Sken UCONSOLE is no longer a valid kernel option. 62279219Sken 63279219Sken20020315: 64279219Sken FreeBSD 5.0 DP-1 was basically branched today. 65279219Sken 66279219Sken20020225: 67279219Sken Warnings are now errors in the kernel. Unless you are a developer, 68279219Sken you should add -DNO_WERROR to your make line. 69279219Sken 70279219Sken20020217: 71279261Sken sendmail 8.12.2 has been imported. The sendmail binary is no 72279219Sken longer a set-user-ID root binary and the infrastructure to support 73279219Sken command line mail submission has changed. Be sure to run 74279219Sken mergemaster (especially for updating /etc/rc, /etc/defaults/rc.conf, 75279219Sken and /etc/mail) and read /etc/mail/README for more details. 76279219Sken 77279219Sken Due to the import of sendmail 8.12.2, a new user and group are 78279219Sken required in order for sendmail to run as a set-group-ID 79279219Sken binary. A 'make installworld' will use the new user and group 80279219Sken to set the owner and group of /var/spool/clientmqueue and will 81279219Sken fail if the new user and group do not exist. The 'smmsp' user 82279219Sken and group must be merged from src/etc/group and 83279219Sken src/etc/master.passwd before using 'make installworld'. 84279219Sken 'mergemaster -p' will do this. You may need to install 85279219Sken mergemaster before this will work if you are updating from a 86279219Sken very old version of current. The updating recipe has changed 87279219Sken as of this date. 88279219Sken 89279219Sken20020112: 90279219Sken The preferred configuration method for PAM is now /etc/pam.d/ 91279219Sken rather than /etc/pam.conf. If you have an unmodified 92279219Sken pam.conf, just delete it after your next mergemaster run. If 93279219Sken you have local modifications, you can use 94279219Sken /usr/src/etc/pam.d/convert.pl to incorporate them into your 95279219Sken /etc/pam.d. 96279219Sken 97279219Sken Please see the following url for more details: 98279219Skenhttp://www.freebsd.org/cgi/mid.cgi?db=mid&id=<xzp6667fyoa.fsf@flood.ping.uio.no> 99279219Sken20011229: 100279219Sken If anyone here is already using the new rc.conf(5) variable 101279219Sken networkfs_types, please note that it has changed 102279219Skenhttp://www.freebsd.org/cgi/mid.cgi?db=mid&id=<9744.1009655556@axl.seasidesoftware.co.za> 103279219Sken 104279219Sken20011220: 105279219Sken sys/i4b/driver/i4b_ispppsubr.c has been retired. This file 106279219Sken started out its life in the ISDN4BSD project as an offspring 107279219Sken from sys/net/if_spppsubr.c, which eventually got a life of its 108279219Sken own. All the accumulated features and bugfixes of the i4b 109279219Sken version have now been merged back into the base system's 110279219Sken version now. The only user-visible change resulting from this 111279219Sken is that i4b's sppp(4) interfaces are to be managed with 112279219Sken spppcontrol(8) again, since ispppcontrol(8) has been retired 113279219Sken as well. (There has never been rc file support for 114279219Sken ispppcontrol in -current, but only in -stable. That will be 115279219Sken reverted by the time the changes are MFCed.) 116279219Sken 117279219Sken20011215: 118279219Sken The fdc(4) driver has been updated and now automatically 119279219Sken recognizes media in `standard' formats (like 1440 KB and 120279219Sken 720 KB for a 3.5" high-density drive) when accessing the 121279219Sken default device node (e. g. /dev/fd0). The old variety of 122279219Sken floppy device nodes /dev/fd*.* is no longer present by 123279219Sken default, devices can be created (in DEVFS) on demand. They 124279219Sken will need to be customized then for `odd' densities using 125279219Sken fdcontrol(8). 126279219Sken 127279219Sken20011209: 128279219Sken The bugs in procfs' debugging support code have been fixed, 129279219Sken and truss(1) now works again. 130279219Sken 131279219Sken20011207: 132279219Sken Daily security checks have been split out to use the periodic(8) 133279219Sken scripts. Some change in configuration may be necessary. Please 134279219Sken see 135279219Skenhttp://www.freebsd.org/cgi/mid.cgi?db=mid&id=<20011207155805.R8975@blossom.cjclark.org> 136279219Sken for details. 137279219Sken 138279219Sken20011204: 139279219Sken sos added VCD/SVCD support to ata driver and that needs the 140279219Sken kernel and burncd to be in sync. 141279219Sken 142279219Sken20011203: 143279219Sken The procfs pseudo-filesystem has now been converted to use the 144279219Sken pseudofs framework. If you have 'options PROCFS' in your 145279219Sken kernel config, you'll need to add 'options PSEUDOFS' if it's 146279219Sken not there already. 147279219Sken 148279219Sken This change temporarily breaks truss(1); use ktrace(1) instead 149279219Sken until the issue has been resolved. 150279219Sken 151279219Sken20011202: 152279219Sken A security hole in OpenSSH involving `UseLogin yes' has been 153279219Sken patched. 154279219Sken 155279219Sken20011126: 156279219Sken You need to remove /usr/obj/.../usr.bin/tip before rebuilding 157279219Sken after this date. You need to do this only once. 158279219Sken 159279219Sken20011103: 160279219Sken Most of the awk issues have been resolved. Some rough 161279219Sken edges may be left, but for the most part things should be 162279219Sken back to "normal." For CURRENT's usual definition of "normal." 163279219Sken 164279219Sken20011030: 165279219Sken Awk has been upgraded to the one true awk from bell labs. Expect 166279219Sken choppy waves in the upgrade process. 167279219Sken 168279219Sken20011030: 169279219Sken The asr driver problem has been resolved. 170279219Sken 171279219Sken20011027: 172279219Sken Due to changes in other parts of the system, the asr driver 173279219Sken now causes the system to panic on boot. Do not use it pending 174279219Sken correction. Comment it out of any kernel config file that you 175279219Sken try to use from this date forward. 176279219Sken 177279219Sken20011025: 178279219Sken When crossbuilding, use TARGET=xxx where you used to use 179279219Sken MACHINE=xxx. You don't need to set TARGET_ARCH and TARGET, 180279219Sken unless you are changing both of them. To cross build pc98 on 181279219Sken an alpha, for example, you need to set TARGET=pc98 and 182279219Sken TARGET_ARCH=i386. 183279219Sken 184279219Sken20011001: 185279219Sken The kernel interface that burncd depends on has changed. 186279219Sken You must recompile both the kernel and userland applications 187279219Sken at the same time. 188279219Sken 189279219Sken20010929: 190279219Sken When crossbuilding, please set TARGET_ARCH rather than 191279219Sken MACHINE_ARCH to indicate the target. In the future, one will 192279219Sken set TARGET_MACHINE where you set MACHINE now. At the moment, 193279219Sken setting MACHINE alone for same MACHINE_ARCH machines works 194279219Sken (eg, you can build pc98 on a i386 machine and vice versa). 195279219Sken 196279219Sken20010927: 197279219Sken Some weird problems result from using ACPI on some machines. 198279219Sken To disable ACPI you can add 199279219Sken hint.acpi.0.disable="1" 200279219Sken to /boot/loader.conf (or by putting set X=Y at the boot 201279219Sken loader "ok" prompt). 202279219Sken 203279219Sken Alternatively, you can remove it from /boot/kernel/acpi.ko 204279219Sken or use the MODULES_OVERRIDE function in your kernel config 205279219Sken file and not list acpi in that list. 206279219Sken 207279219Sken20010924: 208279219Sken The buildworld has been fixed. You may need to install 209279219Sken the 4.x compatibility libraries for some old binaries 210279219Sken to work. Add COMPAT4X=true to your /etc/make.conf to 211279219Sken get them installed on every installworld, or execute the 212279219Sken following to get them installed only once: 213279219Sken cd src/lib/compat/compat4x.<arch> 214279219Sken make all install 215279219Sken You will see ``__stdoutp undefined'' until you do this. 216279219Sken 217279219Sken20010919: 218279219Sken There's a bug in the world build process. The cross-tools 219279219Sken are build with the NEW headers, but the OLD libc.a. This 220279219Sken leads to all kinds of problems with the new libc. A temporary 221279219Sken workaround is to add 222279219Sken CFLAGS="-O -pipe -D_OLD_STDIO" 223279219Sken before building world when upgrading from 4.x to current. This 224279219Sken can be removed afterwards. 225279219Sken 226279219Sken A proper fix to the buildworld target is needed. 227279219Sken 228279219Sken20010918: 229279219Sken Peter has committed his new kthread nfs client/server code. 230279219Sken NFS may be unstable after this date. 231279219Sken 232279219Sken20010912: 233279219Sken KSE has hit the tree. Lots of things are now different in 234279219Sken the kernel. While a few problems were introduced in the 235279219Sken initial commit, most of the major ones have been found and 236279219Sken corrected. 237279219Sken 238279219Sken20010901: 239279219Sken In OLDCARD, CardBus bridges appear to be stable. The work 240279219Sken arounds described in the 20010604 entry are now no longer 241279219Sken necessary and will be ignored. Most insert/remove problems 242279219Sken have been rectified around this date. 243279219Sken 244279219Sken20010823: 245279219Sken named now runs as user bind and group bind rather than as 246279219Sken root. If named_enable is set to YES in /etc/rc.conf, ensure 247279219Sken that user bind is available in /etc/passwd (using vipw(8)) 248279219Sken and that group bind is available in /etc/group. Also make 249279219Sken sure that user or group bind has read (and not write) 250279219Sken permission for your name server configuration and that it 251279219Sken has read and write permission for your slave zone files and 252279219Sken directory. 253279219Sken 254279219Sken If you wish to continue to run named as root (a less secure 255279219Sken alternative), add a line to /etc/rc.conf saying 256279219Sken 257279219Sken named_flags= 258279219Sken 259279219Sken20010709: 260279219Sken The PAM libraries have had an API upgrade that is beyond 261279219Sken the ability of the shared library major number to handle. 262279219Sken It is manifested by PAM-using ports dumping core. The 263279219Sken solution is to rebuild those ports. 264279219Sken 265279219Sken20010628: 266279219Sken The kernel compile module has moved from src/sys/compile/FOO 267279219Sken to src/sys/${MACHINE}/compile/FOO. 268279219Sken 269279219Sken20010625: 270279219Sken The pccard modem issue from 20010613 has been corrected. 271279219Sken OLDCARD support is still a little weak in -current. slot 1 is 272279219Sken known not to work on some TI based cardbus bridges. Some 273279219Sken cardbus bridges do not properly detect insert/removal events. 274279219Sken IRQ configuration needs more safety belts. 275279219Sken 276279219Sken20010617: 277279219Sken Softupdates problems have been corrected. 278279219Sken 279279219Sken20010614: 280279219Sken Peter ripped out the linkerset support. You must, as always, 281279219Sken rerun config after you cvsup if you are using the traditional 282279219Sken kernel building methods. 283279219Sken 284279219Sken20010613: 285279219Sken pccard modems may not work with current after 20010604 date. Some 286279219Sken do, others result in panics. *MAKE*SURE* that you update your 287279219Sken config and /etc/rc.conf ala the 20010604 entry, or you will have 288279219Sken problems (this issue will be fixed, it just hasn't been yet). 289279219Sken 290279219Sken20010613: 291279219Sken SOFTUPDATES seem to be broken since the middle of May or so. Do not 292279219Sken use them in current. You can disable softupdates on all mounted 293279219Sken partitions, or remove SOFTUPDATES the kernel config file. 294279219Sken 295279219Sken20010612: 296279219Sken After Peter's commits to the hints code, people have been noticing 297279219Sken that certain devices are attached (or try to) twice. This is due 298279219Sken to having both static hints as well as a /boot/device.hints. To 299279219Sken work around this issue, please use only one or the other mechanism 300279219Sken until this bug is fixed. 301279219Sken 302279219Sken Please note that a feature of config is that if you have config 303279219Sken file FOO and FOO.hints, it automatically adds FOO.hints to the 304279219Sken hints.c file, wheather you want it to or not. 305279219Sken 306279219Sken20010610: 307279219Sken Locale names have changed to match other systems better. 308279219Sken 309279219Sken20010604: 310279219Sken pccard support for pci cards has been committed. You must change 311279219Sken your /etc/pccard.conf irq lines. It must match the irq used by 312279219Sken pcic device. Interrupt storms may result if you fail to do this. 313279219Sken Interrupt storms look a lot like a hang. 314279219Sken 315279219Sken You must also install a new pccardd, otherwise you will get an 316279219Sken interrupt storm at card reset time (just after it tells you what 317279219Sken it is). 318279219Sken 319279219Sken pccardd_flags="-I" is necessary for the time being. It tells pccardd 320279219Sken not to ask the kernel if the interrupt is really free or not before 321279219Sken using it. You can either change the /etc/pccard.conf irq lines to 322279219Sken match pcic, or add "-i X" to the pccardd_flags. 323279219Sken 324279219Sken20010530: 325279219Sken INSTALL=install -C is being deprecated. If you want to do this, 326279219Sken use COPY=-C instead. The former method will be supported for only 327279219Sken a limited time. If you see 328279219Sken 329279219Skeninstall: warning: the -d and -C options may not be specified together 330279219Sken 331279219Sken in your makeworld, then you need to migrate towards using 332279219Sken COPY=-C. 333279219Sken 334279219Sken20010525: 335279219Sken It appears that vm is now stable enough to use again. However, 336279219Sken there may be other problems, so caution is still urged. alpha 337279219Sken definitely is in bad shape. 338279219Sken 339279219Sken20010521: 340279219Sken Minor repo damange has happened. This may cause problems 341279219Sken with cvsup of ports. If you get errors, please see 342279219Sken http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495 343279219Sken at the bottom for details on a workaround. The error message 344279219Sken is 345279219SkenUpdater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty 346279219Sken 347279219Sken20010520: 348279219Sken Vm and/or swapping are busted on -current. Please be patient. 349279219Sken 350279219Sken20010519: 351279219Sken pccard has had much reorganizational work done to it over 352279219Sken the past few days. Everything should still work, but if 353279219Sken not, please contact imp@freebsd.org. 354279219Sken 355279219Sken20010517: 356279219Sken ata ioctl changed. Make sure to recompile both kernel and 357279219Sken userland at the same time. 358279219Sken 359279219Sken20010517: 360279219Sken New ncurses imported. 361279219Sken 362279219Sken20010512: 363279219Sken DEVFS is now opt out, not opt in. Barring major problems, this 364279219Sken will be the only way to go starting July 1. 365279219Sken 366279219Sken20010504: 367279219Sken OpenSSH has been updated to 2.9. Some defaults are different, 368279219Sken including RhostsRSAAuthentication, which changes from yes to no. 369279219Sken 370279219Sken20010502: 371279219Sken Perl breakage in 20010501 was corrected at 14:18:33 PDT. 372279219Sken 373279219Sken20010501: 374279219Sken Building perl was broken at 02:25:25 PDT. 375279219Sken 376279219Sken20010430: 377279219Sken The bug in 20010429 was corrected at 07:35:37 PDT. It is safe to 378279219Sken go back in the water. 379279219Sken 380279219Sken20010429: 381279219Sken A bad bug was committed at 04:48:42 PDT. Don't use kernels after 382279219Sken this date, but before the correction date. 383279219Sken 384279219Sken20010423: 385279219Sken old fsck and new kernel interactions appear to have been fixed. 386279219Sken 387279219Sken20010411: 388279219Sken fsck and the kernel were changed to handle some optimizations 389279219Sken to directory layout. This breaks backward compatibility. 390279219Sken Update only if you understand that you must not use the old 391279219Sken fsck with the new kernel ever. 392279219Sken 393279219Sken20010330: 394279219Sken fsck has changed the meaning of the pass column in /etc/fstab. 395279219Sken Please see the cvs commit to fsck.8 or the fsck.8 man page for 396279219Sken details. It is unclear if changes to /etc/fstab are necessary. 397279219Sken 398279219Sken20010319: 399279219Sken portmap had changed name to rpcbind for maximum POLA in your 400279219Sken current world. /etc/hosts.{allow,deny} needs changes. nfs and 401279219Sken other rpc based programs that rely on portmapper will not work 402279219Sken without updates to /etc/hosts.{allow,deny} and /etc/netconfig. 403279219Sken 404279219Sken20010315: 405279219Sken ata subsystem changes. ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC 406279219Sken and ATA_ENABEL_TAGS are no longer kernel options. They have 407279219Sken been replaced by tunables. See ata.4 for details. 408279219Sken 409279219Sken20010312: 410279219Sken The fxp driver was converted to use miibus. If you compile 411279219Sken fxp into your kernel statically, you will need to add miibus. 412279219Sken 413279219Sken20010312: 414279219Sken The wi device now defaults to BSS (infrastructure) mode 415279219Sken instead of ad-hoc. 416279219Sken 417279219Sken20010310: 418279219Sken /dev/urandom should be a symbolic link to /dev/random now. 419279219Sken Users of current not using DEVFS need to run MAKEDEV std. 420279219Sken ssh might not work if you don't. 421279219Sken 422279219Sken20010303: 423279219Sken The ed driver has been updated. It now allows mii attachments, 424279219Sken which means that you must include the miibus in your kernel if 425279219Sken you use the ed driver. 426279219Sken 427279219Sken20010220: 428279219Sken The problems with libc have been corrected. It is now mostly 429279219Sken safe to go back into the water. 430279219Sken 431279219Sken20010211: 432279219Sken The size of FILE was changed. This breaks upgrading. If 433279219Sken you must upgrade, be prepared for pain. It also breaks almost 434279219Sken all binaries that you've compiled on -current. You are warned 435279219Sken that before upgrading would be a good time to do a level 0 436279219Sken dump of your system. No, really, I mean it this time. 437279219Sken 438279219Sken To get to the new system, you'll need to use the following 439279219Sken workaround. Hopefully this can be sorted out so that we 440279219Sken don't have to move this to the updating section. 441279219Sken 442279219Sken To get around the installworld problem, do: 443279219Sken # cd /usr/src/usr.bin/sed 444279219Sken # make install 445279219Sken # cd /usr/src 446279219Sken # make installworld 447279219Sken If that doesn't work, then try: 448279219Sken # make -k installworld 449279219Sken # make installworld 450279219Sken 451279219Sken20010207: 452279219Sken DEVFS is now the default. If you use vinum, make sure that you 453279219Sken do not include devfs in your kernel as problems result. 454279219Sken 455279219Sken20010205: 456279219Sken FFS_ROOT and CD9660_ROOT have been removed or deprecated. 457279219Sken Remove them from your config. 458279219Sken 459279219Sken20010122: 460279219Sken ****************************** WARNING ****************************** 461279219Sken buildkernel has been changed slightly 462279219Sken ****************************** WARNING ****************************** 463279219Sken KERNCONF replaces the variable KERNEL for buildkernel. You 464279219Sken should update your scripts and make.conf accordingly. 465279219Sken 466279219Sken20010119: 467279219Sken config has changed to allow DEV_FOO as a replacement for NFOO. 468279219Sken This requires a new config to build correctly. 469279219Sken 470279219Sken20010116: 471279219Sken The kerrnel option I386_CPU is now mutually exclusive with the 472279219Sken other cpu types. If you have an i386 system, be sure that it 473279219Sken only had this line. Remove it for all other configurations. 474279219Sken 475279219Sken20010110: 476279219Sken Changes to the kernel require it and burncd be in sync. 477279219Sken 478279219Sken20010102: 479279219Sken Everyone who has hw.sndunit set to something in 480279219Sken /etc/sysctl.conf, it is now hw.snd.unit. 481279219Sken 482279219Sken20010101: 483279219Sken ex and vi were broken by some changes to sys/queue.h. If you 484279219Sken have a bad vi, you will see make buildworld fail with a core 485279219Sken dump while building termcap. You can work around this problem 486279219Sken by adding -k to your make buildworld. This will cause the 487279219Sken build to complete and install a new vi. Once that's done, you 488279219Sken can rebuild again without the -k to pick up anything that 489279219Sken might have been ignored by the -k option. 490279219Sken 491279219Sken Others have suggested that you can just rebuild libc if your 492279219Sken vi/ex is dynamically linked, but I've not received any reports 493279219Sken of this working. 494279219Sken 495279219Sken20001228: 496279219Sken There have been some changes to libcrypt in -current. The 497279219Sken libscrypt/libdescrypt symlink sillyness is gone and the installed 498279219Sken libcrypt is fully functional. Be aware of this. 499279219Sken 500279219Sken20001218: 501279219Sken Linksys Fast Ethernet PCCARD cards supported by the ed driver 502279219Sken now require the addition of flag 0x80000 to their config line 503279219Sken in pccard.conf(5). This flag is not optional. These Linksys 504279219Sken cards will not be recognized without it. 505279219Sken 506279219Sken20001205: 507279219Sken Important new FreeBSD-version stuff: PAM support has been worked 508279219Sken in, partially from the "Unix" OpenSSH version. This requires 509279219Sken adding the following in pam.conf: 510279219Sken 511279219Sken sshd auth sufficient pam_skey.so 512279219Sken sshd auth required pam_unix.so try_first_pass 513279219Sken sshd session required pam_permit.so 514279219Sken 515279219Sken20001031: 516279219Sken cvs updated to 1.11. 517279219Sken 518279219Sken20001020: 519279219Sken The random device needs more entropy, so you need to make sure 520279219Sken that you've run mergemaster to get a /etc/rc which will seed 521279219Sken /dev/random. If you don't and the system hangs after ldconfig, 522279219Sken then banging on the keyboard randomly until it unhangs is one 523279219Sken workaround. 524279219Sken 525279219Sken20001010: 526279219Sken ****************************** WARNING ****************************** 527279219Sken Sendmail has been updated. 528279219Sken ****************************** WARNING ****************************** 529279219Sken o mail.local(8) is no longer installed as a set-user-id binary. 530279219Sken o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL 531279219Sken is set. 532279219Sken o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY 533279219Sken commands. 534279219Sken o Now using sendmail's version of vacation(1). 535279219Sken o The sendmail cf building tools (contrib/sendmail/cf) are installed 536279219Sken in /usr/share/sendmail/cf. 537279219Sken o sendmail.cw changed to local-host-names 538279219Sken 539279219Sken More details can be found at 540279219Sken http://people.freebsd.org/~imp/UPDATING/sendmail-20001010 541279219Sken 542279219Sken20001009: 543279219Sken The ports tree's new layout is in place. Be sure to update 544279219Sken your entire ports tree, or you will have problems. 545279219Sken 546279219Sken20001006: 547279219Sken The perl build procedure no longer installs miniperl, nor uses 548279219Sken the installed miniperl. It is recommended that you delete 549279219Sken /usr/bin/miniperl. 550279219Sken 551279219Sken20001005: 552279219Sken This weekend the ports tree will be updated to a new layout. 553279219Sken It will be in an inconsistent state until noted in the UPDATING 554279219Sken file, or with asami-san's message to the relevant mailing 555279219Sken lists. With this new layout, you'll need to update the whole 556279219Sken tree for anything to work. 557279219Sken 558279219Sken20000928: 559279219Sken There was a change in the passwd format. Need more information. 560279219Sken 561279219Sken20000916: 562279219Sken /boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken 563279219Sken place. Please update boot loader (not the boot blocks) at the 564279219Sken same time as your kernel. 565279219Sken 566279219Sken20000914: 567279219Sken The new pmtimer device is necessary for laptops. Failure to 568279219Sken include the device will cause suspended laptops losing time 569279219Sken when they resume. Include 570279219Sken device pmtimer 571279570Sken in your config file and 572279570Sken hint.pmtimer.0.at="isa" 573279570Sken to your /boot/device.hints file. 574279570Sken 575279570Sken20000911: 576279570Sken The random device has been turned into a (pseudo-)device, 577279570Sken rather than an option. The supplied kernel config files have 578279570Sken been updated. You will need to do something similar in your 579279570Sken own kernel config file. 580279219Sken Remove: 581279219Sken options RANDOMDEV 582279219Sken Add: 583279219Sken device random 584279219Sken If you prefer to load the loadable module, you need to do 585279219Sken nothing. 586279219Sken 587279219Sken20000909: 588279219Sken The random device module has been renamed from randomdev.ko to 589279219Sken random.ko. You will need to edit your /boot/loader.conf to 590279219Sken reflect this if you load this module at boot time. 591279219Sken The line should read: 592279219Sken random_load="YES" 593279219Sken 594279219Sken20000907: 595279219Sken The SMPNG commit has happened. It should work, but if it 596279219Sken doesn't, fallback to the PRE_SMPNG CVS tag. There are likely 597279219Sken to be a variety of minor issues. Please see 20000905 to make 598279219Sken sure you don't have model loading problems which might at 599279219Sken first blush appear related to SMP. 600279219Sken 601279219Sken20000906: 602279219Sken nsswitch has been imported from NetBSD. Among other things, 603279219Sken this means that /etc/host.conf is no longer used. See 604279219Sken nsswitch.conf(5) instead. Note that at boot time rc.network 605279219Sken will attempt to produce a new nsswitch.conf file for you if you 606279219Sken don't have one, and you have host.conf. 607279219Sken 608279219Sken20000905: 609279219Sken The ucred structure changed size. This breaks the interface 610279219Sken that mountd uses. Trying to use an older mountd with a newer 611279219Sken kernel guarantees a panic. This means that you need to use 612279219Sken kernels newer than today only with matching mountd, but you 613279219Sken needed to do that anyway with the boot loader changes. 614279219Sken 615279219Sken20000905: 616279219Sken The boot loader has been updated. The new default kernel is 617279219Sken now /boot/kernel/kernel.ko. The new default module location 618279219Sken is /boot/kernel. 619279219Sken 620279219Sken You *MUST* upgrade your boot loader and kernel at the same time. 621279219Sken The easiest way to do this is to do the buildworld/buildkernel/ 622279219Sken installkernel/installworld dance. 623279219Sken 624279219Sken Furthermore, you are urged to delete your old /modules directory 625279570Sken before booting the new kernel, since kldload will find stale 626279570Sken modules in that directory instead of finding them in the correct 627279570Sken path, /boot/kernel. The most common complaint that this cures 628279570Sken is that the linux module crashes your machine after the update. 629279570Sken 630279570Sken if [ ! -d /boot/kernel.old ]; then 631279570Sken mv /modules.old /boot/kernel.old 632279570Sken chflags noschg /kernel.old 633279219Sken mv /kernel.old /boot/kernel.old/kernel.ko 634279219Sken chflags schg /boot/kernel.old/kernel.ko 635279219Sken fi 636279219Sken 637279219Sken20000904: 638279219Sken A new issue with the sendmail upgrade has come to light. 639279219Sken /etc/aliases has moved to /etc/mail/aliases. Mergemaster will 640279219Sken incorrectly install the default aliases in /etc/mail rather than 641279219Sken move the old one from /etc. So you'll need to manually move the 642279219Sken file, create a symbolic link, remove the old /etc/aliases.db and 643279219Sken run newaliases. For safety sake, you should stop sendmail 644322366Sken while doing this and run the upgrade when locally sourced email 645347884Sken is not likely to be generated. 646279219Sken 647279219Sken20000825: 648300327Sken /boot/device.hints is now required for installkernel to 649325495Sken succeed. You should copy GENERIC.hints for your architecture 650318296Sken into /boot/device.hints. If and only if you compile hints 651368675Sken into your kernel, then this file may be empty. Please note, 652279219Sken if you have an empty or missing /boot/device.hints file and 653279219Sken you neglected to compile hints into your kernel, no boot 654279219Sken messages will appear after the boot loader tries to start the 655279219Sken kernel. 656279219Sken 657322366Sken20000821: 658347884Sken If you do NOT have ``options RANDOMDEV'' in your kernel and 659279219Sken you DO want the random device then add randomdev_load="YES" to 660279219Sken /boot/loader.conf. 661279219Sken 662279219Sken20000812: 663279219Sken suidperl is now always built and installed on the system, but 664279219Sken with permissions of 511. If you have applications that use 665279219Sken this program, you are now required to add ENABLE_SUIDPERL=true 666279219Sken to /etc/make.conf. If you forget to do this, 667279219Sken chmod 4511 /usr/bin/suidperl 668279219Sken will fix this until the next build. 669279219Sken 670279219Sken20000812: 671279219Sken sendmail has been updated from 8.9.3 to 8.11.0. Some of the more 672279219Sken visible changes that may immediately affect your configuration 673279219Sken include: 674279219Sken - New default file locations from src/contrib/sendmail/cf/README 675279219Sken - newaliases limited to root and trusted users 676279219Sken - MSA port (587) turned on by default 677279219Sken - New queue file naming system so can't go from 8.11 -> 8.9 678279219Sken - FEATURE(`rbl') renamed to FEATURE(`dnsbl') 679279219Sken - FEATURE(`nullclient') is more full featured 680279219Sken - FEATURE(`nouucp') requires an argument: `reject' or `nospecial' 681279219Sken - mail.local FreeBSD-only -b option changed to -B 682279219Sken - See src/contrib/sendmail/RELEASE_NOTES for more info 683279219Sken 684279219Sken20000810: 685279219Sken suidperl (aka sperl) is no longer build by default. You must 686279219Sken specifically define BUILD_SUIDPERL to "true" for it to be build. 687279219Sken Furthermore, we recommend that you remove /usr/bin/sperl* and 688279219Sken /usr/bin/suidperl files from your system unless you have a 689279219Sken specific use for it. 690279219Sken 691279219Sken20000729: 692279219Sken Networking defaults have been tightened. Anybody upgrading 693279219Sken /etc/defaults/rc.conf needs to add the following lines to 694279219Sken /etc/rc.conf if they want to have the same setup 695279219Sken afterwards (unless the variables already are set, of course): 696279219Sken # Enable network daemons for user convenience. 697279219Sken inetd_enable="YES" 698279219Sken portmap_enable="YES" 699279219Sken sendmail_enable="YES" 700279219Sken 701279219Sken20000728: 702279219Sken If you have null_load="YES" in your /boot/loader.conf, you 703279219Sken will need to change that to nullfs_load="YES". 704279219Sken 705279219Sken20000728: 706279219Sken The "installkernel" target has changed slightly. Now even if 707279219Sken you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL' 708279219Sken it will install the MYKERNEL file (built with the buildkernel 709279219Sken target) as /kernel rather than /MYKERNEL. Those who have 710279219Sken updated their /boot/loader.conf files to point to /MYKERNEL 711279219Sken should remove that entry or perform manual rename of /kernel 712279219Sken to /MYKERNEL. 713279219Sken 714279219Sken20000711: 715279219Sken If you use CVSUP or CTM to get CVS trees, AND you used to get 716279219Sken the old crypto files from internat.freebsd.org AND you check 717279219Sken out files from the CVS tree with the cvs command, please read 718279219Sken http://people.freebsd.org/~imp/internat.txt 719279219Sken for details on potential problems that you might have and how 720279219Sken to get around them. 721279219Sken 722279219Sken If you are merely a mirror, or don't answer yes to each of the 723279219Sken clauses above, you needn't worry. 724279219Sken 725279219Sken20000711: 726279219Sken /etc/security has been updated to print the inode number of 727279219Sken setuid programs that have changed. You will see a large spike 728279219Sken in the number of changed programs the first time when you run 729279219Sken mergemaster to get a new /etc/security. 730279219Sken 731279219Sken20000710: 732279219Sken /dev/random now has good entropy collection (from the keyboard 733279219Sken and sysmouse drivers). Please ensure that either `options 734279219Sken RANDOMDEV' is present in your kernel config file or that 735279219Sken `randomdev_load="YES"' is in your /boot/loader.conf. If you do 736279219Sken not have the /dev/random driver, OpenSSL (and consequently 737279219Sken lots of crypto tools (like SSH)) will fail with strange 738279219Sken errors. (see below, 20000624). 739279219Sken 740279219Sken FreeBSD-current is safe again to run Crypto. 741279219Sken 742279219Sken20000709: 743279219Sken phk made the malloc default options AJ. This may slow things 744279219Sken down and uncover other latent bugs in the code. If you need to 745279219Sken run at full speed, you can disable this by doing the following: 746279219Sken ln -s aj /etc/malloc.conf 747279219Sken 748279219Sken20000706: 749279219Sken libftpio's version was accidentally bumped a few days ago. This 750279219Sken has been corrected. You may need to remove /usr/lib/libftpio.so.6 751279219Sken before doing your next buildworld/installworld pair. It certainly 752279219Sken won't hurt to remove it before the update procedure. It will 753279219Sken break fetch until a new one is built, but ftp can be used in the 754279219Sken interim if needed. 755279219Sken 756279219Sken20000705: 757279219Sken The crypto packages have changed for the cvsup. This has been done 758279219Sken in a backward compatible way, but the old packages will go away at 759279219Sken some point in the future. Look at /usr/share/examples/cvsup for 760279219Sken details. 761279219Sken 762279219Sken20000704: 763279219Sken With the new sys/modules/sound/drivers/*, you will need to 764279219Sken set SYSDIR until you do an installworld after July 7th. 765279219Sken 766279219Sken20000704: 767279219Sken rc.shutdown and rc will now call the rc.d scripts with start 768279219Sken or stop. This may cause some harmless warnings from older 769279219Sken rc.d scripts that haven't been updated. 770279219Sken 771279219Sken20000630: 772279219Sken The libfetch based version of fetch has gone into the tree. 773279219Sken Minor problems may result on some of the less popular sites, 774279219Sken which should be reported to des@freebsd.org. 775279219Sken 776279219Sken20000625: 777279219Sken From approximately this date forward, one must have the crypto 778279219Sken system installed in order to build the system and kernel. 779279219Sken While not technically strictly true, one should treat it as 780279219Sken required and grab the crypto bits. If you are grabbing CVS 781279219Sken trees, src-all and cvs-crypto should be treated as if they 782 were required. You should check with the latest collections 783 to make sure that these haven't changed. 784 78520000624: 786 Mark Murray just committed the first parts of a cleanup of 787 /dev/zero, et al. This is also cleaning up /dev/random. 788 The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD 789 -CURRENT FROM THIS POINT to 2000710 for cryptographic services 790 until Mark can merge in the fixes to this work in progress. 791 openssh and openssl should not be used to generate keys from this 792 date to the completion of the work. 793 794 If you must operate at this reduced level of security, add ' 795 options RANDOMDEV' to your kernel or modload the randomdev 796 module. You may also need to copy a new MAKEDEV to /dev and 797 recreate the random and urandom devices. 798 79920000622: 800 The license on the softupdates is now a standard 2 clause 801 BSD license. You may need to remove your symbolic links 802 that used to be required when updating. 803 80420000621: 805 Scott Flatman <sf@aracnet.com> sent in a decent write-up on 806 the config file update procedure. 807 http://people.freebsd.org/~imp/config-upd.html 808 NOTE: LINT is gone. It has been replaced with NOTES. NOTES 809 isn't buildable. However, you can generate a LINT file. 810 81120000620: 812 Binutils 2.10 have hit the tree, or will shortly. As soon 813 as they do, the problem noted in 20000522 will be resolved and 814 that workaround will no longer be required. 815 81620000615: 817 phk removed the compatibility creation of wd devices in the 818 ad driver. If you haven't done so already, you must update 819 your fstab, etc to use the ad devices instead of the wd 820 devices. 821 822 In addition, you'll need to update your boot blocks to a 823 more modern version, if you haven't already done so. Modern 824 here means 4.0 release or newer (although older releases 825 may work). 826 82720000612: 828 Peter took an axe to config(8). Be sure that you read his mail 829 on the topic before even thinking about updating. You will 830 need to create a /boot/device.hints or add a hints directive 831 to your config file to compile them in statically. The format 832 of the config file has changed as well. Please see GENERIC or 833 NEWCARD for examples of the new format. 834 835 Indirectly, this also breaks USERCONFIG. Unless a newer entry 836 says that it has been fixed, assume that must use the hints mechanism 837 in the loader if you need to use a machine with very old ISA cards 838 in it. 839 84020000522: 841 A new set of binutils went into the tree today. Anybody 842 building a kernel after this point is advised that they need 843 to rebuild their binutils (or better yet do a 844 buildworld/installworld) before building a new kernel. 845 846 Due to bugs in binutils, using malloc options (eg /etc/malloc.conf 847 or MALLOC_OPTIONS env var) J will cause ld to dump core. It 848 is recommended that you don't set this option until the problem 849 is resolved. 850 85120000513: 852 The ethernet drivers were all updated to clean up the BPF handling. 853 85420000510: 855 The problems with boot blocks on the alphas have been corrected. 856 This will require some care in updating alphas. A new libstand 857 is requires for the boot blocks to build properly. 858 85920000503: 860 Recompile all kld modules. Proper version dependency info 861 is now available. 862 86320000502: 864 Modules have been disconnected from the buildworld tree and 865 connected to the kernel building instead. 866 86720000427: 868 You may need to build gperf 869 cd /usr/src/gnu/usr.bin/gperf && make depend all install 870 when upgrading from 4.0 -> current. The build system now uses 871 an option only in -current. 872 87320000417: 874 The method that we brand ELF binaries has changed to be more 875 acceptable to the binutils maintainers. You will need to 876 rebrand your ELF binaries that aren't native. One problem 877 binary is the Linux ldconfig. After your make world, but 878 before you reboot, you'll need to issue: 879 brandelf -t Linux /compat/linux/sbin/ldconfig 880 if you have Linux compatibility enabled on your machine. 881 88220000320: 883 If you have really bad/marginal IDE drives, you may find they 884 don't work well. Use pio mode instead. The easiest way to 885 cope if you have a problem combination is to add: 886 /sbin/sysctl hw.ata.ata_dma=0 887 to the start of /etc/rc.conf. 888 88920000319: 890 The ISA and PCI compatibility shims have been connected to the 891 options COMPAT_OLDISA and COMPAT_OLDPCI. If you are using old 892 style PCI or ISA drivers (i.e. tx, voxware, etc.) you must 893 include the appropriate option in your kernel config. Drivers 894 using the shims should be updated or they won't ship with 895 5.0-RELEASE, targeted for 2001. 896 89720000318: 898 We've entered the traditional post release dumping party. 899 Large kernel changes are being committed and are in the 900 works. It is important to keep the systems' klds and kernel 901 in sync as kernel interfaces and structures are changing. 902 Before reporting kernel panics, make sure that all modules 903 that you are loading are up to date. 904 90520000315: 906 If you are upgrading from an older version of FreeBSD, you 907 need to update your boot blocks as well. 'disklabel -B ad0' 908 will do the trick. This isn't critical until you remove your 909 wd device entries in /dev, at which point your system will not 910 boot. 911 91220000315: 913 4.0 RELEASE shipped. Please see the 4.0 UPDATING file for how 914 to upgrade to 4.0 from 3.x. 915 916COMMON ITEMS: 917 918 General Notes 919 ------------- 920 Avoid using make -j when upgrading. From time to time in the 921 past there have been problems using -j with buildworld and/or 922 installworld. This is especially true when upgrading between 923 "distant" versions (eg one that cross a major release boundary 924 or several minor releases, or when several months have passed 925 on the -current branch). 926 927 Sometimes, obscure build problems are the result of environment 928 poisoning. This can happen because the make utility reads its 929 environment when searching for values for global variables. 930 To run your build attempts in an "environmental clean room", 931 prefix all make commands with 'env -i '. See the env(1) manual 932 page for more details. 933 934 To build a kernel 935 ----------------- 936 If you are updating from a prior version of FreeBSD (even one just 937 a few days old), you should follow this procedure. With a 938 /usr/obj tree with a fresh buildworld, 939 make buildkernel KERNCONF=YOUR_KERNEL_HERE 940 make installkernel KERNCONF=YOUR_KERNEL_HERE 941 942 To just build a kernel when you know that it won't mess you up 943 -------------------------------------------------------------- 944 cd src/sys/{i386,alpha}/conf 945 config KERNEL_NAME_HERE 946 cd ../../compile/KERNEL_NAME_HERE 947 make depend 948 make 949 make install 950 951 If this fails, go to the "To build a kernel" section. 952 953 To rebuild everything and install it on the current system. 954 ----------------------------------------------------------- 955 make world 956 Build a new kernel, see above. 957 958 To upgrade from 4.x-stable to current 959 ------------------------------------- 960 make buildworld 961 make buildkernel KERNCONF=YOUR_KERNEL_HERE 962 cp src/sys/${MACHINE_ARCH}/conf/GENERIC.hints /boot/device.hints [2] 963 make installkernel KERNCONF=YOUR_KERNEL_HERE 964 reboot in single user [3] 965 mergemaster -p [5] 966 make installworld 967 mergemaster [4] 968 [1] 969 <reboot> 970 971 Make sure that you've read the UPDATING file to understand the 972 tweaks to various things you need. At this point in the life 973 cycle of current, things change often and you are on your own 974 to cope. The defaults can also change, so please read ALL of 975 the UPDATING entries. 976 977 Also, if you are tracking -current, you must be subscribed to 978 freebsd-current@freebsd.org. Make sure that before you update 979 your sources that you have read and understood all the recent 980 messages there. If in doubt, please track -stable which has 981 much fewer pitfalls. 982 983 [1] If you have third party modules, such as vmware, you 984 should disable them at this point so they don't crash your 985 system on reboot. 986 987 [2] If you have legacy ISA devices, you may need to create 988 your own device.hints to reflect your unique hardware 989 configuration. 990 991 [3] From the bootblocks, boot -s, and then do 992 fsck -p 993 mount -u / 994 mount -a 995 cd /usr/src 996 adjkerntz -i # if CMOS is wall time 997 Also, when doing a major release upgrade, it is required that 998 you boot into single user mode to do the installworld. 999 1000 [4] Note: This step is non-optional. Failure to do this step 1001 can result in a significant reduction in the functionality of the 1002 system. Attempting to do it by hand is not recommended and those 1003 that pursue this avenue should read this file carefully, as well 1004 as the archives of freebsd-current and freebsd-hackers mailing lists 1005 for potential gotchas. 1006 1007 [5] Usually this step is a noop. However, from time to time 1008 you may need to do this if you get unknown user in the following 1009 step. It never hurts to do it all the time. You may need to 1010 install a new mergemaster (cd src/usr.sbin/mergemaster && make 1011 install) after the buildworld before this step if you last updated 1012 from current before 20020224 or from -stable before 20020408. 1013 1014FORMAT: 1015 1016This file contains a list, in reverse chronological order, of major 1017breakages in tracking -current. Not all things will be listed here, 1018and it only starts on March 15, 2000. Updating files can found in 1019previous releases if your system is older than this. 1020 1021Copyright information: 1022 1023Copyright 1998, 2002 M. Warner Losh. All Rights Reserved. 1024 1025Redistribution, publication, translation and use, with or without 1026modification, in full or in part, in any form or format of this 1027document are permitted without further permission from the author. 1028 1029THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR 1030IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 1031WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 1032DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT, 1033INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 1034(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 1035SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1036HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 1037STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 1038IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 1039POSSIBILITY OF SUCH DAMAGE. 1040 1041If you find this document useful, and you want to, you may buy the 1042author a beer. 1043 1044Contact Warner Losh if you have any questions about your use of 1045this document. 1046 1047$FreeBSD: head/UPDATING 99203 2002-07-01 07:25:05Z imp $ 1048