UPDATING revision 75822
1Updating Information for FreeBSD current users
2
3This file is maintained by imp@village.org.  Please send new entries
4directly to him.  See end of file for further details.  For commonly
5done items, please see the end of the file.  Search for 'COMMON
6ITEMS:'
7
820010330:
9	fsck has changed the meaning of the pass column in /etc/fstab.
10	Please see the cvs commit to fsck.8 or the fsck.8 man page fora
11	details.  It is unclear if changes to /etc/fstab are necessary.
12
1320010319:
14	portmap had changed name to rpcbind for maximum POLA in your
15	current world.  /etc/hosts.{allow,deny} needs changes.  nfs and
16	other rpc based programs that rely on portmapper will not work
17	without updates to /etc/hosts.{allow,deny}.
18
1920010312:
20	The fxp driver was converted to use miibus.  If you compile
21	fxp into your kernel statically, you will need to add miibus.
22
2320010312:
24	The wi device now defaults to BSS (infrastructure) mode
25	instead of ad-hoc.
26
2720010310:
28	/dev/urandmon should be a sumbolic link to /dev/random now.
29	Users of current not using DEVFS need to run MAKEDEV std.
30	ssh might not work if you don't.
31
3220010220:
33	The problems with libc have been corrected.  It is now mostly
34	safe to go back into the water.
35
3620010211:
37	The size of FILE was changed.  This breaks upgrading.  If
38	you must upgrade, be prepared for pain.  It also breaks almost
39	all binaries that you've compiled on -current.  You are warned
40	that before upgrading would be a good time to do a level 0
41	dump of your system.  No, really, I mean it this time.
42
43	To get to the new system, you'll need to use the following
44	workaround.  Hopefully this can be sorted out so that we
45	don't have to move this to the updating section.
46
47	To get around the installworld problem, do:
48		# cd /usr/src/usr.bin/sed
49		# make install
50		# cd /usr/src
51		# make installworld
52	If that doesn't work, then try:
53		# make -k installworld
54		# make installworld
55
5620010207:
57	DEVFS is now the default.  If you use vinum, make sure that you
58	do not include devfs in your kernel as problems result.
59
6020010205:
61	FFS_ROOT and CD9660_ROOT have been removed or deprecated.
62	Remove them from your config.
63
6420010122:
65	****************************** WARNING ******************************
66			buildkernel has been changed slightly
67	****************************** WARNING ******************************
68	KERNCONF replaces the variable KERNEL for buildkernel.  You
69	should update your scripts and make.conf accordingly.
70
7120010119:
72	config has changed to allow DEV_FOO as a replacement for NFOO.
73	This requires a new config to build correctly.
74
7520010116:
76	The kerrnel option I386_CPU is now mutually exclusive with the
77	other cpu types. If you have an i386 system, be sure that it
78	only had this line.  Remove it for all other configurations.
79
8020010110:
81	Changes to the kernel require it and burncd be in sync.
82
8320010102:
84	Everyone who has hw.sndunit set to something in
85	/etc/sysctl.conf, it is now hw.snd.unit.
86
8720010101:
88	ex and vi were broken by some changes to sys/queue.h.  If you
89	have a bad vi, you will see make buildworld fail with a core
90	dump while building termcap.  You can work around this problem
91	by adding -k to your make buildworld.  This will cause the
92	build to complete and install a new vi.  Once that's done, you
93	can rebuild again without the -k to pick up anything that
94	might have been ignored by the -k option.
95
96	Others have suggested that you can just rebuild libc if your
97	vi/ex is dynamically linked, but I've not received any reports
98	of this working.
99
10020001228:
101	There have been some changes to libcrypt in -current.  The
102	libscrypt/libdescrypt symlink sillyness is gone and the installed
103	libcrypt is fully functional.  Be aware of this.
104
10520001218:
106	Linksys Fast Ethernet PCCARD cards supported by the ed driver
107	now require the addition of flag 0x80000 to their config line
108	in pccard.conf(5).  This flag is not optional.  These Linksys
109	cards will not be recognized without it.
110
11120001205:
112	Important new FreeBSD-version stuff: PAM support has been worked
113	in, partially from the "Unix" OpenSSH version.  This requires
114	adding the following in pam.conf:
115  
116	sshd    auth    sufficient      pam_skey.so
117	sshd    auth    required        pam_unix.so         try_first_pass
118	sshd    session required        pam_permit.so
119
12020001031:
121	cvs updated to 1.11.
122
12320001020:
124	The random device needs more entropy, so you need to make sure
125	that you've run mergemaster to get a /etc/rc which will seed
126	/dev/random.  If you don't and the system hangs after ldconfig,
127	then banging on the keyboard randomly until it unhangs is one
128	workaround.
129
13020001010:
131	****************************** WARNING ******************************
132				Sendmail has been updated.
133	****************************** WARNING ******************************
134	o mail.local(8) is no longer installed as a set-user-id binary.
135	o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL
136	  is set.
137	o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY
138	  commands.
139	o Now using sendmail's version of vacation(1).
140	o The sendmail cf building tools (contrib/sendmail/cf) are installed
141	  in /usr/share/sendmail/cf.
142	o sendmail.cw changed to local-host-names
143
144	More details can be found at
145		http://people.freebsd.org/~imp/UPDATING/sendmail-20001010
146
14720001009:
148	The ports tree's new layout is in place.  Be sure to update
149	your entire ports tree, or you will have problems.
150
15120001006:
152	The perl build procedure no longer installs miniperl, nor uses
153	the installed miniperl.  It is recommended that you delete
154	/usr/bin/miniperl.
155
15620001005:
157	This weekend the ports tree will be updated to a new layout.
158	It will be in an inconsistent state until noted in the UPDATING
159	file, or with asami-san's message to the relevant mailing
160	lists.  With this new layout, you'll need to update the whole
161	tree for anything to work.
162
16320000928:
164	There was a change in the passwd format.  Need more information.
165
16620000916:
167	/boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken
168	place.  Please update boot loader (not the boot blocks) at the
169	same time as your kernel.
170
17120000914:
172	The new pmtimer device is necessary for laptops.  Failure to
173	include the device will cause suspended laptops losing time
174	when they resume.  Include
175		device		pmtimer
176	in your config file and
177		hint.pmtimer.0.at="isa"
178	to your /boot/device.hints file.
179
18020000911:
181	The random device has been turned into a (pseudo-)device,
182	rather than an option. The supplied kernel config files have
183	been updated. You will need to do something similar in your
184	own kernel config file.
185	Remove:
186		options		RANDOMDEV
187	Add:
188		device		random
189	If you prefer to load the loadable module, you need to do
190	nothing.
191
19220000909:
193	The random device module has been renamed from randomdev.ko to
194	random.ko. You will need to edit your /boot/loader.conf to
195	reflect this if you load this module at boot time.
196	The line should read:
197		random_load="YES"
198
19920000907:
200	The SMPNG commit has happened.  It should work, but if it
201	doesn't, fallback to the PRE_SMPNG CVS tag.  There are likely
202	to be a variety of minor issues.  Please see 20000905 to make
203	sure you don't have model loading problems which might at
204	first blush appear related to SMP.
205
20620000906:
207	nsswitch has been imported from NetBSD.  Among other things,
208	this means that /etc/host.conf is no longer used.  See
209	nsswitch.conf(5) instead.  Note that at boot time rc.network
210	will attempt to produce a new nsswitch.conf file for you if you
211	don't have one, and you have host.conf.
212
21320000905:
214	The ucred structure changed size.  This breaks the interface
215	that mountd uses.  Trying to use an older mountd with a newer
216	kernel guarantees a panic.  This means that you need to use
217	kernels newer than today only with matching mountd, but you
218	needed to do that anyway with the boot loader changes.
219
22020000905:
221	The boot loader has been updated.  The new default kernel is
222	now /boot/kernel/kernel.ko.  The new default module location
223	is /boot/kernel.
224
225	You *MUST* upgrade your boot loader and kernel at the same time.
226	The easiest way to do this is to do the buildworld/buildkernel/
227	installkernel/installworld dance.
228
229	Furthermore, you are urged to delete your old /modules directory
230	before booting the new kernel, since kldload will find stale
231	modules in that directory instead of finding them in the correct
232	path, /boot/kernel.  The most common complaint that this cures
233	is that the linux module crashes your machine after the update.
234
235	if [ ! -d /boot/kernel.old ]; then
236		mv /modules.old /boot/kernel.old
237		chflags noschg /kernel.old
238		mv /kernel.old /boot/kernel.old/kernel.ko
239		chflags schg /boot/kernel.old/kernel.ko
240	fi
241
24220000904:
243	A new issue with the sendmail upgrade has come to light.
244	/etc/aliases has moved to /etc/mail/aliases.  Mergemaster will 
245	incorrectly install the default aliases in /etc/mail rather than
246	move the old one from /etc.  So you'll need to manually move the
247	file, create a symbolic link, remove the old /etc/aliases.db and
248	run newaliases.  For safety sake, you should stop sendmail
249	while doing this and run the upgrade when locally sourced email
250	is not likely to be generated.
251
25220000825:
253	/boot/device.hints is now required for installkernel to
254	succeed.  You should copy GENERIC.hints for your architecture
255	into /boot/device.hints.  If and only if you compile hints
256	into your kernel, then this file may be empty.  Please note,
257	if you have an empty or missing /boot/device.hints file and
258	you neglected to compile hints into your kernel, no boot
259	messages will appear after the boot loader tries to start the
260	kernel.
261
26220000821:
263	If you do NOT have ``options RANDOMDEV'' in your kernel and
264	you DO want the random device then add randomdev_load="YES" to
265	/boot/loader.conf.
266
26720000812:
268	suidperl is now always built and installed on the system, but
269	with permissions of 511.  If you have applications that use
270	this program, you are now required to add ENABLE_SUIDPERL=true
271	to /etc/make.conf.  If you forget to do this,
272		chmod 4511 /usr/bin/suidperl
273	will fix this until the next build.
274
27520000812:
276	sendmail has been updated from 8.9.3 to 8.11.0.  Some of the more
277	visible changes that may immediately affect your configuration
278	include:
279	- New default file locations from src/contrib/sendmail/cf/README
280	- newaliases limited to root and trusted users
281	- MSA port (587) turned on by default
282	- New queue file naming system so can't go from 8.11 -> 8.9
283	- FEATURE(`rbl') renamed to FEATURE(`dnsbl')
284	- FEATURE(`nullclient') is more full featured
285	- FEATURE(`nouucp') requires an argument: `reject' or `nospecial'
286	- mail.local FreeBSD-only -b option changed to -B
287	- See src/contrib/sendmail/RELEASE_NOTES for more info
288
28920000810:
290	suidperl (aka sperl) is no longer build by default.  You must
291	specifically define BUILD_SUIDPERL to "true" for it to be build.
292	Furthermore, we recommend that you remove /usr/bin/sperl* and
293	/usr/bin/suidperl files from your system unless you have a
294	specific use for it.
295
29620000729:
297	Networking defaults have been tightened.  Anybody upgrading
298	/etc/defaults/rc.conf needs to add the following lines to
299	/etc/rc.conf if they want to have the same setup
300	afterwards (unless the variables already are set, of course):
301		# Enable network daemons for user convenience.
302		inetd_enable="YES"
303		portmap_enable="YES"
304		sendmail_enable="YES"
305
30620000728:
307	If you have null_load="YES" in your /boot/loader.conf, you
308	will need to change that to nullfs_load="YES".
309
31020000728:
311	The "installkernel" target has changed slightly. Now even if
312	you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL'
313	it will install the MYKERNEL file (built with the buildkernel
314	target) as /kernel rather than /MYKERNEL. Those who have
315	updated their /boot/loader.conf files to point to /MYKERNEL
316	should remove that entry or perform manual rename of /kernel
317	to /MYKERNEL.
318
31920000711:
320	If you use CVSUP or CTM to get CVS trees, AND you used to get 
321	the old crypto files from internat.freebsd.org AND you check
322	out files from the CVS tree with the cvs command, please read
323		http://people.freebsd.org/~imp/internat.txt
324	for details on potential problems that you might have and how
325	to get around them.
326
327	If you are merely a mirror, or don't answer yes to each of the
328	clauses above, you needn't worry.
329
33020000711:
331	/etc/security has been updated to print the inode number of
332	setuid programs that have changed.  You will see a large spike
333	in the number of changed programs the first time when you run
334	mergemaster to get a new /etc/security.
335
33620000710:
337	/dev/random now has good entropy collection (from the keyboard
338	and sysmouse drivers). Please ensure that either `options
339	RANDOMDEV' is present in your kernel config file or that
340	`randomdev_load="YES"' is in your /boot/loader.conf. If you do
341	not have the /dev/random driver, OpenSSL (and consequently
342	lots of crypto tools (like SSH)) will fail with strange
343	errors. (see below, 20000624).
344
345	FreeBSD-current is safe again to run Crypto.
346
34720000709:
348	phk made the malloc default options AJ.  This may slow things
349	down and uncover other latent bugs in the code.  If you need to
350	run at full speed, you can disable this by doing the following:
351		ln -s aj /etc/malloc.conf
352
35320000706:
354	libftpio's version was accidentally bumped a few days ago.  This
355	has been corrected.  You may need to remove /usr/lib/libftpio.so.6
356	before doing your next buildworld/installworld pair.  It certainly
357	won't hurt to remove it before the update procedure.  It will
358	break fetch until a new one is built, but ftp can be used in the
359	interim if needed.
360
36120000705:
362	The crypto packages have changed for the cvsup.  This has been done
363	in a backward compatible way, but the old packages will go away at
364	some point in the future.  Look at /usr/share/examples/cvsup for
365	details.
366
36720000704:
368	With the new sys/modules/sound/drivers/*, you will need to
369	set SYSDIR until you do an installworld after July 7th.
370
37120000704:
372	rc.shutdown and rc will now call the rc.d scripts with start
373	or stop.  This may cause some harmless warnings from older
374	rc.d scripts that haven't been updated.
375
37620000630:
377	The libfetch based version of fetch has gone into the tree.
378	Minor problems may result on some of the less popular sites,
379	which should be reported to des@freebsd.org.
380
38120000625:
382	From approximately this date forward, one must have the crypto
383	system installed in order to build the system and kernel.
384	While not technically strictly true, one should treat it as
385	required and grab the crypto bits.  If you are grabbing CVS
386	trees, src-all and cvs-crypto should be treated as if they
387	were required.  You should check with the latest collections
388	to make sure that these haven't changed.
389
39020000624:
391	Mark Murray just committed the first parts of a cleanup of
392	/dev/zero, et al.  This is also cleaning up /dev/random.
393	The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD
394	-CURRENT FROM THIS POINT FORWARD for cryptographic services
395	until Mark can merge in the fixes to this work in progress.
396	openssh and openssl should not be used to generate keys from this
397	date to the completion of the work.
398
399	If you must operate at this reduced level of security, add '
400	options RANDOMDEV' to your kernel or modload the randomdev
401	module.  You may also need to copy a new MAKEDEV to /dev and
402	recreate the random and urandom devices.
403
40420000622:
405	The license on the softupdates is now a standard 2 clause
406	BSD license.  You may need to remove your symbolic links
407	that used to be required when updating.
408
40920000621:
410	Scott Flatman <sf@aracnet.com> sent in a decent write-up on
411	the config file update procedure.
412		http://people.freebsd.org/~imp/config-upd.html
413	NOTE: LINT is gone.  It has been replaced with NOTES.  NOTES
414	isn't buildable.  However, you can generate a LINT file.
415
41620000620:
417	Binutils 2.10 have hit the tree, or will shortly.  As soon
418	as they do, the problem noted in 20000522 will be resolved and
419	that workaround will no longer be required.
420
42120000615:
422	phk removed the compatibility creation of wd devices in the
423	ad driver.  If you haven't done so already, you must update
424	your fstab, etc to use the ad devices instead of the wd
425	devices.
426
427	In addition, you'll need to update your boot blocks to a
428	more modern version, if you haven't already done so.  Modern
429	here means 4.0 release or newer (although older releases
430	may work).
431
43220000612:
433	Peter took an axe to config(8).  Be sure that you read his mail
434	on the topic before even thinking about updating.  You will
435	need to create a /boot/device.hints or add a hints directive
436	to your config file to compile them in statically.  The format
437	of the config file has changed as well.  Please see GENERIC or
438	NEWCARD for examples of the new format.
439
44020000522:
441	A new set of binutils went into the tree today.  Anybody
442	building a kernel after this point is advised that they need
443	to rebuild their binutils (or better yet do a
444	buildworld/installworld) before building a new kernel.
445
446	Due to bugs in binutils, using malloc options (eg /etc/malloc.conf
447	or MALLOC_OPTIONS env var) J will cause ld to dump core.  It
448	is recommended that you don't set this option until the problem
449	is resolved.
450
45120000513:
452	The ethernet drivers were all updated to clean up the BPF handling.
453
45420000510:
455	The problems with boot blocks on the alphas have been corrected.
456	This will require some care in updating alphas.  A new libstand
457	is requires for the boot blocks to build properly.
458
45920000503:
460	Recompile all kld modules.  Proper version dependency info
461	is now available.
462
46320000502:
464	Modules have been disconnected from the buildworld tree and 
465	connected to the kernel building instead.
466
46720000427:
468	You may need to build gperf
469		cd /usr/src/gnu/usr.bin/gperf && make depend all install
470	when upgrading from 4.0 -> current.  The build system now uses
471	an option only in -current.
472
47320000417:
474	The method that we brand ELF binaries has changed to be more
475	acceptable to the binutils maintainers.  You will need to
476	rebrand your ELF binaries that aren't native.  One problem
477	binary is the Linux ldconfig.  After your make world, but
478	before you reboot, you'll need to issue:
479		brandelf -t Linux /compat/linux/sbin/ldconfig
480	if you have Linux compatibility enabled on your machine.
481
48220000320:
483	If you have really bad/marginal IDE drives, you may find they
484	don't work well.  Use pio mode instead.  The easiest way to
485	cope if you have a problem combination is to add:
486		/sbin/sysctl -w hw.atamodes=pio,pio,pio,pio
487	to the start of /etc/rc.conf.
488
48920000319:
490	The ISA and PCI compatibility shims have been connected to the
491	options COMPAT_OLDISA and COMPAT_OLDPCI.  If you are using old
492	style PCI or ISA drivers (i.e. tx, voxware, etc.) you must
493	include the appropriate option in your kernel config.  Drivers
494	using the shims should be updated or they won't ship with
495	5.0-RELEASE, targeted for 2001.
496
49720000318:
498	We've entered the traditional post release dumping party.
499	Large kernel changes are being committed and are in the
500	works.  It is important to keep the systems' klds and kernel
501	in sync as kernel interfaces and structures are changing.
502	Before reporting kernel panics, make sure that all modules
503	that you are loading are up to date.
504
50520000315:
506	If you are upgrading from an older version of FreeBSD, you
507	need to update your boot blocks as well.  'disklabel -B ad0'
508	will do the trick.  This isn't critical until you remove your
509	wd device entries in /dev, at which point your system will not
510	boot.
511
51220000315:
513	4.0 RELEASE shipped.  Please see the 4.0 UPDATING file for how
514	to upgrade to 4.0 from 3.x.
515
516COMMON ITEMS:
517
518	General Notes
519	-------------
520	Avoid using make -j when upgrading.  From time to time in the
521	past there have been problems using -j with buildworld and/or
522	installworld.  This is especially true when upgrading between
523	"distant" versions (eg one that cross a major release boundary
524	or several minor releases, or when several months have passed
525	on the -current branch).
526
527	To build a kernel
528	-----------------
529	If you are updating from a prior version of FreeBSD (even one just
530	a few days old), you should follow this procedure. With a
531	/usr/obj tree with a fresh buildworld,
532	make buildkernel KERNCONF=YOUR_KERNEL_HERE
533	make installkernel KERNCONF=YOUR_KERNEL_HERE
534
535	To just build a kernel when you know that it won't mess you up
536	--------------------------------------------------------------
537	cd src/sys/{i386,alpha}/conf
538	config KERNEL_NAME_HERE			[1]
539	cd ../../compile/KERNEL_NAME_HERE
540	make depend
541	make
542	make install	
543	
544	[1] If in doubt, -r might help here.
545
546	If this fails, go to the "To build a kernel" section.
547
548	To rebuild everything and install it on the current system.
549	-----------------------------------------------------------
550	make world
551	Build a new kernel, see above.
552
553	To upgrade from 4.x-stable to current
554	-------------------------------------
555	make buildworld
556	make buildkernel KERNCONF=YOUR_KERNEL_HERE
557	cp src/sys/${MACHINE_ARCH}/conf/GENERIC.hints /boot/device.hints [2]
558	make installkernel KERNCONF=YOUR_KERNEL_HERE
559	make installworld
560	mergemaster
561	[1]
562	<reboot>
563
564	Make sure that you've read the UPDATING file to understand the
565	tweaks to various things you need.  At this point in the life
566	cycle of current, things change often and you are on your own
567	to cope.  The defaults can also change, so please read ALL of
568	the UPDATING entries.
569
570	Also, if you are tracking -current, you must be subscribed to
571	freebsd-current@freebsd.org.  Make sure that before you update
572	your sources that you have read and understood all the recent
573	messages there.  If in doubt, please track -stable which has
574	much fewer pitfalls.
575
576	[1] If you have third party modules, such as vmware, you
577	should disable them at this point so they don't crash your
578	system on reboot.
579
580	[2] If you have legacy ISA devices, you may need to create
581	your own device.hints to reflect your unique hardware
582	configuration.
583
584FORMAT:
585
586This file contains a list, in reverse chronological order, of major
587breakages in tracking -current.  Not all things will be listed here,
588and it only starts on March 15, 2000.  Updating files can found in
589previous releases if your system is older than this.
590
591Please filter your entries through Warner Losh (imp@village.org) so
592that the style, formatting, etc of this file can be maintained.
593
594$FreeBSD: head/UPDATING 75822 2001-04-22 05:35:49Z imp $
595