UPDATING revision 92535
1Updating Information for FreeBSD current users
2
3This file is maintained and copyrighted by M. Warner Losh
4<imp@village.org>.  Please send new entries directly to him.  See end
5of file for further details.  For commonly done items, please see the
6COMMON ITEMS: section later in the file.
7
8NOTE TO PEOPLE WHO THINK THAT 5.0-CURRENT IS SLOW:
9	FreeBSD 5.0-CURRENT has many debugging features turned on, in
10	both the kernel and userland.  These features attempt to detect
11	incorrect use of system primitives, and encourage loud failure
12	through extra sanity checking and fail stop semantics.  They
13	also substantially impact system performance.  If you want to
14	do performance measurement, benchmarking, and optimization,
15	you'll want to turn them off.  This includes various WITNESS-
16	related kernel options, INVARIANTS, malloc debugging flags
17	in userland, and various verbose features in the kernel.  Many
18	developers choose to disable these features on build machines
19	to maximize performance.
20
21	In addition, IDE write caching is currently disabled by default
22	due to on-going concerns about disk write order and file system
23	integrity.  Re-enabling write caching can substantially improve
24	performance.
25
2620020315:
27	FreeBSD 5.0 DP-1 was basically branched today.
28
2920020225:
30	Warnings are now errors in the kernel.  Unless you are a developer,
31	you should add -DNO_WERROR to your make line.
32
3320020217:
34	sendmail 8.12.2 has been imported.  The sendmail binary is no
35	longer a set-user-ID root binary and the infrastructure to support
36	command line mail submission has changed.  Be sure to run
37	mergemaster (especially for updating /etc/rc, /etc/defaults/rc.conf,
38	and /etc/mail) and read /etc/mail/README for more details.
39
4020020112:
41	The preferred configuration method for PAM is now /etc/pam.d/
42	rather than /etc/pam.conf.  If you have an unmodified
43	pam.conf, just delete it after your next mergemaster run.  If
44	you have local modifications, you can use
45	/usr/src/etc/pam.d/convert.pl to incorporate them into your
46	/etc/pam.d.
47
48	Please see the following url for more details:
49http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<xzp6667fyoa.fsf@flood.ping.uio.no>
50
5120011229:
52	If anyone here is already using the new rc.conf(5) variable
53	networkfs_types, please note that it has changed
54http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<9744.1009655556@axl.seasidesoftware.co.za>
55
5620011220:
57	sys/i4b/driver/i4b_ispppsubr.c has been retired.  This file
58	started out its life in the ISDN4BSD project as an offspring
59	from sys/net/if_spppsubr.c, which eventually got a life of its
60	own.  All the accumulated features and bugfixes of the i4b
61	version have now been merged back into the base system's
62	version now.  The only user-visible change resulting from this
63	is that i4b's sppp(4) interfaces are to be managed with
64	spppcontrol(8) again, since ispppcontrol(8) has been retired
65	as well.  (There has never been rc file support for
66	ispppcontrol in -current, but only in -stable.  That will be
67	reverted by the time the changes are MFCed.)
68
6920011215:
70	The fdc(4) driver has been updated and now automatically
71	recognizes media in `standard' formats (like 1440 KB and
72	720 KB for a 3.5" high-density drive) when accessing the
73	default device node (e. g. /dev/fd0).  The old variety of
74	floppy device nodes /dev/fd*.* is no longer present by
75	default, devices can be created (in DEVFS) on demand.  They
76	will need to be customized then for `odd' densities using
77	fdcontrol(8).
78
7920011209:
80	The bugs in procfs' debugging support code have been fixed,
81	and truss(1) now works again.
82
8320011207:
84	Daily security checks have been split out to use the periodic(8)
85	scripts.  Some change in configuration may be necessary.  Please
86	see 
87http://www.freebsd.org/cgi/mid.cgi?db=mid&id=<20011207155805.R8975@blossom.cjclark.org>
88	for details.
89
9020011204:
91	sos added VCD/SVCD support to ata driver and that needs the
92	kernel and burncd to be in sync.
93
9420011203:
95	The procfs pseudo-filesystem has now been converted to use the
96	pseudofs framework.  If you have 'options PROCFS' in your
97	kernel config, you'll need to add 'options PSEUDOFS' if it's
98	not there already.
99
100	This change temporarily breaks truss(1); use ktrace(1) instead
101	until the issue has been resolved.
102
10320011202:
104	A security hole in OpenSSH involving `UseLogin yes' has been
105	patched.
106
10720011126:
108	You need to remove /usr/obj/.../usr.bin/tip before rebuilding
109	after this date.  You need to do this only once.
110
11120011103:
112	Most of the awk issues have been resolved.  Some rough
113	edges may be left, but for the most part things should be
114	back to "normal." For CURRENT's usual definition of "normal."
115
11620011030:
117	Awk has been upgraded to the one true awk from bell labs.  Expect
118	choppy waves in the upgrade process.
119
12020011030:
121	The asr driver problem has been resolved.
122
12320011027:
124	Due to changes in other parts of the system, the asr driver
125	now causes the system to panic on boot.  Do not use it pending
126	correction.  Comment it out of any kernel config file that you
127	try to use from this date forward.
128
12920011025:
130	When crossbuilding, use TARGET=xxx where you used to use
131	MACHINE=xxx.  You don't need to set TARGET_ARCH and TARGET,
132	unless you are changing both of them.  To cross build pc98 on
133	an alpha, for example, you need to set TARGET=pc98 and
134	TARGET_ARCH=i386.
135
13620011001:
137	The kernel interface that burncd depends on has changed.
138	You must recompile both the kernel and userland applications
139	at the same time.
140
14120010929:
142	When crossbuilding, please set TARGET_ARCH rather than
143	MACHINE_ARCH to indicate the target.  In the future, one will
144	set TARGET_MACHINE where you set MACHINE now.  At the moment,
145	setting MACHINE alone for same MACHINE_ARCH machines works
146	(eg, you can build pc98 on a i386 machine and vice versa).
147
14820010927:
149	Some weird problems result from using ACPI on some machines.
150	To disable ACPI you can add
151		hint.acpi.0.disable="1"
152	to /boot/loader.conf (or by putting set X=Y at the boot
153	loader "ok" prompt).
154
155	Alternatively, you can remove it from /boot/kernel/acpi.ko
156	or use the MODULES_OVERRIDE function in your kernel config
157	file and not list acpi in that list.
158
15920010924:
160	The buildworld has been fixed.  You may need to install
161	the 4.x compatibility libraries for some old binaries
162	to work.  Add COMPAT4X=true to your /etc/make.conf to
163	get them installed on every installworld, or execute the
164	following to get them installed only once:
165		cd src/lib/compat/compat4x.<arch>
166		make all install
167	You will see ``__stdoutp undefined'' until you do this.
168
16920010919:
170	There's a bug in the world build process.  The cross-tools
171	are build with the NEW headers, but the OLD libc.a.  This
172	leads to all kinds of problems with the new libc.  A temporary
173	workaround is to add
174		CFLAGS="-O -pipe -D_OLD_STDIO"
175	before building world when upgrading from 4.x to current.  This
176	can be removed afterwards.
177
178	A proper fix to the buildworld target is needed.
179
18020010918:
181	Peter has committed his new kthread nfs client/server code.
182	NFS may be unstable after this date.
183
18420010912:
185	KSE has hit the tree.  Lots of things are now different in
186	the kernel.  While a few problems were introduced in the
187	initial commit, most of the major ones have been found and
188	corrected.
189
19020010901:
191	In OLDCARD, CardBus bridges appear to be stable.  The work
192	arounds described in the 20010604 entry are now no longer
193	necessary and will be ignored.  Most insert/remove problems
194	have been rectified around this date.
195
19620010823:
197 	named now runs as user bind and group bind rather than as 
198 	root.  If named_enable is set to YES in /etc/rc.conf, ensure 
199 	that user bind is available in /etc/passwd (using vipw(8)) 
200 	and that group bind is available in /etc/group.  Also make 
201 	sure that user or group bind has read (and not write) 
202 	permission for your name server configuration and that it 
203 	has read and write permission for your slave zone files and 
204 	directory.
205 
206 	If you wish to continue to run named as root (a less secure 
207 	alternative), add a line to /etc/rc.conf saying
208 
209 		named_flags=
210
21120010709:
212	The PAM libraries have had an API upgrade that is beyond
213	the ability of the shared library major number to handle.
214	It is manifested by PAM-using ports dumping core. The
215	solution is to rebuild those ports.
216
21720010628:
218	The kernel compile module has moved from src/sys/compile/FOO
219	to src/sys/${MACHINE}/compile/FOO.
220
22120010625:
222	The pccard modem issue from 20010613 has been corrected.
223	OLDCARD support is still a little weak in -current.  slot 1 is
224	known not to work on some TI based cardbus bridges.  Some
225	cardbus bridges do not properly detect insert/removal events.
226	IRQ configuration needs more safety belts.
227
22820010617:
229	Softupdates problems have been corrected.
230
23120010614:
232	Peter ripped out the linkerset support.  You must, as always,
233	rerun config after you cvsup if you are using the traditional
234	kernel building methods.
235
23620010613:
237	pccard modems may not work with current after 20010604 date.  Some
238	do, others result in panics.  *MAKE*SURE* that you update your
239	config and /etc/rc.conf ala the 20010604 entry, or you will have
240	problems (this issue will be fixed, it just hasn't been yet).
241
24220010613:
243	SOFTUPDATES seem to be broken since the middle of May or so.  Do not
244	use them in current.  You can disable softupdates on all mounted
245	partitions, or remove SOFTUPDATES the kernel config file.
246
24720010612:
248	After Peter's commits to the hints code, people have been noticing
249	that certain devices are attached (or try to) twice.  This is due
250	to having both static hints as well as a /boot/device.hints.  To
251	work around this issue, please use only one or the other mechanism
252	until this bug is fixed.
253
254	Please note that a feature of config is that if you have config
255	file FOO and FOO.hints, it automatically adds FOO.hints to the
256	hints.c file, wheather you want it to or not.
257
25820010610:
259	Locale names have changed to match other systems better.
260
26120010604:
262	pccard support for pci cards has been committed.  You must change
263	your /etc/pccard.conf irq lines.  It must match the irq used by
264	pcic device.  Interrupt storms may result if you fail to do this.
265	Interrupt storms look a lot like a hang.
266
267	You must also install a new pccardd, otherwise you will get an
268	interrupt storm at card reset time (just after it tells you what
269	it is).
270
271	pccardd_flags="-I" is necessary for the time being.  It tells pccardd
272	not to ask the kernel if the interrupt is really free or not before
273	using it.  You can either change the /etc/pccard.conf irq lines to
274	match pcic, or add "-i X" to the pccardd_flags.
275
27620010530:
277	INSTALL=install -C is being deprecated.  If you want to do this,
278	use COPY=-C instead.  The former method will be supported for only
279	a limited time.  If you see
280
281install: warning: the -d and -C options may not be specified together
282
283	in your makeworld, then you need to migrate towards using
284	COPY=-C.
285
28620010525:
287	It appears that vm is now stable enough to use again.  However,
288	there may be other problems, so caution is still urged.  alpha
289	definitely is in bad shape.
290
29120010521:
292	Minor repo damange has happened.  This may cause problems
293	with cvsup of ports.  If you get errors, please see
294	http://www.FreeBSD.org/cgi/query-pr.cgi?pr=27495
295	at the bottom for details on a workaround.  The error message
296	is
297Updater failed: Cannot delete "/usr/ports/www/jakarta-tomcat/files": Directory not empty
298
29920010520:
300	Vm and/or swapping are busted on -current.  Please be patient.
301
30220010519:
303	pccard has had much reorganizational work done to it over
304	the past few days.  Everything should still work, but if
305	not, please contact imp@freebsd.org.
306
30720010517:
308	ata ioctl changed.  Make sure to recompile both kernel and
309	userland at the same time.
310
31120010517:
312	New ncurses imported.
313
31420010512:
315	DEVFS is now opt out, not opt in.  Barring major problems, this
316	will be the only way to go starting July 1.
317
31820010504:
319	OpenSSH has been updated to 2.9.  Some defaults are different,
320	including RhostsRSAAuthentication, which changes from yes to no.
321
32220010502:
323	Perl breakage in 20010501 was corrected at 14:18:33 PDT.
324
32520010501:
326	Building perl was broken at 02:25:25 PDT.
327
32820010430:
329	The bug in 20010429 was corrected at 07:35:37 PDT.  It is safe to
330	go back in the water.
331
33220010429:
333	A bad bug was committed at 04:48:42 PDT.  Don't use kernels after
334	this date, but before the correction date.
335
33620010423:
337	old fsck and new kernel interactions appear to have been fixed.
338
33920010411:
340	fsck and the kernel were changed to handle some optimizations
341	to directory layout.  This breaks backward compatibility.
342	Update only if you understand that you must not use the old
343	fsck with the new kernel ever.
344
34520010330:
346	fsck has changed the meaning of the pass column in /etc/fstab.
347	Please see the cvs commit to fsck.8 or the fsck.8 man page for
348	details.  It is unclear if changes to /etc/fstab are necessary.
349
35020010319:
351	portmap had changed name to rpcbind for maximum POLA in your
352	current world.  /etc/hosts.{allow,deny} needs changes.  nfs and
353	other rpc based programs that rely on portmapper will not work
354	without updates to /etc/hosts.{allow,deny} and /etc/netconfig.
355
35620010315:
357	ata subsystem changes.  ATA_ENABLE_ATAPI_DMA, ATA_ENABLE_WC
358	and ATA_ENABEL_TAGS are no longer kernel options.  They have
359	been replaced by tunables.  See ata.4 for details.
360
36120010312:
362	The fxp driver was converted to use miibus.  If you compile
363	fxp into your kernel statically, you will need to add miibus.
364
36520010312:
366	The wi device now defaults to BSS (infrastructure) mode
367	instead of ad-hoc.
368
36920010310:
370	/dev/urandom should be a symbolic link to /dev/random now.
371	Users of current not using DEVFS need to run MAKEDEV std.
372	ssh might not work if you don't.
373
37420010303:
375	The ed driver has been updated.  It now allows mii attachments,
376	which means that you must include the miibus in your kernel if
377	you use the ed driver.
378
37920010220:
380	The problems with libc have been corrected.  It is now mostly
381	safe to go back into the water.
382
38320010211:
384	The size of FILE was changed.  This breaks upgrading.  If
385	you must upgrade, be prepared for pain.  It also breaks almost
386	all binaries that you've compiled on -current.  You are warned
387	that before upgrading would be a good time to do a level 0
388	dump of your system.  No, really, I mean it this time.
389
390	To get to the new system, you'll need to use the following
391	workaround.  Hopefully this can be sorted out so that we
392	don't have to move this to the updating section.
393
394	To get around the installworld problem, do:
395		# cd /usr/src/usr.bin/sed
396		# make install
397		# cd /usr/src
398		# make installworld
399	If that doesn't work, then try:
400		# make -k installworld
401		# make installworld
402
40320010207:
404	DEVFS is now the default.  If you use vinum, make sure that you
405	do not include devfs in your kernel as problems result.
406
40720010205:
408	FFS_ROOT and CD9660_ROOT have been removed or deprecated.
409	Remove them from your config.
410
41120010122:
412	****************************** WARNING ******************************
413			buildkernel has been changed slightly
414	****************************** WARNING ******************************
415	KERNCONF replaces the variable KERNEL for buildkernel.  You
416	should update your scripts and make.conf accordingly.
417
41820010119:
419	config has changed to allow DEV_FOO as a replacement for NFOO.
420	This requires a new config to build correctly.
421
42220010116:
423	The kerrnel option I386_CPU is now mutually exclusive with the
424	other cpu types. If you have an i386 system, be sure that it
425	only had this line.  Remove it for all other configurations.
426
42720010110:
428	Changes to the kernel require it and burncd be in sync.
429
43020010102:
431	Everyone who has hw.sndunit set to something in
432	/etc/sysctl.conf, it is now hw.snd.unit.
433
43420010101:
435	ex and vi were broken by some changes to sys/queue.h.  If you
436	have a bad vi, you will see make buildworld fail with a core
437	dump while building termcap.  You can work around this problem
438	by adding -k to your make buildworld.  This will cause the
439	build to complete and install a new vi.  Once that's done, you
440	can rebuild again without the -k to pick up anything that
441	might have been ignored by the -k option.
442
443	Others have suggested that you can just rebuild libc if your
444	vi/ex is dynamically linked, but I've not received any reports
445	of this working.
446
44720001228:
448	There have been some changes to libcrypt in -current.  The
449	libscrypt/libdescrypt symlink sillyness is gone and the installed
450	libcrypt is fully functional.  Be aware of this.
451
45220001218:
453	Linksys Fast Ethernet PCCARD cards supported by the ed driver
454	now require the addition of flag 0x80000 to their config line
455	in pccard.conf(5).  This flag is not optional.  These Linksys
456	cards will not be recognized without it.
457
45820001205:
459	Important new FreeBSD-version stuff: PAM support has been worked
460	in, partially from the "Unix" OpenSSH version.  This requires
461	adding the following in pam.conf:
462  
463	sshd    auth    sufficient      pam_skey.so
464	sshd    auth    required        pam_unix.so         try_first_pass
465	sshd    session required        pam_permit.so
466
46720001031:
468	cvs updated to 1.11.
469
47020001020:
471	The random device needs more entropy, so you need to make sure
472	that you've run mergemaster to get a /etc/rc which will seed
473	/dev/random.  If you don't and the system hangs after ldconfig,
474	then banging on the keyboard randomly until it unhangs is one
475	workaround.
476
47720001010:
478	****************************** WARNING ******************************
479				Sendmail has been updated.
480	****************************** WARNING ******************************
481	o mail.local(8) is no longer installed as a set-user-id binary.
482	o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL
483	  is set.
484	o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY
485	  commands.
486	o Now using sendmail's version of vacation(1).
487	o The sendmail cf building tools (contrib/sendmail/cf) are installed
488	  in /usr/share/sendmail/cf.
489	o sendmail.cw changed to local-host-names
490
491	More details can be found at
492		http://people.freebsd.org/~imp/UPDATING/sendmail-20001010
493
49420001009:
495	The ports tree's new layout is in place.  Be sure to update
496	your entire ports tree, or you will have problems.
497
49820001006:
499	The perl build procedure no longer installs miniperl, nor uses
500	the installed miniperl.  It is recommended that you delete
501	/usr/bin/miniperl.
502
50320001005:
504	This weekend the ports tree will be updated to a new layout.
505	It will be in an inconsistent state until noted in the UPDATING
506	file, or with asami-san's message to the relevant mailing
507	lists.  With this new layout, you'll need to update the whole
508	tree for anything to work.
509
51020000928:
511	There was a change in the passwd format.  Need more information.
512
51320000916:
514	/boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken
515	place.  Please update boot loader (not the boot blocks) at the
516	same time as your kernel.
517
51820000914:
519	The new pmtimer device is necessary for laptops.  Failure to
520	include the device will cause suspended laptops losing time
521	when they resume.  Include
522		device		pmtimer
523	in your config file and
524		hint.pmtimer.0.at="isa"
525	to your /boot/device.hints file.
526
52720000911:
528	The random device has been turned into a (pseudo-)device,
529	rather than an option. The supplied kernel config files have
530	been updated. You will need to do something similar in your
531	own kernel config file.
532	Remove:
533		options		RANDOMDEV
534	Add:
535		device		random
536	If you prefer to load the loadable module, you need to do
537	nothing.
538
53920000909:
540	The random device module has been renamed from randomdev.ko to
541	random.ko. You will need to edit your /boot/loader.conf to
542	reflect this if you load this module at boot time.
543	The line should read:
544		random_load="YES"
545
54620000907:
547	The SMPNG commit has happened.  It should work, but if it
548	doesn't, fallback to the PRE_SMPNG CVS tag.  There are likely
549	to be a variety of minor issues.  Please see 20000905 to make
550	sure you don't have model loading problems which might at
551	first blush appear related to SMP.
552
55320000906:
554	nsswitch has been imported from NetBSD.  Among other things,
555	this means that /etc/host.conf is no longer used.  See
556	nsswitch.conf(5) instead.  Note that at boot time rc.network
557	will attempt to produce a new nsswitch.conf file for you if you
558	don't have one, and you have host.conf.
559
56020000905:
561	The ucred structure changed size.  This breaks the interface
562	that mountd uses.  Trying to use an older mountd with a newer
563	kernel guarantees a panic.  This means that you need to use
564	kernels newer than today only with matching mountd, but you
565	needed to do that anyway with the boot loader changes.
566
56720000905:
568	The boot loader has been updated.  The new default kernel is
569	now /boot/kernel/kernel.ko.  The new default module location
570	is /boot/kernel.
571
572	You *MUST* upgrade your boot loader and kernel at the same time.
573	The easiest way to do this is to do the buildworld/buildkernel/
574	installkernel/installworld dance.
575
576	Furthermore, you are urged to delete your old /modules directory
577	before booting the new kernel, since kldload will find stale
578	modules in that directory instead of finding them in the correct
579	path, /boot/kernel.  The most common complaint that this cures
580	is that the linux module crashes your machine after the update.
581
582	if [ ! -d /boot/kernel.old ]; then
583		mv /modules.old /boot/kernel.old
584		chflags noschg /kernel.old
585		mv /kernel.old /boot/kernel.old/kernel.ko
586		chflags schg /boot/kernel.old/kernel.ko
587	fi
588
58920000904:
590	A new issue with the sendmail upgrade has come to light.
591	/etc/aliases has moved to /etc/mail/aliases.  Mergemaster will 
592	incorrectly install the default aliases in /etc/mail rather than
593	move the old one from /etc.  So you'll need to manually move the
594	file, create a symbolic link, remove the old /etc/aliases.db and
595	run newaliases.  For safety sake, you should stop sendmail
596	while doing this and run the upgrade when locally sourced email
597	is not likely to be generated.
598
59920000825:
600	/boot/device.hints is now required for installkernel to
601	succeed.  You should copy GENERIC.hints for your architecture
602	into /boot/device.hints.  If and only if you compile hints
603	into your kernel, then this file may be empty.  Please note,
604	if you have an empty or missing /boot/device.hints file and
605	you neglected to compile hints into your kernel, no boot
606	messages will appear after the boot loader tries to start the
607	kernel.
608
60920000821:
610	If you do NOT have ``options RANDOMDEV'' in your kernel and
611	you DO want the random device then add randomdev_load="YES" to
612	/boot/loader.conf.
613
61420000812:
615	suidperl is now always built and installed on the system, but
616	with permissions of 511.  If you have applications that use
617	this program, you are now required to add ENABLE_SUIDPERL=true
618	to /etc/make.conf.  If you forget to do this,
619		chmod 4511 /usr/bin/suidperl
620	will fix this until the next build.
621
62220000812:
623	sendmail has been updated from 8.9.3 to 8.11.0.  Some of the more
624	visible changes that may immediately affect your configuration
625	include:
626	- New default file locations from src/contrib/sendmail/cf/README
627	- newaliases limited to root and trusted users
628	- MSA port (587) turned on by default
629	- New queue file naming system so can't go from 8.11 -> 8.9
630	- FEATURE(`rbl') renamed to FEATURE(`dnsbl')
631	- FEATURE(`nullclient') is more full featured
632	- FEATURE(`nouucp') requires an argument: `reject' or `nospecial'
633	- mail.local FreeBSD-only -b option changed to -B
634	- See src/contrib/sendmail/RELEASE_NOTES for more info
635
63620000810:
637	suidperl (aka sperl) is no longer build by default.  You must
638	specifically define BUILD_SUIDPERL to "true" for it to be build.
639	Furthermore, we recommend that you remove /usr/bin/sperl* and
640	/usr/bin/suidperl files from your system unless you have a
641	specific use for it.
642
64320000729:
644	Networking defaults have been tightened.  Anybody upgrading
645	/etc/defaults/rc.conf needs to add the following lines to
646	/etc/rc.conf if they want to have the same setup
647	afterwards (unless the variables already are set, of course):
648		# Enable network daemons for user convenience.
649		inetd_enable="YES"
650		portmap_enable="YES"
651		sendmail_enable="YES"
652
65320000728:
654	If you have null_load="YES" in your /boot/loader.conf, you
655	will need to change that to nullfs_load="YES".
656
65720000728:
658	The "installkernel" target has changed slightly. Now even if
659	you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL'
660	it will install the MYKERNEL file (built with the buildkernel
661	target) as /kernel rather than /MYKERNEL. Those who have
662	updated their /boot/loader.conf files to point to /MYKERNEL
663	should remove that entry or perform manual rename of /kernel
664	to /MYKERNEL.
665
66620000711:
667	If you use CVSUP or CTM to get CVS trees, AND you used to get 
668	the old crypto files from internat.freebsd.org AND you check
669	out files from the CVS tree with the cvs command, please read
670		http://people.freebsd.org/~imp/internat.txt
671	for details on potential problems that you might have and how
672	to get around them.
673
674	If you are merely a mirror, or don't answer yes to each of the
675	clauses above, you needn't worry.
676
67720000711:
678	/etc/security has been updated to print the inode number of
679	setuid programs that have changed.  You will see a large spike
680	in the number of changed programs the first time when you run
681	mergemaster to get a new /etc/security.
682
68320000710:
684	/dev/random now has good entropy collection (from the keyboard
685	and sysmouse drivers). Please ensure that either `options
686	RANDOMDEV' is present in your kernel config file or that
687	`randomdev_load="YES"' is in your /boot/loader.conf. If you do
688	not have the /dev/random driver, OpenSSL (and consequently
689	lots of crypto tools (like SSH)) will fail with strange
690	errors. (see below, 20000624).
691
692	FreeBSD-current is safe again to run Crypto.
693
69420000709:
695	phk made the malloc default options AJ.  This may slow things
696	down and uncover other latent bugs in the code.  If you need to
697	run at full speed, you can disable this by doing the following:
698		ln -s aj /etc/malloc.conf
699
70020000706:
701	libftpio's version was accidentally bumped a few days ago.  This
702	has been corrected.  You may need to remove /usr/lib/libftpio.so.6
703	before doing your next buildworld/installworld pair.  It certainly
704	won't hurt to remove it before the update procedure.  It will
705	break fetch until a new one is built, but ftp can be used in the
706	interim if needed.
707
70820000705:
709	The crypto packages have changed for the cvsup.  This has been done
710	in a backward compatible way, but the old packages will go away at
711	some point in the future.  Look at /usr/share/examples/cvsup for
712	details.
713
71420000704:
715	With the new sys/modules/sound/drivers/*, you will need to
716	set SYSDIR until you do an installworld after July 7th.
717
71820000704:
719	rc.shutdown and rc will now call the rc.d scripts with start
720	or stop.  This may cause some harmless warnings from older
721	rc.d scripts that haven't been updated.
722
72320000630:
724	The libfetch based version of fetch has gone into the tree.
725	Minor problems may result on some of the less popular sites,
726	which should be reported to des@freebsd.org.
727
72820000625:
729	From approximately this date forward, one must have the crypto
730	system installed in order to build the system and kernel.
731	While not technically strictly true, one should treat it as
732	required and grab the crypto bits.  If you are grabbing CVS
733	trees, src-all and cvs-crypto should be treated as if they
734	were required.  You should check with the latest collections
735	to make sure that these haven't changed.
736
73720000624:
738	Mark Murray just committed the first parts of a cleanup of
739	/dev/zero, et al.  This is also cleaning up /dev/random.
740	The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD
741	-CURRENT FROM THIS POINT to 2000710 for cryptographic services
742	until Mark can merge in the fixes to this work in progress.
743	openssh and openssl should not be used to generate keys from this
744	date to the completion of the work.
745
746	If you must operate at this reduced level of security, add '
747	options RANDOMDEV' to your kernel or modload the randomdev
748	module.  You may also need to copy a new MAKEDEV to /dev and
749	recreate the random and urandom devices.
750
75120000622:
752	The license on the softupdates is now a standard 2 clause
753	BSD license.  You may need to remove your symbolic links
754	that used to be required when updating.
755
75620000621:
757	Scott Flatman <sf@aracnet.com> sent in a decent write-up on
758	the config file update procedure.
759		http://people.freebsd.org/~imp/config-upd.html
760	NOTE: LINT is gone.  It has been replaced with NOTES.  NOTES
761	isn't buildable.  However, you can generate a LINT file.
762
76320000620:
764	Binutils 2.10 have hit the tree, or will shortly.  As soon
765	as they do, the problem noted in 20000522 will be resolved and
766	that workaround will no longer be required.
767
76820000615:
769	phk removed the compatibility creation of wd devices in the
770	ad driver.  If you haven't done so already, you must update
771	your fstab, etc to use the ad devices instead of the wd
772	devices.
773
774	In addition, you'll need to update your boot blocks to a
775	more modern version, if you haven't already done so.  Modern
776	here means 4.0 release or newer (although older releases
777	may work).
778
77920000612:
780	Peter took an axe to config(8).  Be sure that you read his mail
781	on the topic before even thinking about updating.  You will
782	need to create a /boot/device.hints or add a hints directive
783	to your config file to compile them in statically.  The format
784	of the config file has changed as well.  Please see GENERIC or
785	NEWCARD for examples of the new format.
786
78720000522:
788	A new set of binutils went into the tree today.  Anybody
789	building a kernel after this point is advised that they need
790	to rebuild their binutils (or better yet do a
791	buildworld/installworld) before building a new kernel.
792
793	Due to bugs in binutils, using malloc options (eg /etc/malloc.conf
794	or MALLOC_OPTIONS env var) J will cause ld to dump core.  It
795	is recommended that you don't set this option until the problem
796	is resolved.
797
79820000513:
799	The ethernet drivers were all updated to clean up the BPF handling.
800
80120000510:
802	The problems with boot blocks on the alphas have been corrected.
803	This will require some care in updating alphas.  A new libstand
804	is requires for the boot blocks to build properly.
805
80620000503:
807	Recompile all kld modules.  Proper version dependency info
808	is now available.
809
81020000502:
811	Modules have been disconnected from the buildworld tree and 
812	connected to the kernel building instead.
813
81420000427:
815	You may need to build gperf
816		cd /usr/src/gnu/usr.bin/gperf && make depend all install
817	when upgrading from 4.0 -> current.  The build system now uses
818	an option only in -current.
819
82020000417:
821	The method that we brand ELF binaries has changed to be more
822	acceptable to the binutils maintainers.  You will need to
823	rebrand your ELF binaries that aren't native.  One problem
824	binary is the Linux ldconfig.  After your make world, but
825	before you reboot, you'll need to issue:
826		brandelf -t Linux /compat/linux/sbin/ldconfig
827	if you have Linux compatibility enabled on your machine.
828
82920000320:
830	If you have really bad/marginal IDE drives, you may find they
831	don't work well.  Use pio mode instead.  The easiest way to
832	cope if you have a problem combination is to add:
833		/sbin/sysctl -w hw.atamodes=pio,pio,pio,pio
834	to the start of /etc/rc.conf.
835
83620000319:
837	The ISA and PCI compatibility shims have been connected to the
838	options COMPAT_OLDISA and COMPAT_OLDPCI.  If you are using old
839	style PCI or ISA drivers (i.e. tx, voxware, etc.) you must
840	include the appropriate option in your kernel config.  Drivers
841	using the shims should be updated or they won't ship with
842	5.0-RELEASE, targeted for 2001.
843
84420000318:
845	We've entered the traditional post release dumping party.
846	Large kernel changes are being committed and are in the
847	works.  It is important to keep the systems' klds and kernel
848	in sync as kernel interfaces and structures are changing.
849	Before reporting kernel panics, make sure that all modules
850	that you are loading are up to date.
851
85220000315:
853	If you are upgrading from an older version of FreeBSD, you
854	need to update your boot blocks as well.  'disklabel -B ad0'
855	will do the trick.  This isn't critical until you remove your
856	wd device entries in /dev, at which point your system will not
857	boot.
858
85920000315:
860	4.0 RELEASE shipped.  Please see the 4.0 UPDATING file for how
861	to upgrade to 4.0 from 3.x.
862
863COMMON ITEMS:
864
865	General Notes
866	-------------
867	Avoid using make -j when upgrading.  From time to time in the
868	past there have been problems using -j with buildworld and/or
869	installworld.  This is especially true when upgrading between
870	"distant" versions (eg one that cross a major release boundary
871	or several minor releases, or when several months have passed
872	on the -current branch).
873
874	Sometimes, obscure build problems are the result of environment
875	poisoning.  This can happen because the make utility reads its
876	environment when searching for values for global variables.
877	To run your build attempts in an "environmental clean room",
878	prefix all make commands with 'env -i '.  See the env(1) manual
879	page for more details.
880
881	To build a kernel
882	-----------------
883	If you are updating from a prior version of FreeBSD (even one just
884	a few days old), you should follow this procedure. With a
885	/usr/obj tree with a fresh buildworld,
886	make buildkernel KERNCONF=YOUR_KERNEL_HERE
887	make installkernel KERNCONF=YOUR_KERNEL_HERE
888
889	To just build a kernel when you know that it won't mess you up
890	--------------------------------------------------------------
891	cd src/sys/{i386,alpha}/conf
892	config KERNEL_NAME_HERE
893	cd ../../compile/KERNEL_NAME_HERE
894	make depend
895	make
896	make install	
897
898	If this fails, go to the "To build a kernel" section.
899
900	To rebuild everything and install it on the current system.
901	-----------------------------------------------------------
902	make world
903	Build a new kernel, see above.
904
905	To upgrade from 4.x-stable to current
906	-------------------------------------
907	make buildworld
908	make buildkernel KERNCONF=YOUR_KERNEL_HERE
909	cp src/sys/${MACHINE_ARCH}/conf/GENERIC.hints /boot/device.hints [2]
910	make installkernel KERNCONF=YOUR_KERNEL_HERE
911	reboot in single user [3]
912	make installworld
913	mergemaster		[4]
914	[1]
915	<reboot>
916
917	Make sure that you've read the UPDATING file to understand the
918	tweaks to various things you need.  At this point in the life
919	cycle of current, things change often and you are on your own
920	to cope.  The defaults can also change, so please read ALL of
921	the UPDATING entries.
922
923	Also, if you are tracking -current, you must be subscribed to
924	freebsd-current@freebsd.org.  Make sure that before you update
925	your sources that you have read and understood all the recent
926	messages there.  If in doubt, please track -stable which has
927	much fewer pitfalls.
928
929	[1] If you have third party modules, such as vmware, you
930	should disable them at this point so they don't crash your
931	system on reboot.
932
933	[2] If you have legacy ISA devices, you may need to create
934	your own device.hints to reflect your unique hardware
935	configuration.
936
937	[3] From the bootblocks, boot -s, and then do
938		fsck -p
939		mount -u /
940		mount -a
941		cd /usr/src
942		adjkerntz -i		# if CMOS is wall time
943
944	[4] Note: This step is non-optional.  Failure to do this step
945	can result in a significant reduction in the functionality of the
946	system.  Attempting to do it by hand is not recommended and those
947	that pursue this avenue should read this file carefully, as well
948	as the archives of freebsd-current and freebsd-hackers mailing lists
949	for potential gotchas.
950
951FORMAT:
952
953This file contains a list, in reverse chronological order, of major
954breakages in tracking -current.  Not all things will be listed here,
955and it only starts on March 15, 2000.  Updating files can found in
956previous releases if your system is older than this.
957
958Please filter your entries through Warner Losh (imp@village.org) so
959that the style, formatting, etc of this file can be maintained.
960
961Copyright information:
962
963Copyright 1998, 2001 M. Warner Losh.  All Rights Reserved.
964
965Redistribution, publication, translation and use, with or without
966modification, in full or in part, in any form or format of this
967document are permitted.
968
969THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
970IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
971WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
972DISCLAIMED.  IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
973INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
974(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
975SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
976HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
977STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
978IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
979POSSIBILITY OF SUCH DAMAGE.
980
981If you find this document useful, and you want to, you may buy the
982author a beer.
983
984Contact Warner Losh if you have any questions about your use of
985this document.
986
987$FreeBSD: head/UPDATING 92535 2002-03-18 04:52:24Z imp $
988