UPDATING revision 119412
1Updating Information for FreeBSD current users
2
3This file is maintained and copyrighted by M. Warner Losh
4<imp@village.org>.  See end of file for further details.  For commonly
5done items, please see the COMMON ITEMS: section later in the file.
6
7NOTE TO PEOPLE WHO THINK THAT 5.0-CURRENT IS SLOW:
8	FreeBSD 5.0-CURRENT has many debugging features turned on, in
9	both the kernel and userland.  These features attempt to detect
10	incorrect use of system primitives, and encourage loud failure
11	through extra sanity checking and fail stop semantics.  They
12	also substantially impact system performance.  If you want to
13	do performance measurement, benchmarking, and optimization,
14	you'll want to turn them off.  This includes various WITNESS-
15	related kernel options, INVARIANTS, malloc debugging flags
16	in userland, and various verbose features in the kernel.  Many
17	developers choose to disable these features on build machines
18	to maximize performance.
19
2020030824:
21	ATAng has been committed. You need to build world as sys/ata.h 
22	has changed, and userland atacontrol depends on it.
23	If you use ATA SW raids you need "device ataraid" in your 			kernel config file, as it is no longer pulled in automatically.
24
2520030819:
26	The OFW_NEWPCI option has been turned on in the Sparc64 GENERIC kernel.
27	Among other things, this changes the device enumeration to be
28	closer to Solaris.  Be aware that, this can even cause the machine
29	to not boot without manual intervention before the fstab is adjusted.
30
3120030728:
32	All current USB and Firewire quirks in da(4) have been deprecated
33	and will be removed for 5.2.  If this causes failure for your
34	umass(4) devices, enable "options DA_OLD_QUIRKS" in your kernel
35	and send the output of "camcontrol inquiry da0" to scsi@freebsd.org
36	so the quirk can be re-enabled.
37
3820030722:
39	FPU-less support has been removed from FreeBSD.  Chances are you won't
40	notice.  386+387 support should still work after this change, but
41	it is now a minimum requirement for the i386 port that you have real
42	FPU hardware.
43
4420030714:
45	Some people are having problems with changes related to /rescue.
46	If you are building -j N, you will need to define NO_RESCUE.  Others
47	will need to define it if /rescue has issues with their environment.
48	People should report those issues to current@.
49
5020030711:
51	gcc was upgraded to 3.3.  You are advised to not build -DNOCLEAN
52	across this point.  Further, it might be a good idea to remove
53	/usr/obj.
54
5520030613: [retrospective]
56	There was a small window in which sed(1) was broken.  If you
57	happen to have sed(1) installed during that window, which is
58	evidenced by an inability to build world with the failure
59	given below, you need to manually build and install sed(1)
60	(and only sed(1)) before doing anything else. This is a one-
61	time snafu. Typical failure mode:
62
63	In file included from /usr/src/contrib/binutils/bfd/targets.c:1092:
64	targmatch.h:7:1: null character(s) ignored
65	targmatch.h:12:1: null character(s) ignored
66	targmatch.h:16:1: null character(s) ignored
67		:
68
69	The window of "sed(1)-uction" is from Wed Jun 4 15:31:55 2003 UTC
70	to Thu Jun 5 12:10:19 2003 UTC (from rev 1.30 to rev 1.31 of
71	usr.bin/sed/process.c).
72
7320030610:
74	Remove deprecated locale names and transition period code
75	for them, finishing switching to the new scheme. Check your
76	LANG environment variable.
77
7820030609:
79	CCD has been changed to be a fully GEOMified class.  Kernel
80	and ccdconfig(8) needs to be in sync, this is particularly
81	important to remember beforehand if your source tree is on
82	a ccd device.  Consider making a copy of the old ccdconfig
83	into /boot/kernel.good or wherever you keep your backup
84	kernel.
85
8620030505:
87	Kerberos 5 (Heimdal) is now built by default. Setting
88	MAKE_KERBEROS5 no longer has any effect. If you do NOT
89	want the "base" Kerberos 5, you need to set NO_KERBEROS.
90
9120030502:
92	groff has been updated.  If you try to do a buildworld and
93	get an infinite loop in troff, update to May 4th or newer.  If you
94	have a newer kernel than userland, you may need to set the OSRELDATE
95	to 500110 in your environment before starting a buildworld.
96
9720030501:
98	The old rc system has been removed.  Please report any problems
99	to freebsd-rc@yahoogroups.com, and/or freebsd-current@freebsd.org.
100	Your personal versions of these files will not be removed, so you can
101	continue to use them. However, you should take great care when updating,
102	especially when using mergemaster, since the compatibility code that
103	utilizes these old scripts has also been removed.
104
10520030423:
106	A bug has been fixed in /dev/devctl which would cause devd
107	to hang on boot, were it not for a workaround in devd.  The
108	work around in devd will be removed around 20030507.  You
109	have until then to upgrade your kernel before updating
110	userland.  In general, you should have a userland and
111	kernel that's in sync with each other.  However, given the
112	effects of this bug (hang on boot when starting devd), some
113	allowances are made.
114
11520030329:
116	Alphas with libc from between 20030312 and 20030329 exhibit
117	floating point exceptions (FPEs), most notably in awk(1)
118	while upgrading the system through a buildworld.
119
120	So, to successfully upgrade your Alpha, you must either
121	downgrade your libc.so to a pre-20030312 version, or update
122	/usr/share/mk/bsd.cpu.mk to revision 1.26 which adds -mieee
123	to CFLAGS, then forcibly rebuild and install libc:
124
125	cd /usr/src/lib/libc && \
126	    make cleandir && make obj && \
127	    make -DNOMAN -DNOPROFILE all && \
128	    make -DNOMAN -DNOPROFILE install
129
13020030208:
131	sendmail 8.12.7 has been imported.  It has one important
132	change for IPv6 users.  The default submit.mc now uses
133	'[127.0.0.1]' instead of 'localhost' meaning only IPv4 is
134	used to connect to the MTA.  Users on IPv6-only machines
135	will need to edit /etc/mail/submit.mc appropriately.
136
13720030128:
138	NODEVFS option has been removed and DEVFS thereby made standard.
139	This makes all references to MAKEDEV obsolete, and they should
140	be removed when convenient.
141
14220030126:
143	The name of the device for the ofw console has changed, sparc64 users
144	must run mergemaster to update their installed /etc/ttys.
145
14620030125:
147	The scheduler framework has grown a second scheduler and consequently
148	you must specify one and only one scheduler in your kernel config.
149	The cvs config files have been updated to use the old scheduler
150	which may be selected via 'options SCHED_4BSD'.  If you would like
151	to try the new, much more experimental, scheduler please try
152	'options SCHED_ULE' and contribute to the arch@ discussion.
153
15420030115:
155	A new version of the wi driver has been imported into the tree.
156	One now must have device wlan in the config file for it to operate
157	properly.
158
159	In addition, there have been some changes to how wi devices are
160	configured for point to point links to bring it more in line
161	with the former way of doing things, as well as compatibility
162	with NetBSD.
163
16420021222:
165 	For a period after the GCC 3.2.1 import (from 12/04 to 12/22), GCC
166 	used an incompatible form of ABI for returning structures and unions
167 	which FreeBSD's GCC maintainers were not aware of relative to previous
168 	versions of FreeBSD.  We have gone back to the ABI for now, and any
169 	code compiled which is required to interoperate with other code (not
170 	built at the same time) returning structs or unions should be 
171	rebuilt.
172
17320021216:
174	A name change in /etc/netconfig has been reverted to stay
175	compatible with suns TIRPC and also with NetBSD. You need
176	to run mergemaster after make world. A new libc does still work
177	with an outdated /etc/netconfig for some time, but you'll get
178	a warning. This warning will be removed in 20030301.
179
18020021202:
181	The recent binutils upgrade marks a kernel flag day on
182	sparc64: modules built with the old binutils will not work
183	with new kernels and vice versa. Mismatches will result in
184	panics.  Make sure your kernel and modules are in sync.
185
18620021029:
187	The value of IPPROTO_DIVERT has changed.  Make sure to keep
188	your kernel, netstat, natd and any third-party DIVERT
189	consumers in sync.
190
19120021024:
192	Old, compatibility slices have been removed in GEOM kernels.
193	This means that you will have to update your /etc/fstab to
194	not use disk devices of the form /dev/ad0a.  Instead, you
195	now must specify /dev/ad0s1a, or whatever slice your FreeBSD
196	partition really is on.  The old device names have gone
197	away, so if you use them anywhere else, you must also adjust
198	those uses.  (This doesn't affect the disks formatted in
199	the ``dangerously-dedicated'' mode.)
200
20120021023:
202	Alphas with kernels from between 20020830 and 20021023 and/or
203	rtld (ld-elf.so.1) older than 20021023 may experience problems
204	with groff while doing a buildworld (kernel: "out of memory",
205	fixed in rev 1.129 of kern/imgact_elf.c; rtld: "too few PT_LOAD
206	segments", fixed in rev 1.8 of libexec/rtld-elf/map_object.c).
207
208	So, to successfully upgrade your Alpha, you must either
209	upgrade your kernel and rtld first (which might be a bit
210	tricky), or avoid running the bootstrapped groff during the
211	"transitional" buildworld.  To avoid running groff during the
212	transitional upgrade run make buildworld with -DNOMAN,
213	-DNO_SHAREDOCS, and -DNO_LPR.
214
21520020831:
216	gcc has been upgraded to 3.2.  It is not all binary compatible
217	with earlier versions of gcc for c++ programs.  All c++
218	programs and libraries need to be recompiled.
219
220	Also, if you encounter g++ issues, rm /usr/include/g++/* before
221	doing an installworld to make sure that stale files are removed.
222
22320020827:
224	Our /etc/termcap now has all the entries from the XFree86 xterm
225	almost unchanged. This means xterm now supports color by default.
226	If you used TERM=xterm-color in the past you now should use
227	TERM=xterm. (xterm-color will lead to benign warnings).
228
22920020815:
230	A "bug" in gcc(1) that was hiding warning in system headers was
231	fixed.  It's probably time to add -DNO_WERROR to your make line
232	again.
233
23420020729:
235	COPY is being deprecated.  The 20010530 change was reverted, as
236	it causes far more pain than was expected, and to always compare
237	before installing, please use INSTALL="install -C" again.  The
238	-C option is now silently ignored when used with the -d option.
239
24020020702:
241	Problems with libc_r clients like KDE and GNOME have been resolved.
242	There are still some minor problems with some signals but the 
243	system is stable enough for general use again. SMP is less so than UP
244	but each can successfully complete multiple buildworlds.
245	Libkvm needs to be recompiled due to KSE.
246
24720020701:
248	Now would be a bad time to upgrade.  Something in or near the
249	KSE commit totally broke programs using libc_r like KDE and
250	GNOME.
251
25220020511:
253	The k5su utility installed as part of Kerberos 5 is no longer
254	installed with the set-user-ID bit set by default.  Add
255	ENABLE_SUID_K5SU=yes to /etc/make.conf to have it installed
256	with the set-user-ID bit set.
257
25820020510:
259	Gcc 3.1 debugging format (cc -g) has changed from STABS to DWARF2.
260	Unfortunately our native GDB (at version 4.18) does not understand
261	the DWARF2 debugging format.  Thus you must use `gcc -gstabs+' to
262	generated debugging information for our native GDB.
263
26420020510:
265	Due to the way CVS works, it may not properly update src/contrib/gcc
266	to the 3.1 sources.  The easiest fix is to `rm -rf' src/contrib/gcc
267	and then do a cvs update.
268
26920020421:
270	When exec'ing set[ug]id executables, the kernel now ensures that the
271	stdio file descriptors (0..2) are open.  See FreeBSD-SA-02:23.stdio.
272
27320020404:
274	New sendmail startup scripts have been installed to make it
275	easier to use alternative MTAs with FreeBSD.  Setting the rc.conf
276	variable sendmail_enable to "NO" no longer prevents any sendmail
277	daemons from starting.  Instead, either set sendmail_enable to
278	"NONE" or change mta_start_script to a script for starting
279	an alternative MTA.  Setting mta_start_script to "" will
280	also prevent any MTA from being started at boot.
281
28220020403:
283	UCONSOLE is no longer a valid kernel option.
284
28520020315:
286	FreeBSD 5.0 DP-1 was basically branched today.
287
28820020225:
289	Warnings are now errors in the kernel.  Unless you are a developer,
290	you should add -DNO_WERROR to your make line.
291
29220020217:
293	sendmail 8.12.2 has been imported.  The sendmail binary is no
294	longer a set-user-ID root binary and the infrastructure to support
295	command line mail submission has changed.  Be sure to run
296	mergemaster (especially for updating /etc/rc, /etc/defaults/rc.conf,
297	and /etc/mail) and read /etc/mail/README for more details.
298
299	Due to the import of sendmail 8.12.2, a new user and group are
300	required in order for sendmail to run as a set-group-ID
301	binary.  A 'make installworld' will use the new user and group
302	to set the owner and group of /var/spool/clientmqueue and will
303	fail if the new user and group do not exist.  The 'smmsp' user
304	and group must be merged from src/etc/group and
305	src/etc/master.passwd before using 'make installworld'.
306	'mergemaster -p' will do this.  You may need to install
307	mergemaster before this will work if you are updating from a
308	very old version of current.  The updating recipe has changed
309	as of this date.
310
31120020112:
312	The preferred configuration method for PAM is now /etc/pam.d/
313	rather than /etc/pam.conf.  If you have an unmodified
314	pam.conf, just delete it after your next mergemaster run.  If
315	you have local modifications, you can use
316	/usr/src/etc/pam.d/convert.pl to incorporate them into your
317	/etc/pam.d.
318
319	Please see the following url for more details:
320http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<xzp6667fyoa.fsf@flood.ping.uio.no>
32120011229:
322	If anyone here is already using the new rc.conf(5) variable
323	networkfs_types, please note that it has changed
324http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<9744.1009655556@axl.seasidesoftware.co.za>
325
32620011220:
327	sys/i4b/driver/i4b_ispppsubr.c has been retired.  This file
328	started out its life in the ISDN4BSD project as an offspring
329	from sys/net/if_spppsubr.c, which eventually got a life of its
330	own.  All the accumulated features and bugfixes of the i4b
331	version have now been merged back into the base system's
332	version now.  The only user-visible change resulting from this
333	is that i4b's sppp(4) interfaces are to be managed with
334	spppcontrol(8) again, since ispppcontrol(8) has been retired
335	as well.  (There has never been rc file support for
336	ispppcontrol in -current, but only in -stable.  That will be
337	reverted by the time the changes are MFCed.)
338
33920011215:
340	The fdc(4) driver has been updated and now automatically
341	recognizes media in `standard' formats (like 1440 KB and
342	720 KB for a 3.5" high-density drive) when accessing the
343	default device node (e. g. /dev/fd0).  The old variety of
344	floppy device nodes /dev/fd*.* is no longer present by
345	default, devices can be created (in DEVFS) on demand.  They
346	will need to be customized then for `odd' densities using
347	fdcontrol(8).
348
34920011209:
350	The bugs in procfs' debugging support code have been fixed,
351	and truss(1) now works again.
352
35320011207:
354	Daily security checks have been split out to use the periodic(8)
355	scripts.  Some change in configuration may be necessary.  Please
356	see 
357http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<20011207155805.R8975@blossom.cjclark.org>
358	for details.
359
36020011204:
361	sos added VCD/SVCD support to ata driver and that needs the
362	kernel and burncd to be in sync.
363
36420011203:
365	The procfs pseudo-filesystem has now been converted to use the
366	pseudofs framework.  If you have 'options PROCFS' in your
367	kernel config, you'll need to add 'options PSEUDOFS' if it's
368	not there already.
369
370	This change temporarily breaks truss(1); use ktrace(1) instead
371	until the issue has been resolved.
372
37320011202:
374	A security hole in OpenSSH involving `UseLogin yes' has been
375	patched.
376
37720011126:
378	You need to remove /usr/obj/.../usr.bin/tip before rebuilding
379	after this date.  You need to do this only once.
380
38120011103:
382	Most of the awk issues have been resolved.  Some rough
383	edges may be left, but for the most part things should be
384	back to "normal." For CURRENT's usual definition of "normal."
385
38620011030:
387	Awk has been upgraded to the one true awk from bell labs.  Expect
388	choppy waves in the upgrade process.
389
39020011030:
391	The asr driver problem has been resolved.
392
39320011027:
394	Due to changes in other parts of the system, the asr driver
395	now causes the system to panic on boot.  Do not use it pending
396	correction.  Comment it out of any kernel config file that you
397	try to use from this date forward.
398
39920011025:
400	When crossbuilding, use TARGET=xxx where you used to use
401	MACHINE=xxx.  You don't need to set TARGET_ARCH and TARGET,
402	unless you are changing both of them.  To cross build pc98 on
403	an alpha, for example, you need to set TARGET=pc98 and
404	TARGET_ARCH=i386.
405
40620011001:
407	The kernel interface that burncd depends on has changed.
408	You must recompile both the kernel and userland applications
409	at the same time.
410
41120010929:
412	When crossbuilding, please set TARGET_ARCH rather than
413	MACHINE_ARCH to indicate the target.  In the future, one will
414	set TARGET_MACHINE where you set MACHINE now.  At the moment,
415	setting MACHINE alone for same MACHINE_ARCH machines works
416	(eg, you can build pc98 on an i386 machine and vice versa).
417
41820010927:
419	Some weird problems result from using ACPI on some machines.
420	To disable ACPI you can add
421		hint.acpi.0.disabled="1"
422	to /boot/loader.conf (or by putting set X=Y at the boot
423	loader "ok" prompt).
424
425	Alternatively, you can remove it from /boot/kernel/acpi.ko
426	or use the MODULES_OVERRIDE function in your kernel config
427	file and not list acpi in that list.
428
42920010924:
430	The buildworld has been fixed.  You may need to install
431	the 4.x compatibility libraries for some old binaries
432	to work.  Add COMPAT4X=true to your /etc/make.conf to
433	get them installed on every installworld, or execute the
434	following to get them installed only once:
435		cd src/lib/compat/compat4x.<arch>
436		make all install
437	You will see ``__stdoutp undefined'' until you do this.
438
43920010919:
440	There's a bug in the world build process.  The cross-tools
441	are build with the NEW headers, but the OLD libc.a.  This
442	leads to all kinds of problems with the new libc.  A temporary
443	workaround is to add
444		CFLAGS="-O -pipe -D_OLD_STDIO"
445	before building world when upgrading from 4.x to current.  This
446	can be removed afterwards.
447
448	A proper fix to the buildworld target is needed.
449
45020010918:
451	Peter has committed his new kthread nfs client/server code.
452	NFS may be unstable after this date.
453
45420010912:
455	KSE has hit the tree.  Lots of things are now different in
456	the kernel.  While a few problems were introduced in the
457	initial commit, most of the major ones have been found and
458	corrected.
459
46020010901:
461	In OLDCARD, CardBus bridges appear to be stable.  The work
462	arounds described in the 20010604 entry are now no longer
463	necessary and will be ignored.  Most insert/remove problems
464	have been rectified around this date.
465
46620010823:
467 	named now runs as user bind and group bind rather than as 
468 	root.  If named_enable is set to YES in /etc/rc.conf, ensure 
469 	that user bind is available in /etc/passwd (using vipw(8)) 
470 	and that group bind is available in /etc/group.  Also make 
471 	sure that user or group bind has read (and not write) 
472 	permission for your name server configuration and that it 
473 	has read and write permission for your slave zone files and 
474 	directory.
475 
476 	If you wish to continue to run named as root (a less secure 
477 	alternative), add a line to /etc/rc.conf saying
478 
479 		named_flags=
480
48120010709:
482	The PAM libraries have had an API upgrade that is beyond
483	the ability of the shared library major number to handle.
484	It is manifested by PAM-using ports dumping core. The
485	solution is to rebuild those ports.
486
48720010628:
488	The kernel compile module has moved from src/sys/compile/FOO
489	to src/sys/${MACHINE}/compile/FOO.
490
49120010625:
492	The pccard modem issue from 20010613 has been corrected.
493	OLDCARD support is still a little weak in -current.  slot 1 is
494	known not to work on some TI based cardbus bridges.  Some
495	cardbus bridges do not properly detect insert/removal events.
496	IRQ configuration needs more safety belts.
497
49820010617:
499	Softupdates problems have been corrected.
500
50120010614:
502	Peter ripped out the linkerset support.  You must, as always,
503	rerun config after you cvsup if you are using the traditional
504	kernel building methods.
505
50620010613:
507	pccard modems may not work with current after 20010604 date.  Some
508	do, others result in panics.  *MAKE*SURE* that you update your
509	config and /etc/rc.conf ala the 20010604 entry, or you will have
510	problems (this issue will be fixed, it just hasn't been yet).
511
51220010613:
513	SOFTUPDATES seem to be broken since the middle of May or so.  Do not
514	use them in current.  You can disable softupdates on all mounted
515	partitions, or remove SOFTUPDATES the kernel config file.
516
51720010612:
518	After Peter's commits to the hints code, people have been noticing
519	that certain devices are attached (or try to) twice.  This is due
520	to having both static hints as well as a /boot/device.hints.  To
521	work around this issue, please use only one or the other mechanism
522	until this bug is fixed.
523
524	Please note that a feature of config is that if you have config
525	file FOO and FOO.hints, it automatically adds FOO.hints to the
526	hints.c file, whether you want it to or not.
527
52820010610:
529	Locale names have changed to match other systems better.
530
53120010604:
532	pccard support for pci cards has been committed.  You must change
533	your /etc/pccard.conf irq lines.  It must match the irq used by
534	pcic device.  Interrupt storms may result if you fail to do this.
535	Interrupt storms look a lot like a hang.
536
537	You must also install a new pccardd, otherwise you will get an
538	interrupt storm at card reset time (just after it tells you what
539	it is).
540
541	pccardd_flags="-I" is necessary for the time being.  It tells pccardd
542	not to ask the kernel if the interrupt is really free or not before
543	using it.  You can either change the /etc/pccard.conf irq lines to
544	match pcic, or add "-i X" to the pccardd_flags.
545
54620010530:
547	INSTALL=install -C is being deprecated.  If you want to do this,
548	use COPY=-C instead.  The former method will be supported for only
549	a limited time.  If you see
550
551install: warning: the -d and -C options may not be specified together
552
553	in your makeworld, then you need to migrate towards using
554	COPY=-C.
555
55620010525:
557	It appears that vm is now stable enough to use again.  However,
558	there may be other problems, so caution is still urged.  alpha
559	definitely is in bad shape.
560
56120010521:
562	Minor repo damage has happened.  This may cause problems
563	with cvsup of ports.  If you get errors, please see
564	http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495
565	at the bottom for details on a workaround.  The error message
566	is
567Updater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty
568
56920010520:
570	Vm and/or swapping are busted on -current.  Please be patient.
571
57220010519:
573	pccard has had much reorganizational work done to it over
574	the past few days.  Everything should still work, but if
575	not, please contact imp@freebsd.org.
576
57720010517:
578	ata ioctl changed.  Make sure to recompile both kernel and
579	userland at the same time.
580
58120010517:
582	New ncurses imported.
583
58420010512:
585	DEVFS is now opt out, not opt in.  Barring major problems, this
586	will be the only way to go starting July 1.
587
58820010504:
589	OpenSSH has been updated to 2.9.  Some defaults are different,
590	including RhostsRSAAuthentication, which changes from yes to no.
591
59220010502:
593	Perl breakage in 20010501 was corrected at 14:18:33 PDT.
594
59520010501:
596	Building perl was broken at 02:25:25 PDT.
597
59820010430:
599	The bug in 20010429 was corrected at 07:35:37 PDT.  It is safe to
600	go back in the water.
601
60220010429:
603	A bad bug was committed at 04:48:42 PDT.  Don't use kernels after
604	this date, but before the correction date.
605
60620010423:
607	old fsck and new kernel interactions appear to have been fixed.
608
60920010411:
610	fsck and the kernel were changed to handle some optimizations
611	to directory layout.  This breaks backward compatibility.
612	Update only if you understand that you must not use the old
613	fsck with the new kernel ever.
614
61520010330:
616	fsck has changed the meaning of the pass column in /etc/fstab.
617	Please see the cvs commit to fsck.8 or the fsck.8 man page for
618	details.  It is unclear if changes to /etc/fstab are necessary.
619
62020010319:
621	portmap had changed name to rpcbind for maximum POLA in your
622	current world.  /etc/hosts.{allow,deny} needs changes.  nfs and
623	other rpc based programs that rely on portmapper will not work
624	without updates to /etc/hosts.{allow,deny} and /etc/netconfig.
625
62620010315:
627	ata subsystem changes.  ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC
628	and ATA_ENABLE_TAGS are no longer kernel options.  They have
629	been replaced by tunables.  See ata.4 for details.
630
63120010312:
632	The fxp driver was converted to use miibus.  If you compile
633	fxp into your kernel statically, you will need to add miibus.
634
63520010312:
636	The wi device now defaults to BSS (infrastructure) mode
637	instead of ad-hoc.
638
63920010310:
640	/dev/urandom should be a symbolic link to /dev/random now.
641	Users of current not using DEVFS need to run MAKEDEV std.
642	ssh might not work if you don't.
643
64420010303:
645	The ed driver has been updated.  It now allows mii attachments,
646	which means that you must include the miibus in your kernel if
647	you use the ed driver.
648
64920010220:
650	The problems with libc have been corrected.  It is now mostly
651	safe to go back into the water.
652
65320010211:
654	The size of FILE was changed.  This breaks upgrading.  If
655	you must upgrade, be prepared for pain.  It also breaks almost
656	all binaries that you've compiled on -current.  You are warned
657	that before upgrading would be a good time to do a level 0
658	dump of your system.  No, really, I mean it this time.
659
660	To get to the new system, you'll need to use the following
661	workaround.  Hopefully this can be sorted out so that we
662	don't have to move this to the updating section.
663
664	To get around the installworld problem, do:
665		# cd /usr/src/usr.bin/sed
666		# make install
667		# cd /usr/src
668		# make installworld
669	If that doesn't work, then try:
670		# make -k installworld
671		# make installworld
672
67320010207:
674	DEVFS is now the default.  If you use vinum, make sure that you
675	do not include devfs in your kernel as problems result.
676
67720010205:
678	FFS_ROOT and CD9660_ROOT have been removed or deprecated.
679	Remove them from your config.
680
68120010122:
682	****************************** WARNING ******************************
683			buildkernel has been changed slightly
684	****************************** WARNING ******************************
685	KERNCONF replaces the variable KERNEL for buildkernel.  You
686	should update your scripts and make.conf accordingly.
687
68820010119:
689	config has changed to allow DEV_FOO as a replacement for NFOO.
690	This requires a new config to build correctly.
691
69220010116:
693	The kernel option I386_CPU is now mutually exclusive with the
694	other cpu types. If you have an i386 system, be sure that it
695	only had this line.  Remove it for all other configurations.
696
69720010110:
698	Changes to the kernel require it and burncd be in sync.
699
70020010102:
701	Everyone who has hw.sndunit set to something in
702	/etc/sysctl.conf, it is now hw.snd.unit.
703
70420010101:
705	ex and vi were broken by some changes to sys/queue.h.  If you
706	have a bad vi, you will see make buildworld fail with a core
707	dump while building termcap.  You can work around this problem
708	by adding -k to your make buildworld.  This will cause the
709	build to complete and install a new vi.  Once that's done, you
710	can rebuild again without the -k to pick up anything that
711	might have been ignored by the -k option.
712
713	Others have suggested that you can just rebuild libc if your
714	vi/ex is dynamically linked, but I've not received any reports
715	of this working.
716
71720001228:
718	There have been some changes to libcrypt in -current.  The
719	libscrypt/libdescrypt symlink silliness is gone and the installed
720	libcrypt is fully functional.  Be aware of this.
721
72220001218:
723	Linksys Fast Ethernet PCCARD cards supported by the ed driver
724	now require the addition of flag 0x80000 to their config line
725	in pccard.conf(5).  This flag is not optional.  These Linksys
726	cards will not be recognized without it.
727
72820001205:
729	Important new FreeBSD-version stuff: PAM support has been worked
730	in, partially from the "Unix" OpenSSH version.  This requires
731	adding the following in pam.conf:
732  
733	sshd    auth    sufficient      pam_skey.so
734	sshd    auth    required        pam_unix.so         try_first_pass
735	sshd    session required        pam_permit.so
736
73720001031:
738	cvs updated to 1.11.
739
74020001020:
741	The random device needs more entropy, so you need to make sure
742	that you've run mergemaster to get a /etc/rc which will seed
743	/dev/random.  If you don't and the system hangs after ldconfig,
744	then banging on the keyboard randomly until it unhangs is one
745	workaround.
746
74720001010:
748	****************************** WARNING ******************************
749				Sendmail has been updated.
750	****************************** WARNING ******************************
751	o mail.local(8) is no longer installed as a set-user-id binary.
752	o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL
753	  is set.
754	o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY
755	  commands.
756	o Now using sendmail's version of vacation(1).
757	o The sendmail cf building tools (contrib/sendmail/cf) are installed
758	  in /usr/share/sendmail/cf.
759	o sendmail.cw changed to local-host-names
760
761	More details can be found at
762		http://people.freebsd.org/~imp/UPDATING/sendmail-20001010
763
76420001009:
765	The ports tree's new layout is in place.  Be sure to update
766	your entire ports tree, or you will have problems.
767
76820001006:
769	The perl build procedure no longer installs miniperl, nor uses
770	the installed miniperl.  It is recommended that you delete
771	/usr/bin/miniperl.
772
77320001005:
774	This weekend the ports tree will be updated to a new layout.
775	It will be in an inconsistent state until noted in the UPDATING
776	file, or with asami-san's message to the relevant mailing
777	lists.  With this new layout, you'll need to update the whole
778	tree for anything to work.
779
78020000928:
781	There was a change in the passwd format.  Need more information.
782
78320000916:
784	/boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken
785	place.  Please update boot loader (not the boot blocks) at the
786	same time as your kernel.
787
78820000914:
789	The new pmtimer device is necessary for laptops.  Failure to
790	include the device will cause suspended laptops losing time
791	when they resume.  Include
792		device		pmtimer
793	in your config file and
794		hint.pmtimer.0.at="isa"
795	to your /boot/device.hints file.
796
79720000911:
798	The random device has been turned into a (pseudo-)device,
799	rather than an option. The supplied kernel config files have
800	been updated. You will need to do something similar in your
801	own kernel config file.
802	Remove:
803		options		RANDOMDEV
804	Add:
805		device		random
806	If you prefer to load the loadable module, you need to do
807	nothing.
808
80920000909:
810	The random device module has been renamed from randomdev.ko to
811	random.ko. You will need to edit your /boot/loader.conf to
812	reflect this if you load this module at boot time.
813	The line should read:
814		random_load="YES"
815
81620000907:
817	The SMPNG commit has happened.  It should work, but if it
818	doesn't, fallback to the PRE_SMPNG CVS tag.  There are likely
819	to be a variety of minor issues.  Please see 20000905 to make
820	sure you don't have model loading problems which might at
821	first blush appear related to SMP.
822
82320000906:
824	nsswitch has been imported from NetBSD.  Among other things,
825	this means that /etc/host.conf is no longer used.  See
826	nsswitch.conf(5) instead.  Note that at boot time rc.network
827	will attempt to produce a new nsswitch.conf file for you if you
828	don't have one, and you have host.conf.
829
83020000905:
831	The ucred structure changed size.  This breaks the interface
832	that mountd uses.  Trying to use an older mountd with a newer
833	kernel guarantees a panic.  This means that you need to use
834	kernels newer than today only with matching mountd, but you
835	needed to do that anyway with the boot loader changes.
836
83720000905:
838	The boot loader has been updated.  The new default kernel is
839	now /boot/kernel/kernel.ko.  The new default module location
840	is /boot/kernel.
841
842	You *MUST* upgrade your boot loader and kernel at the same time.
843	The easiest way to do this is to do the buildworld/buildkernel/
844	installkernel/installworld dance.
845
846	Furthermore, you are urged to delete your old /modules directory
847	before booting the new kernel, since kldload will find stale
848	modules in that directory instead of finding them in the correct
849	path, /boot/kernel.  The most common complaint that this cures
850	is that the linux module crashes your machine after the update.
851
852	if [ ! -d /boot/kernel.old ]; then
853		mv /modules.old /boot/kernel.old
854		chflags noschg /kernel.old
855		mv /kernel.old /boot/kernel.old/kernel.ko
856		chflags schg /boot/kernel.old/kernel.ko
857	fi
858
85920000904:
860	A new issue with the sendmail upgrade has come to light.
861	/etc/aliases has moved to /etc/mail/aliases.  Mergemaster will 
862	incorrectly install the default aliases in /etc/mail rather than
863	move the old one from /etc.  So you'll need to manually move the
864	file, create a symbolic link, remove the old /etc/aliases.db and
865	run newaliases.  For safety sake, you should stop sendmail
866	while doing this and run the upgrade when locally sourced email
867	is not likely to be generated.
868
86920000825:
870	/boot/device.hints is now required for installkernel to
871	succeed.  You should copy GENERIC.hints for your architecture
872	into /boot/device.hints.  If and only if you compile hints
873	into your kernel, then this file may be empty.  Please note,
874	if you have an empty or missing /boot/device.hints file and
875	you neglected to compile hints into your kernel, no boot
876	messages will appear after the boot loader tries to start the
877	kernel.
878
87920000821:
880	If you do NOT have ``options RANDOMDEV'' in your kernel and
881	you DO want the random device then add randomdev_load="YES" to
882	/boot/loader.conf.
883
88420000812:
885	suidperl is now always built and installed on the system, but
886	with permissions of 511.  If you have applications that use
887	this program, you are now required to add ENABLE_SUIDPERL=true
888	to /etc/make.conf.  If you forget to do this,
889		chmod 4511 /usr/bin/suidperl
890	will fix this until the next build.
891
89220000812:
893	sendmail has been updated from 8.9.3 to 8.11.0.  Some of the more
894	visible changes that may immediately affect your configuration
895	include:
896	- New default file locations from src/contrib/sendmail/cf/README
897	- newaliases limited to root and trusted users
898	- MSA port (587) turned on by default
899	- New queue file naming system so can't go from 8.11 -> 8.9
900	- FEATURE(`rbl') renamed to FEATURE(`dnsbl')
901	- FEATURE(`nullclient') is more full featured
902	- FEATURE(`nouucp') requires an argument: `reject' or `nospecial'
903	- mail.local FreeBSD-only -b option changed to -B
904	- See src/contrib/sendmail/RELEASE_NOTES for more info
905
90620000810:
907	suidperl (aka sperl) is no longer build by default.  You must
908	specifically define BUILD_SUIDPERL to "true" for it to be build.
909	Furthermore, we recommend that you remove /usr/bin/sperl* and
910	/usr/bin/suidperl files from your system unless you have a
911	specific use for it.
912
91320000729:
914	Networking defaults have been tightened.  Anybody upgrading
915	/etc/defaults/rc.conf needs to add the following lines to
916	/etc/rc.conf if they want to have the same setup
917	afterwards (unless the variables already are set, of course):
918		# Enable network daemons for user convenience.
919		inetd_enable="YES"
920		portmap_enable="YES"
921		sendmail_enable="YES"
922
92320000728:
924	If you have null_load="YES" in your /boot/loader.conf, you
925	will need to change that to nullfs_load="YES".
926
92720000728:
928	The "installkernel" target has changed slightly. Now even if
929	you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL'
930	it will install the MYKERNEL file (built with the buildkernel
931	target) as /kernel rather than /MYKERNEL. Those who have
932	updated their /boot/loader.conf files to point to /MYKERNEL
933	should remove that entry or perform manual rename of /kernel
934	to /MYKERNEL.
935
93620000711:
937	If you use CVSUP or CTM to get CVS trees, AND you used to get 
938	the old crypto files from internat.freebsd.org AND you check
939	out files from the CVS tree with the cvs command, please read
940		http://people.freebsd.org/~imp/internat.txt
941	for details on potential problems that you might have and how
942	to get around them.
943
944	If you are merely a mirror, or don't answer yes to each of the
945	clauses above, you needn't worry.
946
94720000711:
948	/etc/security has been updated to print the inode number of
949	setuid programs that have changed.  You will see a large spike
950	in the number of changed programs the first time when you run
951	mergemaster to get a new /etc/security.
952
95320000710:
954	/dev/random now has good entropy collection (from the keyboard
955	and sysmouse drivers). Please ensure that either `options
956	RANDOMDEV' is present in your kernel config file or that
957	`randomdev_load="YES"' is in your /boot/loader.conf. If you do
958	not have the /dev/random driver, OpenSSL (and consequently
959	lots of crypto tools (like SSH)) will fail with strange
960	errors. (see below, 20000624).
961
962	FreeBSD-current is safe again to run Crypto.
963
96420000709:
965	phk made the malloc default options AJ.  This may slow things
966	down and uncover other latent bugs in the code.  If you need to
967	run at full speed, you can disable this by doing the following:
968		ln -s aj /etc/malloc.conf
969
97020000706:
971	libftpio's version was accidentally bumped a few days ago.  This
972	has been corrected.  You may need to remove /usr/lib/libftpio.so.6
973	before doing your next buildworld/installworld pair.  It certainly
974	won't hurt to remove it before the update procedure.  It will
975	break fetch until a new one is built, but ftp can be used in the
976	interim if needed.
977
97820000705:
979	The crypto packages have changed for the cvsup.  This has been done
980	in a backward compatible way, but the old packages will go away at
981	some point in the future.  Look at /usr/share/examples/cvsup for
982	details.
983
98420000704:
985	With the new sys/modules/sound/drivers/*, you will need to
986	set SYSDIR until you do an installworld after July 7th.
987
98820000704:
989	rc.shutdown and rc will now call the rc.d scripts with start
990	or stop.  This may cause some harmless warnings from older
991	rc.d scripts that haven't been updated.
992
99320000630:
994	The libfetch based version of fetch has gone into the tree.
995	Minor problems may result on some of the less popular sites,
996	which should be reported to des@freebsd.org.
997
99820000625:
999	From approximately this date forward, one must have the crypto
1000	system installed in order to build the system and kernel.
1001	While not technically strictly true, one should treat it as
1002	required and grab the crypto bits.  If you are grabbing CVS
1003	trees, src-all and cvs-crypto should be treated as if they
1004	were required.  You should check with the latest collections
1005	to make sure that these haven't changed.
1006
100720000624:
1008	Mark Murray just committed the first parts of a cleanup of
1009	/dev/zero, et al.  This is also cleaning up /dev/random.
1010	The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD
1011	-CURRENT FROM THIS POINT to 2000710 for cryptographic services
1012	until Mark can merge in the fixes to this work in progress.
1013	openssh and openssl should not be used to generate keys from this
1014	date to the completion of the work.
1015
1016	If you must operate at this reduced level of security, add '
1017	options RANDOMDEV' to your kernel or modload the randomdev
1018	module.  You may also need to copy a new MAKEDEV to /dev and
1019	recreate the random and urandom devices.
1020
102120000622:
1022	The license on the softupdates is now a standard 2 clause
1023	BSD license.  You may need to remove your symbolic links
1024	that used to be required when updating.
1025
102620000621:
1027	Scott Flatman <sf@aracnet.com> sent in a decent write-up on
1028	the config file update procedure.
1029		http://people.freebsd.org/~imp/config-upd.html
1030	NOTE: LINT is gone.  It has been replaced with NOTES.  NOTES
1031	isn't buildable.  However, you can generate a LINT file:
1032		cd /sys/<ARCH>/conf && make LINT
1033
103420000620:
1035	Binutils 2.10 have hit the tree, or will shortly.  As soon
1036	as they do, the problem noted in 20000522 will be resolved and
1037	that workaround will no longer be required.
1038
103920000615:
1040	phk removed the compatibility creation of wd devices in the
1041	ad driver.  If you haven't done so already, you must update
1042	your fstab, etc to use the ad devices instead of the wd
1043	devices.
1044
1045	In addition, you'll need to update your boot blocks to a
1046	more modern version, if you haven't already done so.  Modern
1047	here means 4.0 release or newer (although older releases
1048	may work).
1049
105020000612:
1051	Peter took an axe to config(8).  Be sure that you read his mail
1052	on the topic before even thinking about updating.  You will
1053	need to create a /boot/device.hints or add a hints directive
1054	to your config file to compile them in statically.  The format
1055	of the config file has changed as well.  Please see GENERIC or
1056	NEWCARD for examples of the new format.
1057
1058	Indirectly, this also breaks USERCONFIG.  Unless a newer entry
1059	says that it has been fixed, assume that must use the hints mechanism
1060	in the loader if you need to use a machine with very old ISA cards
1061	in it.
1062
106320000522:
1064	A new set of binutils went into the tree today.  Anybody
1065	building a kernel after this point is advised that they need
1066	to rebuild their binutils (or better yet do a
1067	buildworld/installworld) before building a new kernel.
1068
1069	Due to bugs in binutils, using malloc options (eg /etc/malloc.conf
1070	or MALLOC_OPTIONS env var) J will cause ld to dump core.  It
1071	is recommended that you don't set this option until the problem
1072	is resolved.
1073
107420000513:
1075	The ethernet drivers were all updated to clean up the BPF handling.
1076
107720000510:
1078	The problems with boot blocks on the alphas have been corrected.
1079	This will require some care in updating alphas.  A new libstand
1080	is requires for the boot blocks to build properly.
1081
108220000503:
1083	Recompile all kld modules.  Proper version dependency info
1084	is now available.
1085
108620000502:
1087	Modules have been disconnected from the buildworld tree and 
1088	connected to the kernel building instead.
1089
109020000427:
1091	You may need to build gperf
1092		cd /usr/src/gnu/usr.bin/gperf && make depend all install
1093	when upgrading from 4.0 -> current.  The build system now uses
1094	an option only in -current.
1095
109620000417:
1097	The method that we brand ELF binaries has changed to be more
1098	acceptable to the binutils maintainers.  You will need to
1099	rebrand your ELF binaries that aren't native.  One problem
1100	binary is the Linux ldconfig.  After your make world, but
1101	before you reboot, you'll need to issue:
1102		brandelf -t Linux /compat/linux/sbin/ldconfig
1103	if you have Linux compatibility enabled on your machine.
1104
110520000320:
1106	If you have really bad/marginal IDE drives, you may find they
1107	don't work well.  Use pio mode instead.  The easiest way to
1108	cope if you have a problem combination is to add:
1109		/sbin/sysctl hw.ata.ata_dma=0
1110	to the start of /etc/rc.conf.
1111
111220000319:
1113	The ISA and PCI compatibility shims have been connected to the
1114	options COMPAT_OLDISA and COMPAT_OLDPCI.  If you are using old
1115	style PCI or ISA drivers (i.e. tx, voxware, etc.) you must
1116	include the appropriate option in your kernel config.  Drivers
1117	using the shims should be updated or they won't ship with
1118	5.0-RELEASE, targeted for 2001.
1119
112020000318:
1121	We've entered the traditional post release dumping party.
1122	Large kernel changes are being committed and are in the
1123	works.  It is important to keep the systems' klds and kernel
1124	in sync as kernel interfaces and structures are changing.
1125	Before reporting kernel panics, make sure that all modules
1126	that you are loading are up to date.
1127
112820000315:
1129	If you are upgrading from an older version of FreeBSD, you
1130	need to update your boot blocks as well.  'disklabel -B ad0'
1131	will do the trick.  This isn't critical until you remove your
1132	wd device entries in /dev, at which point your system will not
1133	boot.
1134
113520000315:
1136	4.0 RELEASE shipped.  Please see the 4.0 UPDATING file for how
1137	to upgrade to 4.0 from 3.x.
1138
1139COMMON ITEMS:
1140
1141	General Notes
1142	-------------
1143	Avoid using make -j when upgrading.  From time to time in the
1144	past there have been problems using -j with buildworld and/or
1145	installworld.  This is especially true when upgrading between
1146	"distant" versions (eg one that cross a major release boundary
1147	or several minor releases, or when several months have passed
1148	on the -current branch).
1149
1150	Sometimes, obscure build problems are the result of environment
1151	poisoning.  This can happen because the make utility reads its
1152	environment when searching for values for global variables.
1153	To run your build attempts in an "environmental clean room",
1154	prefix all make commands with 'env -i '.  See the env(1) manual
1155	page for more details.
1156
1157	To build a kernel
1158	-----------------
1159	If you are updating from a prior version of FreeBSD (even one just
1160	a few days old), you should follow this procedure. With a
1161	/usr/obj tree with a fresh buildworld,
1162	make buildkernel KERNCONF=YOUR_KERNEL_HERE
1163	make installkernel KERNCONF=YOUR_KERNEL_HERE
1164
1165	To just build a kernel when you know that it won't mess you up
1166	--------------------------------------------------------------
1167	cd src/sys/{i386,alpha}/conf
1168	config KERNEL_NAME_HERE
1169	cd ../../compile/KERNEL_NAME_HERE
1170	make depend
1171	make
1172	make install	
1173
1174	If this fails, go to the "To build a kernel" section.
1175
1176	To rebuild everything and install it on the current system.
1177	-----------------------------------------------------------
1178	# Note: sometimes if you are running current you gotta do more than
1179	# is listed here if you are upgrading from a really old current.
1180
1181	<make sure you have good level 0 dumps>
1182	<maybe fix /etc/fstab>				[7]
1183	make buildworld
1184	make buildkernel KERNCONF=YOUR_KERNEL_HERE
1185	make installkernel KERNCONF=YOUR_KERNEL_HERE
1186							[1]
1187	<reboot in single user>				[3]
1188	mergemaster -p					[5]
1189	make installworld
1190	mergemaster					[4]
1191	<reboot>
1192
1193
1194	To cross-install current onto a separate partition
1195	--------------------------------------------------
1196	# In this approach we use a separate partition to hold
1197	# current's root, 'usr', and 'var' directories.   A partition
1198	# holding "/", "/usr" and "/var" should be about 2GB in
1199	# size.
1200
1201	<make sure you have good level 0 dumps>
1202	<boot into -stable>
1203	make buildworld
1204	<maybe newfs current's root partition>
1205	<mount current's root partition on directory ${CURRENT_ROOT}>
1206	make installworld DESTDIR=${CURRENT_ROOT}
1207	make buildkernel KERNCONF=YOUR_KERNEL_HERE
1208	cp /usr/src/sys/${ARCH}/conf/GENERIC.hints \
1209		${CURRENT_ROOT}/boot/device.hints	# as needed
1210	make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT}
1211	cd /usr/src/etc; make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd
1212	cp /etc/fstab ${CURRENT_ROOT}/etc/fstab 		   # if newfs'd
1213	<edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition>
1214	<reboot into current>
1215	<do a "native" rebuild/install as described in the previous section>
1216	<maybe install compatibility libraries from /usr/src/lib/compat>
1217 	<reboot>	
1218
1219
1220	To upgrade in-place from 4.x-stable to current 
1221	----------------------------------------------
1222	# 5.x uses more space than 4.x.  Also, the location of kernel
1223	# modules has changed.  If you are installing 5.0 onto a 4.x
1224	# system, you'll need about 30MB of free disk space on your /
1225	# partition.  If you have less than this, you may encounter difficult
1226	# to back out of problems with this procedure.  If /tmp is on
1227	# the / partition, you may want to completely remove all its content
1228	# before upgrading, as this can be a common source of shortage of
1229	# space on /.
1230	
1231	<make sure you have good level 0 dumps>
1232	<maybe fix /etc/fstab>				[7]
1233	make buildworld					[9]
1234	make buildkernel KERNCONF=YOUR_KERNEL_HERE	[8]
1235	cp src/sys/${MACHINE}/conf/GENERIC.hints /boot/device.hints [2]
1236	make installkernel KERNCONF=YOUR_KERNEL_HERE
1237	cd src/sys/boot ; make install			[6]
1238							[1]
1239	<reboot in single user>				[3]
1240	mergemaster -p					[5]
1241	rm -rf /usr/include/g++
1242	make installworld
1243	mergemaster					[4]
1244	<reboot>
1245
1246	Make sure that you've read the UPDATING file to understand the
1247	tweaks to various things you need.  At this point in the life
1248	cycle of current, things change often and you are on your own
1249	to cope.  The defaults can also change, so please read ALL of
1250	the UPDATING entries.
1251
1252	Also, if you are tracking -current, you must be subscribed to
1253	freebsd-current@freebsd.org.  Make sure that before you update
1254	your sources that you have read and understood all the recent
1255	messages there.  If in doubt, please track -stable which has
1256	much fewer pitfalls.
1257
1258	[1] If you have third party modules, such as vmware, you
1259	should disable them at this point so they don't crash your
1260	system on reboot.
1261
1262	[2] If you have legacy ISA devices, you may need to create
1263	your own device.hints to reflect your unique hardware
1264	configuration.
1265
1266	[3] From the bootblocks, boot -s, and then do
1267		fsck -p
1268		mount -u /
1269		mount -a
1270		cd /usr/src
1271		adjkerntz -i		# if CMOS is wall time
1272	Also, when doing a major release upgrade, it is required that
1273	you boot into single user mode to do the installworld.
1274	For the 4.x -> 5.0 upgrade, you will also see many messages about
1275	needing to recompile your userland.  These are harmless and can
1276	be ignored while you proceed to the next step.
1277
1278	[4] Note: This step is non-optional.  Failure to do this step
1279	can result in a significant reduction in the functionality of the
1280	system.  Attempting to do it by hand is not recommended and those
1281	that pursue this avenue should read this file carefully, as well
1282	as the archives of freebsd-current and freebsd-hackers mailing lists
1283	for potential gotchas.
1284
1285	[5] Usually this step is a noop.  However, from time to time
1286	you may need to do this if you get unknown user in the following
1287	step.  It never hurts to do it all the time.  You may need to
1288	install a new mergemaster (cd src/usr.sbin/mergemaster && make
1289	install) after the buildworld before this step if you last updated
1290	from current before 20020224 or from -stable before 20020408.
1291
1292	[6] 4.x boot loader can be used to boot a 5.x system, however
1293	it is difficult to do that at best.  If you wish to try, then
1294	you should interrupt the boot and at the ok prompt type:
1295		ok unload
1296		ok boot /boot/kernel/kernel
1297	If this fails to work, you must install a new boot loader as
1298	described here.
1299
1300	[7] Before you upgrade, please make sure that you are not using
1301	compatibility slices.  These are device names of the form, on i386
1302	and other architectures that use MBR slicing, /dev/ad0a without the
1303	actual slice name.  Chances are excellent that these will break.
1304	You generally must update these entries to use the post FreeBSD
1305	2.x form of /dev/ad0s1a.
1306
1307	[8] In order to have a kernel that can run the 4.x binaries
1308	needed to do an installworld, you must include the COMPAT_FREEBSD4
1309	option in your kernel.  Failure to do so may leave you with a system
1310	that is hard to boot to recover.
1311
1312	[9] When checking out sources, you must include the -P flag to have
1313	cvs prune empty directories.
1314FORMAT:
1315
1316This file contains a list, in reverse chronological order, of major
1317breakages in tracking -current.  Not all things will be listed here,
1318and it only starts on March 15, 2000.  Updating files can found in
1319previous releases if your system is older than this.
1320
1321Copyright information:
1322
1323Copyright 1998, 2002 M. Warner Losh.  All Rights Reserved.
1324
1325Redistribution, publication, translation and use, with or without
1326modification, in full or in part, in any form or format of this
1327document are permitted without further permission from the author.
1328
1329THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
1330IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1331WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1332DISCLAIMED.  IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
1333INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
1334(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1335SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1336HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
1337STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
1338IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1339POSSIBILITY OF SUCH DAMAGE.
1340
1341If you find this document useful, and you want to, you may buy the
1342author a beer.
1343
1344Contact Warner Losh if you have any questions about your use of
1345this document.
1346
1347$FreeBSD: head/UPDATING 119412 2003-08-24 16:14:52Z sos $
1348