]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - UPDATING
Don't define ELF_RTLD_ADDR twice.
[FreeBSD/FreeBSD.git] / UPDATING
1 Updating Information for FreeBSD current users
2
3 This file is maintained and copyrighted by M. Warner Losh
4 <imp@village.org>.  Please send new entries directly to him.  See end
5 of file for further details.  For commonly done items, please see the
6 COMMON ITEMS: section later in the file.
7
8 This is for the 4.3 release branch.  All entries since 4.3 are an
9 itemized list of commits to this branch, numbered from the beginning.
10 By this count, we're at 4.3.0p9
11
12 20010709:
13         The PAM libraries have had an API upgrade that is beyond
14         the ability of the shared library major number to handle.
15         It is manifested by PAM-using ports dumping core. The
16         solution is to rebuild those ports.
17
18 20010628:
19         The kernel compile module has moved from src/sys/compile/FOO
20         to src/sys/${MACHINE}/compile/FOO.
21
22 20010625:
23         The pccard modem issue has been corrected.  OLDCARD support is
24         still a little weak in -current.  slot 1 is known not to work
25         on some TI based cardbus bridges.  Some cardbus bridges do not
26         properly detect insert/removal events.  IRQ configuration needs
27         more safety belts.
28
29 20010617:
30         Softupdates problems have been corrected.
31
32 20010614:
33         Peter ripped out the linkerset support.  You must, as always,
34         rerun config after you cvsup if you are using the traditional
35         kernel building methods.
36
37 20010613:
38         pccard modems may not work with current after 20010604 date.  Some
39         do, others result in panics.  *MAKE*SURE* that you update your
40         config and /etc/rc.conf ala the 20010604 entry, or you will have
41         problems (this issue will be fixed, it just hasn't been yet).
42
43 20010613:
44         SOFTUPDATES seem to be broken since the middle of May or so.  Do not
45         use them in current.  You can disable softupdates on all mounted
46         partitions, or remove SOFTUPDATES the kernel config file.
47
48 20010612:
49         After Peter's commits to the hints code, people have been noticing
50         that certain devices are attached (or try to) twice.  This is due
51         to having both static hints as well as a /boot/device.hints.  To
52         work around this issue, please use only one or the other mechanism
53         until this bug is fixed.
54
55         Please note that a feature of config is that if you have config
56         file FOO and FOO.hints, it automatically adds FOO.hints to the
57         hints.c file, wheather you want it to or not.
58
59 20010610:
60         Locale names have changed to match other systems better.
61
62 20010604:
63         pccard support for pci cards has been committed.  You must change
64         your /etc/pccard.conf irq lines.  It must match the irq used by
65         pcic device.  Interrupt storms may result if you fail to do this.
66         Interrupt storms look a lot like a hang.
67
68         You must also install a new pccardd, otherwise you will get an
69         interrupt storm at card reset time (just after it tells you what
70         it is).
71
72         pccardd_flags="-I" is necessary for the time being.  It tells pccardd
73         not to ask the kernel if the interrupt is really free or not before
74         using it.  You can either change the /etc/pccard.conf irq lines to
75         match pcic, or add "-i X" to the pccardd_flags.
76
77 20010530:
78         INSTALL=install -C is being deprecated.  If you want to do this,
79         use COPY=-C instead.  The former method will be supported for only
80         a limited time.  If you see
81
82 install: warning: the -d and -C options may not be specified together
83
84         in your makeworld, then you need to migrate towards using
85         COPY=-C.
86
87 20010525:
88         It appears that vm is now stable enough to use again.  However,
89         there may be other problems, so caution is still urged.  alpha
90         definitely is in bad shape.
91
92 20010521:
93         Minor repo damanged has happened.  This may cause problems
94         with cvsup of ports.  If you get errors, please see
95         http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495
96         at the bottom for details on a workaround.  The error message
97         is
98 Updater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty
99
100 20010520:
101         Vm and/or swapping are busted on -current.  Please be patient.
102
103 20010519:
104         pccard has had much reorganizational work done to it over
105         the past few days.  Everything should still work, but if
106         not, please contact imp@freebsd.org.
107
108 20010517:
109         ata ioctl changed.  Make sure to recompile both kernel and
110         userland at the same time.
111
112 20010517:
113         New ncurses imported.
114
115 20010512:
116         DEVFS is now opt out, not opt in.  Barring major problems, this
117         will be the only way to go starting July 1.
118
119 20010502:
120         Perl breakage in 20010501 was corrected at 14:18:33 PDT.
121
122 20010501:
123         Building perl was broken at 02:25:25 PDT.
124
125 20010430:
126         The bug in 20010429 was corrected at 07:35:37 PDT.  It is safe to
127         go back in the water.
128
129 20010429:
130         A bad bug was committed at 04:48:42 PDT.  Don't use kernels after
131         this date, but before the correction date.
132
133 20010423:
134         old fsck and new kernel interactions appear to have been fixed.
135
136 20010411:
137         fsck and the kernel were changed to handle some optimizations
138         to directory layout.  This breaks backward compatibility.
139         Update only if you understand that you must not use the old
140         fsck with the new kernel ever.
141
142 20010330:
143         fsck has changed the meaning of the pass column in /etc/fstab.
144         Please see the cvs commit to fsck.8 or the fsck.8 man page for
145         details.  It is unclear if changes to /etc/fstab are necessary.
146
147 20010319:
148         portmap had changed name to rpcbind for maximum POLA in your
149         current world.  /etc/hosts.{allow,deny} needs changes.  nfs and
150         other rpc based programs that rely on portmapper will not work
151         without updates to /etc/hosts.{allow,deny} and /etc/netconfig.
152
153 20010315:
154         ata subsystem changes.  ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC
155         and ATA_ENABEL_TAGS are no longer kernel options.  They have
156         been replaced by tunables.  See ata.4 for details.
157
158 20010312:
159         The fxp driver was converted to use miibus.  If you compile
160         fxp into your kernel statically, you will need to add miibus.
161
162 20010312:
163         The wi device now defaults to BSS (infrastructure) mode
164         instead of ad-hoc.
165
166 20010310:
167         /dev/urandom should be a symbolic link to /dev/random now.
168         Users of current not using DEVFS need to run MAKEDEV std.
169         ssh might not work if you don't.
170
171 20010303:
172         The ed driver has been updated.  It now allows mii attachments,
173         which means that you must include the miibus in your kernel if
174         you use the ed driver.
175
176 20010220:
177         The problems with libc have been corrected.  It is now mostly
178         safe to go back into the water.
179
180 20010211:
181         The size of FILE was changed.  This breaks upgrading.  If
182         you must upgrade, be prepared for pain.  It also breaks almost
183         all binaries that you've compiled on -current.  You are warned
184         that before upgrading would be a good time to do a level 0
185         dump of your system.  No, really, I mean it this time.
186
187         To get to the new system, you'll need to use the following
188         workaround.  Hopefully this can be sorted out so that we
189         don't have to move this to the updating section.
190
191         To get around the installworld problem, do:
192                 # cd /usr/src/usr.bin/sed
193                 # make install
194                 # cd /usr/src
195                 # make installworld
196         If that doesn't work, then try:
197                 # make -k installworld
198                 # make installworld
199
200 20010207:
201         DEVFS is now the default.  If you use vinum, make sure that you
202         do not include devfs in your kernel as problems result.
203
204 20010205:
205         FFS_ROOT and CD9660_ROOT have been removed or deprecated.
206         Remove them from your config.
207
208 20010122:
209         ****************************** WARNING ******************************
210                         buildkernel has been changed slightly
211         ****************************** WARNING ******************************
212         KERNCONF replaces the variable KERNEL for buildkernel.  You
213         should update your scripts and make.conf accordingly.
214
215 20010119:
216         config has changed to allow DEV_FOO as a replacement for NFOO.
217         This requires a new config to build correctly.
218
219 20010116:
220         The kerrnel option I386_CPU is now mutually exclusive with the
221         other cpu types. If you have an i386 system, be sure that it
222         only had this line.  Remove it for all other configurations.
223
224 20010110:
225         Changes to the kernel require it and burncd be in sync.
226
227 20010102:
228         Everyone who has hw.sndunit set to something in
229         /etc/sysctl.conf, it is now hw.snd.unit.
230
231 20010101:
232         ex and vi were broken by some changes to sys/queue.h.  If you
233         have a bad vi, you will see make buildworld fail with a core
234         dump while building termcap.  You can work around this problem
235         by adding -k to your make buildworld.  This will cause the
236         build to complete and install a new vi.  Once that's done, you
237         can rebuild again without the -k to pick up anything that
238         might have been ignored by the -k option.
239
240         Others have suggested that you can just rebuild libc if your
241         vi/ex is dynamically linked, but I've not received any reports
242         of this working.
243
244 20001228:
245         There have been some changes to libcrypt in -current.  The
246         libscrypt/libdescrypt symlink sillyness is gone and the installed
247         libcrypt is fully functional.  Be aware of this.
248
249 20001218:
250         Linksys Fast Ethernet PCCARD cards supported by the ed driver
251         now require the addition of flag 0x80000 to their config line
252         in pccard.conf(5).  This flag is not optional.  These Linksys
253         cards will not be recognized without it.
254
255 20001205:
256         Important new FreeBSD-version stuff: PAM support has been worked
257         in, partially from the "Unix" OpenSSH version.  This requires
258         adding the following in pam.conf:
259   
260         sshd    auth    sufficient      pam_skey.so
261         sshd    auth    required        pam_unix.so         try_first_pass
262         sshd    session required        pam_permit.so
263
264 20001031:
265         cvs updated to 1.11.
266
267 20001020:
268         The random device needs more entropy, so you need to make sure
269         that you've run mergemaster to get a /etc/rc which will seed
270         /dev/random.  If you don't and the system hangs after ldconfig,
271         then banging on the keyboard randomly until it unhangs is one
272         workaround.
273
274 20001010:
275         ****************************** WARNING ******************************
276                                 Sendmail has been updated.
277         ****************************** WARNING ******************************
278         o mail.local(8) is no longer installed as a set-user-id binary.
279         o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL
280           is set.
281         o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY
282           commands.
283         o Now using sendmail's version of vacation(1).
284         o The sendmail cf building tools (contrib/sendmail/cf) are installed
285           in /usr/share/sendmail/cf.
286         o sendmail.cw changed to local-host-names
287
288         More details can be found at
289                 http://people.freebsd.org/~imp/UPDATING/sendmail-20001010
290
291 20001009:
292         The ports tree's new layout is in place.  Be sure to update
293         your entire ports tree, or you will have problems.
294
295 20001006:
296         The perl build procedure no longer installs miniperl, nor uses
297         the installed miniperl.  It is recommended that you delete
298         /usr/bin/miniperl.
299
300 20001005:
301         This weekend the ports tree will be updated to a new layout.
302         It will be in an inconsistent state until noted in the UPDATING
303         file, or with asami-san's message to the relevant mailing
304         lists.  With this new layout, you'll need to update the whole
305         tree for anything to work.
306
307 20000928:
308         There was a change in the passwd format.  Need more information.
309
310 20000916:
311         /boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken
312         place.  Please update boot loader (not the boot blocks) at the
313         same time as your kernel.
314
315 20000914:
316         The new pmtimer device is necessary for laptops.  Failure to
317         include the device will cause suspended laptops losing time
318         when they resume.  Include
319                 device          pmtimer
320         in your config file and
321                 hint.pmtimer.0.at="isa"
322         to your /boot/device.hints file.
323
324 20000911:
325         The random device has been turned into a (pseudo-)device,
326         rather than an option. The supplied kernel config files have
327         been updated. You will need to do something similar in your
328         own kernel config file.
329         Remove:
330                 options         RANDOMDEV
331         Add:
332                 device          random
333         If you prefer to load the loadable module, you need to do
334         nothing.
335
336 20000909:
337         The random device module has been renamed from randomdev.ko to
338         random.ko. You will need to edit your /boot/loader.conf to
339         reflect this if you load this module at boot time.
340         The line should read:
341                 random_load="YES"
342
343 20000907:
344         The SMPNG commit has happened.  It should work, but if it
345         doesn't, fallback to the PRE_SMPNG CVS tag.  There are likely
346         to be a variety of minor issues.  Please see 20000905 to make
347         sure you don't have model loading problems which might at
348         first blush appear related to SMP.
349
350 20000906:
351         nsswitch has been imported from NetBSD.  Among other things,
352         this means that /etc/host.conf is no longer used.  See
353         nsswitch.conf(5) instead.  Note that at boot time rc.network
354         will attempt to produce a new nsswitch.conf file for you if you
355         don't have one, and you have host.conf.
356
357 20000905:
358         The ucred structure changed size.  This breaks the interface
359         that mountd uses.  Trying to use an older mountd with a newer
360         kernel guarantees a panic.  This means that you need to use
361         kernels newer than today only with matching mountd, but you
362         needed to do that anyway with the boot loader changes.
363
364 20000905:
365         The boot loader has been updated.  The new default kernel is
366         now /boot/kernel/kernel.ko.  The new default module location
367         is /boot/kernel.
368
369         You *MUST* upgrade your boot loader and kernel at the same time.
370         The easiest way to do this is to do the buildworld/buildkernel/
371         installkernel/installworld dance.
372
373         Furthermore, you are urged to delete your old /modules directory
374         before booting the new kernel, since kldload will find stale
375         modules in that directory instead of finding them in the correct
376         path, /boot/kernel.  The most common complaint that this cures
377         is that the linux module crashes your machine after the update.
378
379         if [ ! -d /boot/kernel.old ]; then
380                 mv /modules.old /boot/kernel.old
381                 chflags noschg /kernel.old
382                 mv /kernel.old /boot/kernel.old/kernel.ko
383                 chflags schg /boot/kernel.old/kernel.ko
384         fi
385
386 20000904:
387         A new issue with the sendmail upgrade has come to light.
388         /etc/aliases has moved to /etc/mail/aliases.  Mergemaster will 
389         incorrectly install the default aliases in /etc/mail rather than
390         move the old one from /etc.  So you'll need to manually move the
391         file, create a symbolic link, remove the old /etc/aliases.db and
392         run newaliases.  For safety sake, you should stop sendmail
393         while doing this and run the upgrade when locally sourced email
394         is not likely to be generated.
395
396 20000825:
397         /boot/device.hints is now required for installkernel to
398         succeed.  You should copy GENERIC.hints for your architecture
399         into /boot/device.hints.  If and only if you compile hints
400         into your kernel, then this file may be empty.  Please note,
401         if you have an empty or missing /boot/device.hints file and
402         you neglected to compile hints into your kernel, no boot
403         messages will appear after the boot loader tries to start the
404         kernel.
405
406 20000821:
407         If you do NOT have ``options RANDOMDEV'' in your kernel and
408         you DO want the random device then add randomdev_load="YES" to
409         /boot/loader.conf.
410
411 20000812:
412         suidperl is now always built and installed on the system, but
413         with permissions of 511.  If you have applications that use
414         this program, you are now required to add ENABLE_SUIDPERL=true
415         to /etc/make.conf.  If you forget to do this,
416                 chmod 4511 /usr/bin/suidperl
417         will fix this until the next build.
418
419 20000812:
420         sendmail has been updated from 8.9.3 to 8.11.0.  Some of the more
421         visible changes that may immediately affect your configuration
422         include:
423         - New default file locations from src/contrib/sendmail/cf/README
424         - newaliases limited to root and trusted users
425         - MSA port (587) turned on by default
426         - New queue file naming system so can't go from 8.11 -> 8.9
427         - FEATURE(`rbl') renamed to FEATURE(`dnsbl')
428         - FEATURE(`nullclient') is more full featured
429         - FEATURE(`nouucp') requires an argument: `reject' or `nospecial'
430         - mail.local FreeBSD-only -b option changed to -B
431         - See src/contrib/sendmail/RELEASE_NOTES for more info
432
433 20000810:
434         suidperl (aka sperl) is no longer build by default.  You must
435         specifically define BUILD_SUIDPERL to "true" for it to be build.
436         Furthermore, we recommend that you remove /usr/bin/sperl* and
437         /usr/bin/suidperl files from your system unless you have a
438         specific use for it.
439
440 20000729:
441         Networking defaults have been tightened.  Anybody upgrading
442         /etc/defaults/rc.conf needs to add the following lines to
443         /etc/rc.conf if they want to have the same setup
444         afterwards (unless the variables already are set, of course):
445                 # Enable network daemons for user convenience.
446                 inetd_enable="YES"
447                 portmap_enable="YES"
448                 sendmail_enable="YES"
449
450 20000728:
451         If you have null_load="YES" in your /boot/loader.conf, you
452         will need to change that to nullfs_load="YES".
453
454 20000728:
455         The "installkernel" target has changed slightly. Now even if
456         you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL'
457         it will install the MYKERNEL file (built with the buildkernel
458         target) as /kernel rather than /MYKERNEL. Those who have
459         updated their /boot/loader.conf files to point to /MYKERNEL
460         should remove that entry or perform manual rename of /kernel
461         to /MYKERNEL.
462
463 20000711:
464         If you use CVSUP or CTM to get CVS trees, AND you used to get 
465         the old crypto files from internat.freebsd.org AND you check
466         out files from the CVS tree with the cvs command, please read
467                 http://people.freebsd.org/~imp/internat.txt
468         for details on potential problems that you might have and how
469         to get around them.
470
471         If you are merely a mirror, or don't answer yes to each of the
472         clauses above, you needn't worry.
473
474 20000711:
475         /etc/security has been updated to print the inode number of
476         setuid programs that have changed.  You will see a large spike
477         in the number of changed programs the first time when you run
478         mergemaster to get a new /etc/security.
479
480 20000710:
481         /dev/random now has good entropy collection (from the keyboard
482         and sysmouse drivers). Please ensure that either `options
483         RANDOMDEV' is present in your kernel config file or that
484         `randomdev_load="YES"' is in your /boot/loader.conf. If you do
485         not have the /dev/random driver, OpenSSL (and consequently
486         lots of crypto tools (like SSH)) will fail with strange
487         errors. (see below, 20000624).
488
489         FreeBSD-current is safe again to run Crypto.
490
491 20000709:
492         phk made the malloc default options AJ.  This may slow things
493         down and uncover other latent bugs in the code.  If you need to
494         run at full speed, you can disable this by doing the following:
495                 ln -s aj /etc/malloc.conf
496
497 20000706:
498         libftpio's version was accidentally bumped a few days ago.  This
499         has been corrected.  You may need to remove /usr/lib/libftpio.so.6
500         before doing your next buildworld/installworld pair.  It certainly
501         won't hurt to remove it before the update procedure.  It will
502         break fetch until a new one is built, but ftp can be used in the
503         interim if needed.
504
505 20000705:
506         The crypto packages have changed for the cvsup.  This has been done
507         in a backward compatible way, but the old packages will go away at
508         some point in the future.  Look at /usr/share/examples/cvsup for
509         details.
510
511 20000704:
512         With the new sys/modules/sound/drivers/*, you will need to
513         set SYSDIR until you do an installworld after July 7th.
514
515 20000704:
516         rc.shutdown and rc will now call the rc.d scripts with start
517         or stop.  This may cause some harmless warnings from older
518         rc.d scripts that haven't been updated.
519
520 20000630:
521         The libfetch based version of fetch has gone into the tree.
522         Minor problems may result on some of the less popular sites,
523         which should be reported to des@freebsd.org.
524
525 20000625:
526         From approximately this date forward, one must have the crypto
527         system installed in order to build the system and kernel.
528         While not technically strictly true, one should treat it as
529         required and grab the crypto bits.  If you are grabbing CVS
530         trees, src-all and cvs-crypto should be treated as if they
531         were required.  You should check with the latest collections
532         to make sure that these haven't changed.
533
534 20000624:
535         Mark Murray just committed the first parts of a cleanup of
536         /dev/zero, et al.  This is also cleaning up /dev/random.
537         The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD
538         -CURRENT FROM THIS POINT FORWARD for cryptographic services
539         until Mark can merge in the fixes to this work in progress.
540         openssh and openssl should not be used to generate keys from this
541         date to the completion of the work.
542
543         If you must operate at this reduced level of security, add '
544         options RANDOMDEV' to your kernel or modload the randomdev
545         module.  You may also need to copy a new MAKEDEV to /dev and
546         recreate the random and urandom devices.
547
548 20000622:
549         The license on the softupdates is now a standard 2 clause
550         BSD license.  You may need to remove your symbolic links
551         that used to be required when updating.
552
553 20000621:
554         Scott Flatman <sf@aracnet.com> sent in a decent write-up on
555         the config file update procedure.
556                 http://people.freebsd.org/~imp/config-upd.html
557         NOTE: LINT is gone.  It has been replaced with NOTES.  NOTES
558         isn't buildable.  However, you can generate a LINT file.
559
560 20000620:
561         Binutils 2.10 have hit the tree, or will shortly.  As soon
562         as they do, the problem noted in 20000522 will be resolved and
563         that workaround will no longer be required.
564
565 20000615:
566         phk removed the compatibility creation of wd devices in the
567         ad driver.  If you haven't done so already, you must update
568         your fstab, etc to use the ad devices instead of the wd
569         devices.
570
571         In addition, you'll need to update your boot blocks to a
572         more modern version, if you haven't already done so.  Modern
573         here means 4.0 release or newer (although older releases
574         may work).
575
576 20000612:
577         Peter took an axe to config(8).  Be sure that you read his mail
578         on the topic before even thinking about updating.  You will
579         need to create a /boot/device.hints or add a hints directive
580         to your config file to compile them in statically.  The format
581         of the config file has changed as well.  Please see GENERIC or
582         NEWCARD for examples of the new format.
583
584 20000522:
585         A new set of binutils went into the tree today.  Anybody
586         building a kernel after this point is advised that they need
587         to rebuild their binutils (or better yet do a
588         buildworld/installworld) before building a new kernel.
589
590         Due to bugs in binutils, using malloc options (eg /etc/malloc.conf
591         or MALLOC_OPTIONS env var) J will cause ld to dump core.  It
592         is recommended that you don't set this option until the problem
593         is resolved.
594
595 20000513:
596         The ethernet drivers were all updated to clean up the BPF handling.
597
598 20000510:
599         The problems with boot blocks on the alphas have been corrected.
600         This will require some care in updating alphas.  A new libstand
601         is requires for the boot blocks to build properly.
602
603 20000503:
604         Recompile all kld modules.  Proper version dependency info
605         is now available.
606
607 20000502:
608         Modules have been disconnected from the buildworld tree and 
609         connected to the kernel building instead.
610
611 20000427:
612         You may need to build gperf
613                 cd /usr/src/gnu/usr.bin/gperf && make depend all install
614         when upgrading from 4.0 -> current.  The build system now uses
615         an option only in -current.
616
617 20000417:
618         The method that we brand ELF binaries has changed to be more
619         acceptable to the binutils maintainers.  You will need to
620         rebrand your ELF binaries that aren't native.  One problem
621         binary is the Linux ldconfig.  After your make world, but
622         before you reboot, you'll need to issue:
623                 brandelf -t Linux /compat/linux/sbin/ldconfig
624         if you have Linux compatibility enabled on your machine.
625
626 20000320:
627         If you have really bad/marginal IDE drives, you may find they
628         don't work well.  Use pio mode instead.  The easiest way to
629         cope if you have a problem combination is to add:
630                 /sbin/sysctl -w hw.atamodes=pio,pio,pio,pio
631         to the start of /etc/rc.conf.
632
633 20000319:
634         The ISA and PCI compatibility shims have been connected to the
635         options COMPAT_OLDISA and COMPAT_OLDPCI.  If you are using old
636         style PCI or ISA drivers (i.e. tx, voxware, etc.) you must
637         include the appropriate option in your kernel config.  Drivers
638         using the shims should be updated or they won't ship with
639         5.0-RELEASE, targeted for 2001.
640
641 20000318:
642         We've entered the traditional post release dumping party.
643         Large kernel changes are being committed and are in the
644         works.  It is important to keep the systems' klds and kernel
645         in sync as kernel interfaces and structures are changing.
646         Before reporting kernel panics, make sure that all modules
647         that you are loading are up to date.
648
649 20000315:
650         If you are upgrading from an older version of FreeBSD, you
651         need to update your boot blocks as well.  'disklabel -B ad0'
652         will do the trick.  This isn't critical until you remove your
653         wd device entries in /dev, at which point your system will not
654         boot.
655
656 20000315:
657         4.0 RELEASE shipped.  Please see the 4.0 UPDATING file for how
658         to upgrade to 4.0 from 3.x.
659
660 COMMON ITEMS:
661
662         General Notes
663         -------------
664         Avoid using make -j when upgrading.  From time to time in the
665         past there have been problems using -j with buildworld and/or
666         installworld.  This is especially true when upgrading between
667         "distant" versions (eg one that cross a major release boundary
668         or several minor releases, or when several months have passed
669         on the -current branch).
670
671         To build a kernel
672         -----------------
673         If you are updating from a prior version of FreeBSD (even one just
674         a few days old), you should follow this procedure. With a
675         /usr/obj tree with a fresh buildworld,
676         make buildkernel KERNCONF=YOUR_KERNEL_HERE
677         make installkernel KERNCONF=YOUR_KERNEL_HERE
678
679         To just build a kernel when you know that it won't mess you up
680         --------------------------------------------------------------
681         cd src/sys/{i386,alpha}/conf
682         config KERNEL_NAME_HERE                 [1]
683         cd ../../compile/KERNEL_NAME_HERE
684         make depend
685         make
686         make install    
687         
688         [1] If in doubt, -r might help here.
689
690         If this fails, go to the "To build a kernel" section.
691
692         To rebuild everything and install it on the current system.
693         -----------------------------------------------------------
694         make world
695         Build a new kernel, see above.
696
697         To upgrade from 4.x-stable to current
698         -------------------------------------
699         make buildworld
700         make buildkernel KERNCONF=YOUR_KERNEL_HERE
701         cp src/sys/${MACHINE_ARCH}/conf/GENERIC.hints /boot/device.hints [2]
702         make installkernel KERNCONF=YOUR_KERNEL_HERE
703         reboot in single user [3]
704         make installworld
705         mergemaster             [4]
706         [1]
707         <reboot>
708
709         Make sure that you've read the UPDATING file to understand the
710         tweaks to various things you need.  At this point in the life
711         cycle of current, things change often and you are on your own
712         to cope.  The defaults can also change, so please read ALL of
713         the UPDATING entries.
714
715         Also, if you are tracking -current, you must be subscribed to
716         freebsd-current@freebsd.org.  Make sure that before you update
717         your sources that you have read and understood all the recent
718         messages there.  If in doubt, please track -stable which has
719         much fewer pitfalls.
720
721         [1] If you have third party modules, such as vmware, you
722         should disable them at this point so they don't crash your
723         system on reboot.
724
725         [2] If you have legacy ISA devices, you may need to create
726         your own device.hints to reflect your unique hardware
727         configuration.
728
729         [3] From the bootblocks, boot -s, and then do
730                 fsck -p
731                 mount -u /
732                 mount -a
733                 cd /usr/src
734                 adjkerntz -i            # if COMS is wall time
735
736         [4] Note: This step is non-optional.  Failure to do this step
737         can result in a significant reduction in the functionality of the
738         system.  Attempting to do it by hand is not recommended and those
739         that pursue this avenue should read this file carefully, as well
740         as the archives of freebsd-current and freebsd-hackers mailing lists
741         for potential gotchas.
742
743 FORMAT:
744
745 This file contains a list, in reverse chronological order, of major
746 breakages in tracking -current.  Not all things will be listed here,
747 and it only starts on March 15, 2000.  Updating files can found in
748 previous releases if your system is older than this.
749
750 Please filter your entries through Warner Losh (imp@village.org) so
751 that the style, formatting, etc of this file can be maintained.
752
753 Copyright information:
754
755 Copyright 1998, 2001 M. Warner Losh.  All Rights Reserved.
756
757 Redistribution, translation and use, with or without modification, in
758 full or in part, are permitted provided that the above copyright
759 notice is retained.
760
761 THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
762 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
763 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
764 DISCLAIMED.  IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
765 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
766 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
767 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
768 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
769 STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
770 IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
771 POSSIBILITY OF SUCH DAMAGE.
772
773 If you find this document useful, and you want to, you may buy the
774 author a beer.
775
776 $FreeBSD$