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