UPDATING revision 65601
1Updating Information for FreeBSD current users 2 3This file is maintained by imp@village.org. Please send new entries 4directly to him. See end of file for further details. For commonly 5done items, please see the end of the file. Search for 'COMMON 6ITEMS:' 7 820000907: 9 The SMPNG commit has happened. It should work, but if it 10 doesn't, fallback to the PRE_SMPNG CVS tag. 11 12 Expect problems. The Linux emulation panics the system on 13 boot, and there are other minor and not so minor irritations. 14 The thin skinned should switch to 4.x-stable for the next few 15 months. 16 1720000906: 18 nsswitch has been imported from NetBSD. Among other things, 19 this means that /etc/host.conf is no longer used. See 20 nsswitch.conf(5) instead. Note that at boot time rc.network 21 will attempt to produce a new nsswitch.conf file for you if you 22 don't have one, and you have host.conf. 23 2420000905: 25 The boot loader has been updated. The new default kernel is 26 now /boot/kernel/kernel.ko. The new default module location 27 is /boot/kernel. 28 29 You *MUST* upgrade your boot loader and kernel at the same time. 30 3120000904: 32 A new issue with the sendmail upgrade has come to light. 33 /etc/aliases has moved to /etc/mail/aliases. Mergemaster will 34 incorrectly install the default aliases in /etc/mail rather than 35 move the old one from /etc. So you'll need to manually move the 36 file, create a symbolic link, remove the old /etc/aliases.db and 37 run newaliases. For safety sake, you should stop sendmail 38 while doing this and run the upgrade when locally sourced email 39 is not likely to be generated. 40 4120000825: 42 /boot/device.hints is now required for installkernel to 43 succeed. You should copy GENERIC.hints for your architecture 44 into /boot/device.hints. If and only if you compile hints 45 into your kernel, then this file may be empty. Please note, 46 if you have an empty or missing /boot/device.hints file and 47 you neglected to compile hints into your kernel, no boot 48 messages will appear after the boot loader tries to start the 49 kernel. 50 5120000821: 52 If you do NOT have ``options RANDOMDEV'' in your kernel and 53 you DO want the random device then add randomdev_load="YES" to 54 /boot/loader.conf. 55 5620000812: 57 suidperl is now always built and installed on the system, but 58 with permissions of 511. If you have applications that use 59 this program, you are now required to add ENABLE_SUIDPERL=true 60 to /etc/make.conf. If you forget to do this, 61 chmod 4511 /usr/bin/suidperl 62 will fix this until the next build. 63 6420000812: 65 sendmail has been updated from 8.9.3 to 8.11.0. Some of the more 66 visible changes that may immediately affect your configuration 67 include: 68 - New default file locations from src/contrib/sendmail/cf/README 69 - newaliases limited to root and trusted users 70 - MSA port (587) turned on by default 71 - New queue file naming system so can't go from 8.11 -> 8.9 72 - FEATURE(`rbl') renamed to FEATURE(`dnsbl') 73 - FEATURE(`nullclient') is more full featured 74 - FEATURE(`nouucp') requires an argument: `reject' or `nospecial' 75 - mail.local FreeBSD-only -b option changed to -B 76 - See src/contrib/sendmail/RELEASE_NOTES for more info 77 7820000810: 79 suidperl (aka sperl) is no longer build by default. You must 80 specifically define BUILD_SUIDPERL to "true" for it to be build. 81 Furthermore, we recommend that you remove /usr/bin/sperl* and 82 /usr/bin/suidperl files from your system unless you have a 83 specific use for it. 84 8520000729: 86 Networking defaults have been tightened. Anybody upgrading 87 /etc/defaults/rc.conf needs to add the following lines to 88 /etc/rc.conf if they want to have the same setup 89 afterwards (unless the variables already are set, of course): 90 # Enable network daemons for user convenience. 91 inetd_enable="YES" 92 portmap_enable="YES" 93 sendmail_enable="YES" 94 9520000728: 96 If you have null_load="YES" in your /boot/loader.conf, you 97 will need to change that to nullfs_load="YES". 98 9920000728: 100 The "installkernel" target has changed slightly. Now even if 101 you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL' 102 it will install the MYKERNEL file (built with the buildkernel 103 target) as /kernel rather than /MYKERNEL. Those who have 104 updated their /boot/loader.conf files to point to /MYKERNEL 105 should remove that entry or perform manual rename of /kernel 106 to /MYKERNEL. 107 10820000711: 109 If you use CVSUP or CTM to get CVS trees, AND you used to get 110 the old crypto files from internat.freebsd.org AND you check 111 out files from the CVS tree with the cvs command, please read 112 http://people.freebsd.org/~imp/internat.txt 113 for details on potential problems that you might have and how 114 to get around them. 115 116 If you are merely a mirror, or don't answer yes to each of the 117 clauses above, you needn't worry. 118 11920000711: 120 /etc/security has been updated to print the inode number of 121 setuid programs that have changed. You will see a large spike 122 in the number of changed programs the first time when you run 123 mergemaster to get a new /etc/security. 124 12520000710: 126 /dev/random now has good entropy collection (from the keyboard 127 and sysmouse drivers). Please ensure that either `options 128 RANDOMDEV' is present in your kernel config file or that 129 `randomdev_load="YES"' is in your /boot/loader.conf. If you do 130 not have the /dev/random driver, OpenSSL (and consequently 131 lots of crypto tools (like SSH)) will fail with strange 132 errors. (see below, 20000624). 133 134 FreeBSD-current is safe again to run Crypto. 135 13620000709: 137 phk made the malloc default options AJ. This may slow things 138 down and uncover other latent bugs in the code. If you need to 139 run at full speed, you can disable this by doing the following: 140 ln -s aj /etc/malloc.conf 141 14220000706: 143 libftpio's version was accidentally bumped a few days ago. This 144 has been corrected. You may need to remove /usr/lib/libftpio.so.6 145 before doing your next buildworld/installworld pair. It certainly 146 won't hurt to remove it before the update procedure. It will 147 break fetch until a new one is built, but ftp can be used in the 148 interim if needed. 149 15020000705: 151 The crypto packages have changed for the cvsup. This has been done 152 in a backward compatible way, but the old packages will go away at 153 some point in the future. Look at /usr/share/examples/cvsup for 154 details. 155 15620000704: 157 With the new sys/modules/sound/drivers/*, you will need to 158 set SYSDIR until you do an installworld after July 7th. 159 16020000704: 161 rc.shutdown and rc will now call the rc.d scripts with start 162 or stop. This may cause some harmless warnings from older 163 rc.d scripts that haven't been updated. 164 16520000630: 166 The libfetch based version of fetch has gone into the tree. 167 Minor problems may result on some of the less popular sites, 168 which should be reported to des@freebsd.org. 169 17020000625: 171 From approximately this date forward, one must have the crypto 172 system installed in order to build the system and kernel. 173 While not technically strictly true, one should treat it as 174 required and grab the crypto bits. If you are grabbing CVS 175 trees, src-all and cvs-crypto should be treated as if they 176 were required. You should check with the latest collections 177 to make sure that these haven't changed. 178 17920000624: 180 Mark Murray just committed the first parts of a cleanup of 181 /dev/zero, et al. This is also cleaning up /dev/random. 182 The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD 183 -CURRENT FROM THIS POINT FORWARD for cryptographic services 184 until Mark can merge in the fixes to this work in progress. 185 openssh and openssl should not be used to generate keys from this 186 date to the completion of the work. 187 188 If you must operate at this reduced level of security, add ' 189 options RANDOMDEV' to your kernel or modload the randomdev 190 module. You may also need to copy a new MAKEDEV to /dev and 191 recreate the random and urandom devices. 192 19320000622: 194 The license on the softupdates is now a standard 2 clause 195 BSD license. You may need to remove your symbolic links 196 that used to be required when updating. 197 19820000621: 199 Scott Flatman <sf@aracnet.com> sent in a decent write-up on 200 the config file update procedure. 201 http://people.freebsd.org/~imp/config-upd.html 202 NOTE: LINT is gone. It has been replaced with NOTES. NOTES 203 isn't buildable. However, you can generate a LINT file. 204 20520000620: 206 Binutils 2.10 have hit the tree, or will shortly. As soon 207 as they do, the problem noted in 20000522 will be resolved and 208 that workaround will no longer be required. 209 21020000615: 211 phk removed the compatibility creation of wd devices in the 212 ad driver. If you haven't done so already, you must update 213 your fstab, etc to use the ad devices instead of the wd 214 devices. 215 216 In addition, you'll need to update your boot blocks to a 217 more modern version, if you haven't already done so. Modern 218 here means 4.0 release or newer (although older releases 219 may work). 220 22120000612: 222 Peter took an axe to config(8). Be sure that you read his mail 223 on the topic before even thinking about updating. You will 224 need to create a /boot/device.hints or add a hints directive 225 to your config file to compile them in statically. The format 226 of the config file has changed as well. Please see GENERIC or 227 NEWCARD for examples of the new format. 228 22920000522: 230 A new set of binutils went into the tree today. Anybody 231 building a kernel after this point is advised that they need 232 to rebuild their binutils (or better yet do a 233 buildworld/installworld) before building a new kernel. 234 235 Due to bugs in binutils, using malloc options (eg /etc/malloc.conf 236 or MALLOC_OPTIONS env var) J will cause ld to dump core. It 237 is recommended that you don't set this option until the problem 238 is resolved. 239 24020000513: 241 The ethernet drivers were all updated to clean up the BPF handling. 242 24320000510: 244 The problems with boot blocks on the alphas have been corrected. 245 This will require some care in updating alphas. A new libstand 246 is requires for the boot blocks to build properly. 247 24820000503: 249 Recompile all kld modules. Proper version dependency info 250 is now available. 251 25220000502: 253 Modules have been disconnected from the buildworld tree and 254 connected to the kernel building instead. 255 2562000427: 257 You may need to build gperf 258 cd /usr/src/gnu/usr.bin/gperf && make depend all install 259 when upgrading from 4.0 -> current. The build system now uses 260 an option only in -current. 261 26220000417: 263 The method that we brand ELF binaries has changed to be more 264 acceptable to the binutils maintainers. You will need to 265 rebrand your ELF binaries that aren't native. One problem 266 binary is the Linux ldconfig. After your make world, but 267 before you reboot, you'll need to issue: 268 brandelf -t Linux /compat/linux/sbin/ldconfig 269 if you have Linux compatibility enabled on your machine. 270 27120000320: 272 If you have really bad/marginal IDE drives, you may find they 273 don't work well. Use pio mode instead. The easiest way to 274 cope if you have a problem combination is to add: 275 /sbin/sysctl -w hw.atamodes=pio,pio,pio,pio 276 to the start of /etc/rc.conf. 277 27820000319: 279 The ISA and PCI compatibility shims have been connected to the 280 options COMPAT_OLDISA and COMPAT_OLDPCI. If you are using old 281 style PCI or ISA drivers (i.e. tx, voxware, etc.) you must 282 include the appropriate option in your kernel config. Drivers 283 using the shims should be updated or they won't ship with 284 5.0-RELEASE, targeted for 2001. 285 28620000318: 287 We've entered the traditional post release dumping party. 288 Large kernel changes are being committed and are in the 289 works. It is important to keep the systems' klds and kernel 290 in sync as kernel interfaces and structures are changing. 291 Before reporting kernel panics, make sure that all modules 292 that you are loading are up to date. 293 29420000315: 295 If you are upgrading from an older version of FreeBSD, you 296 need to update your boot blocks as well. 'disklabel -B ad0' 297 will do the trick. This isn't critical until you remove your 298 wd device entries in /dev, at which point your system will not 299 boot. 300 30120000315: 302 4.0 RELEASE shipped. Please see the 4.0 UPDATING file for how 303 to upgrade to 4.0 from 3.x. 304 305COMMON ITEMS: 306 307 General Notes 308 ------------- 309 Avoid using make -j when upgrading. From time to time in the 310 past there have been problems using -j with buildworld and/or 311 installworld. This is especially true when upgrading between 312 "distant" versions (eg one that cross a major release boundary 313 or several minor releases, or when several months have passed 314 on the -current branch). 315 316 To build a kernel 317 ----------------- 318 If you are updating from a prior version of FreeBSD (even one just 319 a few days old), you should follow this procedure. With a 320 /usr/obj tree with a fresh buildworld, 321 make buildkernel KERNEL=YOUR_KERNEL_HERE 322 make installkernel KERNEL=YOUR_KERNEL_HERE 323 324 To just build a kernel when you know that it won't mess you up 325 -------------------------------------------------------------- 326 cd src/sys/{i386,alpha}/conf 327 config KERNEL_NAME_HERE [1] 328 cd ../../compile/KERNEL_NAME_HERE 329 make depend 330 make 331 make install 332 333 [1] If in doubt, -r might help here. 334 335 If this fails, go to the "To build a kernel" section. 336 337 To rebuild everything and install it on the current system. 338 ----------------------------------------------------------- 339 make world 340 Build a new kernel, see above. 341 342 To upgrade from 4.x-stable to current 343 ------------------------------------- 344 make buildworld 345 make buildkernel KERNEL=YOUR_KERNEL_HERE 346 cp src/sys/${MACHINE_ARCH}/GENERIC.hints /boot/device.hints [2] 347 make installkernel KERNEL=YOUR_KERNEL_HERE 348 make installworld 349 [1] 350 <reboot> 351 352 Make sure that you've read the UPDATING file to understand the 353 tweaks to various things you need. At this point in the life 354 cycle of current, things change often and you are on your own 355 to cope. The defaults can also change, so please read ALL of 356 the UPDATING entries. 357 358 Also, if you are tracking -current, you must be subscribed to 359 freebsd-current@freebsd.org. Make sure that before you update 360 your sources that you have read and understood all the recent 361 messages there. If in doubt, please track -stable which has 362 much fewer pitfalls. 363 364 [1] If you have third party modules, such as vmware, you 365 should disable them at this point so they don't crash your 366 system on reboot. 367 368 [2] If you have legacy ISA devices, you may need to create 369 your own device.hints to reflect your unique hardware 370 configuration. 371 372FORMAT: 373 374This file contains a list, in reverse chronological order, of major 375breakages in tracking -current. Not all things will be listed here, 376and it only starts on March 15, 2000. Updating files can found in 377previous releases if your system is older than this. 378 379Please filter your entries through Warner Losh (imp@village.org) so 380that the style, formatting, etc of this file can be maintained. 381 382$FreeBSD: head/UPDATING 65601 2000-09-08 06:41:47Z imp $ 383