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