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