UPDATING revision 71365
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
820010122:
9	****************************** WARNING ******************************
10			buildkernel has been changed slightly
11	****************************** WARNING ******************************
12	KERNCONF replaces the variable KERNEL for buildkernel.  You
13	should update your scripts and make.conf accordingly.
14
1520010119:
16	config has changed to allow DEV_FOO as a replacement for NFOO.
17	This requires a new config to build correctly.
18
1920010116:
20	The kerrnel option I386_CPU is now mutually exclusive with the
21	other cpu types. If you have an i386 system, be sure that it
22	only had this line.  Remove it for all other configurations.
23
2420010110:
25	Changes to the kernel require it and burncd be in sync.
26
2720010102:
28	Everyone who has hw.sndunit set to something in
29	/etc/sysctl.conf, it is now hw.snd.unit.
30
3120010101:
32	ex and vi were broken by some changes to sys/queue.h.  If you
33	have a bad vi, you will see make buildworld fail with a core
34	dump while building termcap.  You can work around this problem
35	by adding -k to your make buildworld.  This will cause the
36	build to complete and install a new vi.  Once that's done, you
37	can rebuild again without the -k to pick up anything that
38	might have been ignored by the -k option.
39
40	Others have suggested that you can just rebuild libc if your
41	vi/ex is dynamically linked, but I've not received any reports
42	of this working.
43
4420001228:
45	There have been some changes to libcrypt in -current.  The
46	libscrypt/libdescrypt symlink sillyness is gone and the installed
47	libcrypt is fully functional.  Be aware of this.
48
4920001218:
50	Linksys Fast Ethernet PCCARD cards supported by the ed driver
51	now require the addition of flag 0x80000 to their config line
52	in pccard.conf(5).  This flag is not optional.  These Linksys
53	cards will not be recognized without it.
54
5520001205:
56	Important new FreeBSD-version stuff: PAM support has been worked
57	in, partially from the "Unix" OpenSSH version.  This requires
58	adding the following in pam.conf:
59  
60	sshd    auth    sufficient      pam_skey.so
61	sshd    auth    required        pam_unix.so         try_first_pass
62	sshd    session required        pam_permit.so
63
6420001031:
65	cvs updated to 1.11.
66
6720001020:
68	The random device needs more entropy, so you need to make sure
69	that you've run mergemaster to get a /etc/rc which will seed
70	/dev/random.  If you don't and the system hangs after ldconfig,
71	then banging on the keyboard randomly until it unhangs is one
72	workaround.
73
7420001010:
75	****************************** WARNING ******************************
76				Sendmail has been updated.
77	****************************** WARNING ******************************
78	o mail.local(8) is no longer installed as a set-user-id binary.
79	o sendmail(8) is now built with STARTTLS support unless NO_OPENSSL
80	  is set.
81	o The default /etc/mail/sendmail.cf disables the SMTP EXPN and VRFY
82	  commands.
83	o Now using sendmail's version of vacation(1).
84	o The sendmail cf building tools (contrib/sendmail/cf) are installed
85	  in /usr/share/sendmail/cf.
86	o sendmail.cw changed to local-host-names
87
88	More details can be found at
89		http://people.freebsd.org/~imp/UPDATING/sendmail-20001010
90
9120001009:
92	The ports tree's new layout is in place.  Be sure to update
93	your entire ports tree, or you will have problems.
94
9520001006:
96	The perl build procedure no longer installs miniperl, nor uses
97	the installed miniperl.  It is recommended that you delete
98	/usr/bin/miniperl.
99
10020001005:
101	This weekend the ports tree will be updated to a new layout.
102	It will be in an inconsistent state until noted in the UPDATING
103	file, or with asami-san's message to the relevant mailing
104	lists.  With this new layout, you'll need to update the whole
105	tree for anything to work.
106
10720000928:
108	There was a change in the passwd format.  Need more information.
109
11020000916:
111	/boot/kernel/kernel.ko -> /boot/kernel/kernel change has taken
112	place.  Please update boot loader (not the boot blocks) at the
113	same time as your kernel.
114
11520000914:
116	The new pmtimer device is necessary for laptops.  Failure to
117	include the device will cause suspended laptops losing time
118	when they resume.  Include
119		device		pmtimer
120	in your config file and
121		hint.pmtimer.0.at="isa"
122	to your /boot/device.hints file.
123
12420000911:
125	The random device has been turned into a (pseudo-)device,
126	rather than an option. The supplied kernel config files have
127	been updated. You will need to do something similar in your
128	own kernel config file.
129	Remove:
130		options		RANDOMDEV
131	Add:
132		device		random
133	If you prefer to load the loadable module, you need to do
134	nothing.
135
13620000909:
137	The random device module has been renamed from randomdev.ko to
138	random.ko. You will need to edit your /boot/loader.conf to
139	reflect this if you load this module at boot time.
140	The line should read:
141		random_load="YES"
142
14320000907:
144	The SMPNG commit has happened.  It should work, but if it
145	doesn't, fallback to the PRE_SMPNG CVS tag.  There are likely
146	to be a variety of minor issues.  Please see 20000905 to make
147	sure you don't have model loading problems which might at
148	first blush appear related to SMP.
149
15020000906:
151	nsswitch has been imported from NetBSD.  Among other things,
152	this means that /etc/host.conf is no longer used.  See
153	nsswitch.conf(5) instead.  Note that at boot time rc.network
154	will attempt to produce a new nsswitch.conf file for you if you
155	don't have one, and you have host.conf.
156
15720000905:
158	The ucred structure changed size.  This breaks the interface
159	that mountd uses.  Trying to use an older mountd with a newer
160	kernel guarantees a panic.  This means that you need to use
161	kernels newer than today only with matching mountd, but you
162	needed to do that anyway with the boot loader changes.
163
16420000905:
165	The boot loader has been updated.  The new default kernel is
166	now /boot/kernel/kernel.ko.  The new default module location
167	is /boot/kernel.
168
169	You *MUST* upgrade your boot loader and kernel at the same time.
170	The easiest way to do this is to do the buildworld/buildkernel/
171	installkernel/installworld dance.
172
173	Furthermore, you are urged to delete your old /modules directory
174	before booting the new kernel, since kldload will find stale
175	modules in that directory instead of finding them in the correct
176	path, /boot/kernel.  The most common complaint that this cures
177	is that the linux module crashes your machine after the update.
178
179	if [ ! -d /boot/kernel.old ]; then
180		mv /modules.old /boot/kernel.old
181		chflags noschg /kernel.old
182		mv /kernel.old /boot/kernel.old/kernel.ko
183		chflags schg /boot/kernel.old/kernel.ko
184	fi
185
18620000904:
187	A new issue with the sendmail upgrade has come to light.
188	/etc/aliases has moved to /etc/mail/aliases.  Mergemaster will 
189	incorrectly install the default aliases in /etc/mail rather than
190	move the old one from /etc.  So you'll need to manually move the
191	file, create a symbolic link, remove the old /etc/aliases.db and
192	run newaliases.  For safety sake, you should stop sendmail
193	while doing this and run the upgrade when locally sourced email
194	is not likely to be generated.
195
19620000825:
197	/boot/device.hints is now required for installkernel to
198	succeed.  You should copy GENERIC.hints for your architecture
199	into /boot/device.hints.  If and only if you compile hints
200	into your kernel, then this file may be empty.  Please note,
201	if you have an empty or missing /boot/device.hints file and
202	you neglected to compile hints into your kernel, no boot
203	messages will appear after the boot loader tries to start the
204	kernel.
205
20620000821:
207	If you do NOT have ``options RANDOMDEV'' in your kernel and
208	you DO want the random device then add randomdev_load="YES" to
209	/boot/loader.conf.
210
21120000812:
212	suidperl is now always built and installed on the system, but
213	with permissions of 511.  If you have applications that use
214	this program, you are now required to add ENABLE_SUIDPERL=true
215	to /etc/make.conf.  If you forget to do this,
216		chmod 4511 /usr/bin/suidperl
217	will fix this until the next build.
218
21920000812:
220	sendmail has been updated from 8.9.3 to 8.11.0.  Some of the more
221	visible changes that may immediately affect your configuration
222	include:
223	- New default file locations from src/contrib/sendmail/cf/README
224	- newaliases limited to root and trusted users
225	- MSA port (587) turned on by default
226	- New queue file naming system so can't go from 8.11 -> 8.9
227	- FEATURE(`rbl') renamed to FEATURE(`dnsbl')
228	- FEATURE(`nullclient') is more full featured
229	- FEATURE(`nouucp') requires an argument: `reject' or `nospecial'
230	- mail.local FreeBSD-only -b option changed to -B
231	- See src/contrib/sendmail/RELEASE_NOTES for more info
232
23320000810:
234	suidperl (aka sperl) is no longer build by default.  You must
235	specifically define BUILD_SUIDPERL to "true" for it to be build.
236	Furthermore, we recommend that you remove /usr/bin/sperl* and
237	/usr/bin/suidperl files from your system unless you have a
238	specific use for it.
239
24020000729:
241	Networking defaults have been tightened.  Anybody upgrading
242	/etc/defaults/rc.conf needs to add the following lines to
243	/etc/rc.conf if they want to have the same setup
244	afterwards (unless the variables already are set, of course):
245		# Enable network daemons for user convenience.
246		inetd_enable="YES"
247		portmap_enable="YES"
248		sendmail_enable="YES"
249
25020000728:
251	If you have null_load="YES" in your /boot/loader.conf, you
252	will need to change that to nullfs_load="YES".
253
25420000728:
255	The "installkernel" target has changed slightly. Now even if
256	you override KERNEL e.g. 'make installkernel KERNEL=MYKERNEL'
257	it will install the MYKERNEL file (built with the buildkernel
258	target) as /kernel rather than /MYKERNEL. Those who have
259	updated their /boot/loader.conf files to point to /MYKERNEL
260	should remove that entry or perform manual rename of /kernel
261	to /MYKERNEL.
262
26320000711:
264	If you use CVSUP or CTM to get CVS trees, AND you used to get 
265	the old crypto files from internat.freebsd.org AND you check
266	out files from the CVS tree with the cvs command, please read
267		http://people.freebsd.org/~imp/internat.txt
268	for details on potential problems that you might have and how
269	to get around them.
270
271	If you are merely a mirror, or don't answer yes to each of the
272	clauses above, you needn't worry.
273
27420000711:
275	/etc/security has been updated to print the inode number of
276	setuid programs that have changed.  You will see a large spike
277	in the number of changed programs the first time when you run
278	mergemaster to get a new /etc/security.
279
28020000710:
281	/dev/random now has good entropy collection (from the keyboard
282	and sysmouse drivers). Please ensure that either `options
283	RANDOMDEV' is present in your kernel config file or that
284	`randomdev_load="YES"' is in your /boot/loader.conf. If you do
285	not have the /dev/random driver, OpenSSL (and consequently
286	lots of crypto tools (like SSH)) will fail with strange
287	errors. (see below, 20000624).
288
289	FreeBSD-current is safe again to run Crypto.
290
29120000709:
292	phk made the malloc default options AJ.  This may slow things
293	down and uncover other latent bugs in the code.  If you need to
294	run at full speed, you can disable this by doing the following:
295		ln -s aj /etc/malloc.conf
296
29720000706:
298	libftpio's version was accidentally bumped a few days ago.  This
299	has been corrected.  You may need to remove /usr/lib/libftpio.so.6
300	before doing your next buildworld/installworld pair.  It certainly
301	won't hurt to remove it before the update procedure.  It will
302	break fetch until a new one is built, but ftp can be used in the
303	interim if needed.
304
30520000705:
306	The crypto packages have changed for the cvsup.  This has been done
307	in a backward compatible way, but the old packages will go away at
308	some point in the future.  Look at /usr/share/examples/cvsup for
309	details.
310
31120000704:
312	With the new sys/modules/sound/drivers/*, you will need to
313	set SYSDIR until you do an installworld after July 7th.
314
31520000704:
316	rc.shutdown and rc will now call the rc.d scripts with start
317	or stop.  This may cause some harmless warnings from older
318	rc.d scripts that haven't been updated.
319
32020000630:
321	The libfetch based version of fetch has gone into the tree.
322	Minor problems may result on some of the less popular sites,
323	which should be reported to des@freebsd.org.
324
32520000625:
326	From approximately this date forward, one must have the crypto
327	system installed in order to build the system and kernel.
328	While not technically strictly true, one should treat it as
329	required and grab the crypto bits.  If you are grabbing CVS
330	trees, src-all and cvs-crypto should be treated as if they
331	were required.  You should check with the latest collections
332	to make sure that these haven't changed.
333
33420000624:
335	Mark Murray just committed the first parts of a cleanup of
336	/dev/zero, et al.  This is also cleaning up /dev/random.
337	The entropy is disconnected, so DO NOT USE VERSIONS OF FREEBSD
338	-CURRENT FROM THIS POINT FORWARD for cryptographic services
339	until Mark can merge in the fixes to this work in progress.
340	openssh and openssl should not be used to generate keys from this
341	date to the completion of the work.
342
343	If you must operate at this reduced level of security, add '
344	options RANDOMDEV' to your kernel or modload the randomdev
345	module.  You may also need to copy a new MAKEDEV to /dev and
346	recreate the random and urandom devices.
347
34820000622:
349	The license on the softupdates is now a standard 2 clause
350	BSD license.  You may need to remove your symbolic links
351	that used to be required when updating.
352
35320000621:
354	Scott Flatman <sf@aracnet.com> sent in a decent write-up on
355	the config file update procedure.
356		http://people.freebsd.org/~imp/config-upd.html
357	NOTE: LINT is gone.  It has been replaced with NOTES.  NOTES
358	isn't buildable.  However, you can generate a LINT file.
359
36020000620:
361	Binutils 2.10 have hit the tree, or will shortly.  As soon
362	as they do, the problem noted in 20000522 will be resolved and
363	that workaround will no longer be required.
364
36520000615:
366	phk removed the compatibility creation of wd devices in the
367	ad driver.  If you haven't done so already, you must update
368	your fstab, etc to use the ad devices instead of the wd
369	devices.
370
371	In addition, you'll need to update your boot blocks to a
372	more modern version, if you haven't already done so.  Modern
373	here means 4.0 release or newer (although older releases
374	may work).
375
37620000612:
377	Peter took an axe to config(8).  Be sure that you read his mail
378	on the topic before even thinking about updating.  You will
379	need to create a /boot/device.hints or add a hints directive
380	to your config file to compile them in statically.  The format
381	of the config file has changed as well.  Please see GENERIC or
382	NEWCARD for examples of the new format.
383
38420000522:
385	A new set of binutils went into the tree today.  Anybody
386	building a kernel after this point is advised that they need
387	to rebuild their binutils (or better yet do a
388	buildworld/installworld) before building a new kernel.
389
390	Due to bugs in binutils, using malloc options (eg /etc/malloc.conf
391	or MALLOC_OPTIONS env var) J will cause ld to dump core.  It
392	is recommended that you don't set this option until the problem
393	is resolved.
394
39520000513:
396	The ethernet drivers were all updated to clean up the BPF handling.
397
39820000510:
399	The problems with boot blocks on the alphas have been corrected.
400	This will require some care in updating alphas.  A new libstand
401	is requires for the boot blocks to build properly.
402
40320000503:
404	Recompile all kld modules.  Proper version dependency info
405	is now available.
406
40720000502:
408	Modules have been disconnected from the buildworld tree and 
409	connected to the kernel building instead.
410
41120000427:
412	You may need to build gperf
413		cd /usr/src/gnu/usr.bin/gperf && make depend all install
414	when upgrading from 4.0 -> current.  The build system now uses
415	an option only in -current.
416
41720000417:
418	The method that we brand ELF binaries has changed to be more
419	acceptable to the binutils maintainers.  You will need to
420	rebrand your ELF binaries that aren't native.  One problem
421	binary is the Linux ldconfig.  After your make world, but
422	before you reboot, you'll need to issue:
423		brandelf -t Linux /compat/linux/sbin/ldconfig
424	if you have Linux compatibility enabled on your machine.
425
42620000320:
427	If you have really bad/marginal IDE drives, you may find they
428	don't work well.  Use pio mode instead.  The easiest way to
429	cope if you have a problem combination is to add:
430		/sbin/sysctl -w hw.atamodes=pio,pio,pio,pio
431	to the start of /etc/rc.conf.
432
43320000319:
434	The ISA and PCI compatibility shims have been connected to the
435	options COMPAT_OLDISA and COMPAT_OLDPCI.  If you are using old
436	style PCI or ISA drivers (i.e. tx, voxware, etc.) you must
437	include the appropriate option in your kernel config.  Drivers
438	using the shims should be updated or they won't ship with
439	5.0-RELEASE, targeted for 2001.
440
44120000318:
442	We've entered the traditional post release dumping party.
443	Large kernel changes are being committed and are in the
444	works.  It is important to keep the systems' klds and kernel
445	in sync as kernel interfaces and structures are changing.
446	Before reporting kernel panics, make sure that all modules
447	that you are loading are up to date.
448
44920000315:
450	If you are upgrading from an older version of FreeBSD, you
451	need to update your boot blocks as well.  'disklabel -B ad0'
452	will do the trick.  This isn't critical until you remove your
453	wd device entries in /dev, at which point your system will not
454	boot.
455
45620000315:
457	4.0 RELEASE shipped.  Please see the 4.0 UPDATING file for how
458	to upgrade to 4.0 from 3.x.
459
460COMMON ITEMS:
461
462	General Notes
463	-------------
464	Avoid using make -j when upgrading.  From time to time in the
465	past there have been problems using -j with buildworld and/or
466	installworld.  This is especially true when upgrading between
467	"distant" versions (eg one that cross a major release boundary
468	or several minor releases, or when several months have passed
469	on the -current branch).
470
471	To build a kernel
472	-----------------
473	If you are updating from a prior version of FreeBSD (even one just
474	a few days old), you should follow this procedure. With a
475	/usr/obj tree with a fresh buildworld,
476	make buildkernel KERNCONF=YOUR_KERNEL_HERE
477	make installkernel KERNCONF=YOUR_KERNEL_HERE
478
479	To just build a kernel when you know that it won't mess you up
480	--------------------------------------------------------------
481	cd src/sys/{i386,alpha}/conf
482	config KERNEL_NAME_HERE			[1]
483	cd ../../compile/KERNEL_NAME_HERE
484	make depend
485	make
486	make install	
487	
488	[1] If in doubt, -r might help here.
489
490	If this fails, go to the "To build a kernel" section.
491
492	To rebuild everything and install it on the current system.
493	-----------------------------------------------------------
494	make world
495	Build a new kernel, see above.
496
497	To upgrade from 4.x-stable to current
498	-------------------------------------
499	make buildworld
500	make buildkernel KERNCONF=YOUR_KERNEL_HERE
501	cp src/sys/${MACHINE_ARCH}/GENERIC.hints /boot/device.hints [2]
502	make installkernel KERNCONF=YOUR_KERNEL_HERE
503	make installworld
504	[1]
505	<reboot>
506
507	Make sure that you've read the UPDATING file to understand the
508	tweaks to various things you need.  At this point in the life
509	cycle of current, things change often and you are on your own
510	to cope.  The defaults can also change, so please read ALL of
511	the UPDATING entries.
512
513	Also, if you are tracking -current, you must be subscribed to
514	freebsd-current@freebsd.org.  Make sure that before you update
515	your sources that you have read and understood all the recent
516	messages there.  If in doubt, please track -stable which has
517	much fewer pitfalls.
518
519	[1] If you have third party modules, such as vmware, you
520	should disable them at this point so they don't crash your
521	system on reboot.
522
523	[2] If you have legacy ISA devices, you may need to create
524	your own device.hints to reflect your unique hardware
525	configuration.
526
527FORMAT:
528
529This file contains a list, in reverse chronological order, of major
530breakages in tracking -current.  Not all things will be listed here,
531and it only starts on March 15, 2000.  Updating files can found in
532previous releases if your system is older than this.
533
534Please filter your entries through Warner Losh (imp@village.org) so
535that the style, formatting, etc of this file can be maintained.
536
537$FreeBSD: head/UPDATING 71365 2001-01-22 08:03:13Z imp $
538