UPDATING revision 57787
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
820000303:
9	CMSG_XXX macros offset in <sys/socket.h> has changed to
10	conform RFC-2292.  All affected applications have been
11	corrected.  The i386 platform's offsets haven't changed, but
12	the alpha's did.  When you build and install new kernel on
13	FreeBSD/alpha, you must also do a make world.
14
1520000225:
16	OpenSSH has been added to FreeBSD.  This may conflict with the
17	ports/security/ssh port since it installs binaries into
18	/usr/bin and the port goes into /usr/local/bin.  Most paths
19	have /usr/bin in the path before /usr/local/bin, so problems
20	may arise.  If you don't want OpenSSH, add NO_OPENSSH=yes to
21	your make.conf.
22
23	You will also need to enable OpenSSH in /etc/rc.conf if you
24	want to run the new servers.  You may need to move your host
25	key and other config files from /usr/local/etc to /etc/ssh.
26
27	OpenSSH's command line parsing, available options and default
28	settings aren't the same as ssh, so some care needs to be
29	taken in its operation.  One should do a full audit of all
30	configuration settings.
31
3220000205:
33	The xinstall problem has kinda sorta been corrected.  The 
34	following is known to work by the author of UPDATING.  It
35	is what he did to update his laptop.  It is likely the same
36	effect as the work around listed in 20000129.
37		make buildworld
38		make installworld	This will fail
39		cd usr.bin/xinstall
40		make clean all install NOSHARED=YES
41		cd ../..
42		make installworld
43	If it doesn't work for you, then I'm sure that there will be
44	another 100 messages in -current.
45
4620000204:
47	libipsec version number changed from 2 to 0.  The original
48	commit of Jan 6 incorrectly set this to 2.  Remove
49	/usr/lib/libipsec.so.2* before the buildworld and rebuild
50	anything that uses libipsec.so after you install the new
51	version.
52
5320000201:
54	The rcmd related functions have been aligned with other BSD
55	implementations.  rlogind and rshd have been changed to use
56	the new API.  A make world is recommended to keep them in sync
57	with the libraries they use.
58
59	http://www.FreeBSD.org/cgi/cvsweb.cgi/src/lib/libc/net/rcmd.c
60	has the details.
61
6220000129:
63	{set,get}flags have been added to the tree for rather dubious
64	reasons.
65
66	IF AND ONLY IF installworld fails:
67		make -k -DNOFSCHG installworld
68		make installworld
69	This issue was resolved Feb 5, 2000.
70
7120000125:
72	rcmd_af() is added for multiple address family support.  rsh
73	and rlogin have been updated to use this to support INET6.  A
74	make world is recommended to keep them in sync with the
75	libraries they use.
76
7720000124:
78	The default way that virtual tables in our default C++
79	compiler has changed.  We used to use THUNKS for virtual
80	inheritance.  Unfortunately there are bugs that The GCC
81	developers thought would be fixed in GCC 2.95.  However it
82	isn't.
83
84	After this change existing applications written in C++ may
85	give errors like below when you try to run them:
86
87/usr/libexec/ld-elf.so.1: /usr/lib/libstdc++.so.3: Undefined symbol "__vt_7filebuf"
88
89	The only fix is to rebuild the application and any C++
90	libraries used.
91
9220000124:
93	The management of next_writeable has been move from the
94	kernel to userspace. This means that the burncd command
95	must be in sync with the kernel. So make world is your
96	friend.
97
9820000117:
99	GNU texinfo upgraded to 4.0.  It is recommended that you use
100	make buildworld to update.
101
10220000117:
103	CAM_VERSION has been increased.  Recompile all programs that
104	depend on it (tosha, camcontrol, etc) when moving to kernels
105	past this date.
106
10720000115:
108	pccard ioctls changed with a commit to have the kernel tell
109	pccardd which device it created, rather than having pccardd
110	dictate it to the kernel.  Recompile kernel and
111	pccardd/pccardc together.  pccardd/pccardc rely on a kernel
112	Makefile that must be installed prior to building them.  Make
113	world will automatically take care of this issue, but you need
114	to know if you are building by hand.
115
11620000109:
117	Your kernel config files need to be changed to s/controller/device/
118	in them.  You will need a new version of config to do this.
119
12020000107:
121	chown & chgrp moved again
122
123	This is a heads up to let you know that you need to 
124		    rm -f /sbin/chown /bin/chgrp
125	after your next `make world'.  Additionally you need to install
126	a new /dev/MAKEDEV (mergemaster(8) will assist you in this).
127
12820000107:
129	SHA-1 password support gone
130
131	As warned yesterday, I've just removed the ability for
132	libcrypt to understand SHA-1 passwords. This was present but
133	undocumented in the tree for the past few months and was
134	removed so it can be reimplemented properly as part of a
135	revamped libcrypt at a later date. Anyone who was actually
136	making use of the feature will have to update their passwords
137	back to MD5 before they reinstall the library.
138
13920000106:
140	ioctl numbers changed for dvdio ioctls.  You will need to recompile
141	anything that uses them.  wormcontrol has been deprecated in
142	favor of burncd.
143
14419991223:
145	Building linux and svr4 compatibility into the kernel now
146	requires /usr/bin/genassym.  Go to /usr/src/usr.bin/genassym,
147	do "make obj ; make clean depend all install" before building
148	your kernel.
149
15019991218:
151	sendmail.cf has moved from /etc/sendmail.cf to
152	/etc/mail/sendmail.cf.  You may need to adjust /etc/rc.conf
153	and /etc/rc to cope as well as moving sendmail.cf.
154
15519991216:
156	ntp 4.0.98 has replaced the ancient xntpd.  The daemon name
157	changed from xntpd to ntpd, so you may need to update your
158	/etc/rc.conf file.  The ntp.conf files are compatible with the
159	old release, unless you are using a local reference clock.
160	Details about ntp4 can be found at http://www.ntp.org/.
161
162	xntpd will be cvs removed from the repo in about a week.
163
16419991213:
165	Soren updated the ata driver.  Please update to at least this
166	version before submitting bug reports.
167
16819991210:
169	The ata driver has become the primary ata/ide/atapi driver in
170	the kernel.  The wd driver is obsolete.  You should upgrade your
171	machine to the new ata driver.  You will need to follow the
172	directions for updating the devices in the 19991205 entry.  You
173	will need to update all occurances of wd to ad in your config files
174	(/etc/rc.conf, /etc/fstab, etc).  A compatibility device exists
175	for wd for the time being, but once you have determined that
176	ata is working for you, transition to the new ad devices.
177
17819991205:
179	Block devices are going away.  You will need to update your /dev
180	tree with a fresh copy of MAKEDEV for things to always work in 
181	the future.  fsck is unable to cope with dirty file systems
182	after this change, so it may work for you or it may not.
183
184	See "To rebuild disk /dev entries" at the end of the file.
185
186	*** All uses of block devices must be converted to char devices.
187	*** Likely the only thing impacted is dumpdev in /etc/rc.conf
188
18919991204:
190	The dc interface has replaced al, ax, dm, pn and mx.  The former
191	have been removed.
192
19319991204:
194	Support for the old 'sd' device names has been removed in
195	favor of 'da'.  Please update your /etc/fstab, /etc/rc.conf
196	and any other places you might have sd names cached.
197	Generally these changes are as simple as s=/dev/sd=/dev/da=g,
198	but be careful to make sure that things are really that
199	simple.  You may also need to create /dev entries for the da
200	devices as well.
201
202	See "To rebuild disk /dev entries" at the end of the file.
203
20419991203:
205	BAD144 support has been removed.  Cope or replace the hardware.
206
20719991129:
208	ALPHA users take note.  All klds will need to be recompiled for
209	kernels build after this date.  It is a good time to update since
210	pal.s will be going away soon.
211
21219991126:
213	MFS_ROOT and MFS_ROOT_SIZE are gone, replaced by MD_ROOT and
214	MD_ROOT_SIZE options in the md driver.  md driver now deals with
215	the hacks.  You should add md driver to kerneles that have
216	MFS_ROOT, et al.  See GENERIC or LINT for details.
217
21819991125:
219	The ep changed a while ago and can no longer be used with hard
220	wired addresses in the config file.
221
22219991122:
223	The bridge drivers for sound cards have been committed.  Please
224	see LINT for instructions for your card, if it still works at
225	all.
226
22719991113:
228	Gcc 2.95.2 is now the default compiler.
229
23019991030:
231	/etc/radius.conf file format has changed.The format change is
232	as follows.  Each server line in the file should now begin
233	with a new field containing either "auth" for RADIUS
234	authentication, or "acct" for RADIUS accounting.  Formerly
235	only authentication was supported.  If the first field isn't
236	"auth" or "acct" then the code assumes that "auth" is
237	intended.  (That's the compatibility hack.)
238
23919991015:
240	PCCARD has been updated to attach pcic to the isa bus.  Therefore
241	you will need to modify kernel config files that have pcic/card
242	in them as follows:
243		controller	pcic0	at isa?
244		controller	pcic1	at isa?
245		controller	card0
246
24719990929:
248	The sigset_t datatype has been changed from an integral type
249	to a compound type and can hold 128 signals. Syscalls directly
250	or indirectly using the new sigset_t have been added as to
251	maintain compatibility with existing binaries. A new kernel must
252	be made and installed and booted with before a make world can
253	be done.
254
255	***************************************************************
256		RECOMPILE AND REINSTALL KERNEL BEFORE MAKEWORLD
257	***************************************************************
258
25919990919:
260	New jail syscall format requires recompilation of jail(8) with
261	fresh headers installed (or a make world will do it for you).
262
26319990914:
264	Matt Dillon checked in many vm related things and sent a heads up
265	to -current urging caution and to report vm problems to him.
266	As of the 19th, no killer problems have been reported, but you
267	have been warned.
268
26919990908:
270	The new miibus has been added to the system.  If you are using
271	the dm, rl, sf, sis, ste, tl, wb or xl drivers, you need to
272	add "controller miibus0" to your config file.
273
27419990905:
275	/var/cron/log has been moved to /var/log/cron to get all the
276	log files in one place.
277
27819990831:
279	tn3270 has been removed from the base system and added as a port.
280
28119990830:
282	User-visible TCP timers are now expressed in units of 1ms, instead
283	of 500ms, so if you've customized any timer values under
284	``net.inet.tcp'', multiply them by 500 to preserve TCP's behavior.
285
28619990828:
287	RCS Id tags changed to FreeBSD.  This will cause huge cvsup
288	updates.
289
29019990821:
291	On 28-May-1999 libreadline was upgraded from readline-2.2 to
292	readline-4.0.  At that time the shared library major version
293	number was bumped from "3" to "4".  It has been deemed that
294	the interface change between readline-2.2 and readline-4.0 was
295	not sufficient to warrant the version number bump.
296
297	Thus I have reverted it back to "3".  You will need to perform
298	the below immediately before your next ``make world'':
299	    cd /usr/lib
300	    ls -l libreadline.so.4
301	        (if you have /usr/lib/libreadline.so.4)
302	    mv libreadline.so.4 libreadline.so.3
303	    rm -f libreadline.so
304	    ln -s libreadline.so.3 libreadline.so
305
30619990801:
307	Changes to the pccardd kernel interface require that you recompile
308	pccardd for new kernel.
309
31019980725:
311	The ipfw interface to the kernel has changed.  You will need to
312	recompile ipfw programs for the new kernel.
313
31419990715:
315	The bpfilter device has been renamed to bpf.  You will need to 
316	change your config files in order to enable this in newer kernels.
317
31819990704:
319	src/contrib/sys/softupdates is moving to
320	src/sys/contrib/softupdates.  Update your symbolic links/etc.
321
32219990702:
323	Major changes have been made to vinum and its interface.  See
324	the man page (vinum(8)) for details.  Look at the concat,
325	mirror and stripe commands, as well as the SIMPLIFIED
326	CONFIGURATION section.
327
32819990628:
329	Newsyslog.conf has had a minor, but potentially dangerous,
330	change to its username/group syntax.  The old syntax was
331	user.group, while the new syntax is user:group.
332
33319990627:
334	Inetd wrapping default has changed.  Please see the updated
335	man page for details.
336
33719990623:
338	Compaq Smart Raid driver committed as ida.
339
34019990622:
341	The second phase of syscons cleanup has happened.  Some
342	functionality has been made optional.  For details, see
343        http://www.freebsd.org/~yokota/sc_update-June.txt
344	Everyone will need to re-config(8) their kernels, but old
345	binaries will work with the new kernel.
346
34719990620:
348	IPFW uid/gid-based filtering support has been committed. This
349	breaks binary compatibility with previous copies of
350	ipfw(8). Any utilities using the ioctl()s of ipfw (especially
351	ipfw(8)) need to be recompiled with the newest headers
352	installed.
353
35419990618:
355	Inetd now wraps all stream-based services, including internals.
356	Syslog "severity" options are honoured. Installed syslog.conf
357	and hosts.allow should be checked.
358
35919990509:
360	Most of the problems with newbus have been corrected, but
361	it is still current and evolving.
362
363	libcam's ABI has changed.  You must recompile the world and
364	any ports that use it.
365
36619990427:
367	Massive changes to SMP went into the tree that should speed
368	things up.  However, if you experience problems with SMP 
369	machines, you can back off to the PRE_SMP_VMSHARE tag in the
370	CVS repository (or run an MP kernel).
371
37219990420:
373	Pccardd and the pccard bus in general seem to be broken or
374	most people.  Soren has patches to make it better for some,
375	but not all people.  Work is underway to make it better for
376	all people.
377
37819990416:
379	new bus changes integrated into -current.  Many problems were
380	initially reported, but most have been fixed.  You'll need a
381	new config and to tweak your kernel config file the way that
382	GENERIC was tweaked.  Keep a copy of your old kernel when
383	upgrading in case your new kernel doesn't work (and report the
384	breakage to current@freebsd.org).
385
386	As of 19990421 the remaining problems/quirks are
387
388	o sio no longer supports pnp nor pccard.  This will be corrected,
389	  but the new pccard code needs to be completed.
390	o Some of the sound drivers broke for some people.  It seems
391	  inconsistant as to who/what/when/where things broke.
392	o Duplicate device entries in your config do not work.  Previously
393	  they were silently ignored.  psm0 seems to be the most common
394	  duplicate choice, although some reports have come in from people
395	  that wired their scsi disk entries.
396	o You must move the keyboard and mouse attachments from the
397	  isa bus to the atkbdc bus.  See GENERIC for details.
398	o Machines with multiple host-pci bridges (Intel 450NX) will not
399	  probe the second pci bus.
400	o Some probe ordering may have changed, so device naming may change
401	  with the new kernel.  If you have multiple devices, please double
402	  check to make sure they didn't move.  This is especially true
403	  for cards on different buses.
404	o The bus attachment for vga0 is always isa0 and never pci0 when
405	  it is in fact a pci card.  It is safe to ignore this.
406	o The format of the boot messages has changed (and is not
407	  guaranteed to be constant for a while) so you may see this
408	  in some shell scripts that diff dmesg from day to day as well
409	  as scripts that parse dmesg output.
410
41119990414:
412	cc -aout sometimes has problems compiling with -g, remove -g
413	from those compilation units affected until this is corrected.
414
415	cc -aout has problems with producing some threaded libraries,
416	so make world -DWANT_AOUT is not functional at this time.
417
418	Since make world for a.out isn't functional, you cannot do
419	make aout-to-elf from a pre-egcs a.out system.  To work around
420	this problem, make aout-to-elf using 3.1-stable first (or a
421	pre egcs -current) and then a simple make world will take you
422	the rest of the way with a -current source base.
423
42419990413:
425	Make -j works again for make world.  As always, use it with
426	care, and be sure to try a make world w/o -j before reporting
427	problems (that is, know if the problem exists w/o -j before
428	reporting the problem with -j).
429
43019990413:
431	Note cc -aout, which had been broken since the conversion to
432	egcs, now supposedly works.  If you have rebuilt things like
433	XFree86 a.out libraries, you should rebuild them again or
434	progams that use them, including netscape, will fail to work.
435
43619990409:
437	NOTE: New c++ compiler cannot be used with c++ binaries from
438	the old compiler and vice versa.
439
44019990408:
441	In recent days egcs has been imported into the tree.  A number
442	of problems have been discussed in -current.  Here is a highlight
443	of a few of the more common ones.  With the exception of make
444	-j n, they have been claimed to have been fixed.
445
446	c++ is broken after make world: This is correct.  Because we
447	changed compilers two make worlds are necessary to get C++
448	working again.  The code generated by the old compiler and new
449	compiler are not compatible, so things wind up being
450	undefined.
451
452	cpp is broken in make world:  There was a window where cpp
453	would be built incorrectly.  The fix for this is
454		cd src/gnu/usr.bin/cc
455		make clean
456		make all
457		make install
458	and this should correct your problems.  See the -current
459	archives for a version of this that does moer cleaning.
460
461	Make -j n doesn't work.  Work contiunes to make this work,
462	I've seen no reports of success as of April 7th.
463
46419990329:
465	Previously, one would define "NOAOUT" to keep from building
466	the legacy a.out bits.  Now one would define "WANT_AOUT" to
467	build them.
468
46919990316:
470	The name of the old wd.c and atapi.c based CDROM driver has
471	been changed back to wcd. So update your config file to use
472	"device wcd" instead of "device acd".
473
47419990314:
475	For those of you using the VN device as a loadable module,
476	please be aware that the new VN device has been committed to
477	-4.x and cannot yet be used as a loadable module.  This will
478	be fixed in the future.
479	
48019990309:
481	New loader.rc mechanism.  Please see src/sys/boot/README for
482	details.
483
48419990225:
485	struct proc size changed.  Recompile kernel and the
486	usual suspects.  Make world if in doubt.
487
48819990214:
489	The nlpt driver has changed names back to be the lpt driver.
490	See ppbus(4) or http://www.freebsd.org/~nsouch/ppbus.html
491	for proper configuration details.
492
49319990210:
494	The 'lpt' driver is now obsolete.  Replace it with the 'nlpt'
495	driver and 'ppbus' controller combination.
496
49719990209:
498	New devstat API requires recompilation of libdevstat, systat,
499	iostat, vmstat and rpc.rstatd.  A new kernel is also required.
500	make world + building a kernel should do all of this.  Any
501	ports that use devstat need to be recompiled as well.
502
50319990125:
504	Linux threads options has gone away (they are now standard in
505	the FreeBSD kernel).  A recompile of all libkvm using programs
506	is in order (or better yet a make world).
507
50819990122:
509	On or about this date there was a small window when the boot
510	blocks had some minor problems which seemed to force one to
511	edit /etc/fstab.  This has been corrected, if you are seeing this
512	problem, please rebuild and reinstall your boot blocks.
513
51419990121:
515	Vinum has changed.  The "vinum read" command has changed.  For
516	updates, please see
517
518http://www.freebsd.org/cgi/getmsg.cgi?fetch=800363+0+current/freebsd-current
519
520	for details.  
521
522	Matt Dillon committed a boatload of VM changes, for
523	information please see
524
525http://www.freebsd.org/cgi/getmsg.cgi?fetch=886676+0+current/freebsd-current
526	or
527http://www.freebsd.org/cgi/getmsg.cgi?fetch=827400+0+current/freebsd-current
528
529	for details.  These changes will likely not impact anybody,
530	but large chagnes to the VM need at least a heads up.
531
53219990120:
533	Stable branch created.  You might want to consider using this
534	branch.  It is tagged with RELENG_3.
535
53619990119:
537	More work on the syscons driver has been committed.  Since
538	files moved around, you will need to reconfigure your kernel,
539	and make clean; make depend before rebuilding the kernel.  No
540	config file changes are needed.
541
54219990111:
543	New keyboard and video card drivers are introduced as the first
544	stage of console driver reorganization.  You are required to
545	update the kernel configuration file and rebuild the kernel.
546	kbdcontrol, vidcontrol, and screen savers also need recompilation.
547	The instruction can be found in
548
549		http://www.freebsd.org/~yokota/sc_update.txt
550
551	It has notes on splash screen too.
552
55319990106:
554	Robert Nordier was kind enough to make this page to enable people to
555	install the new bootblocks:
556
557		http://www.freebsd.org/~rnordier/boot.txt
558
559	When updating to ELF, make sure that you have updated your
560	/etc/rc files which have different ldconfig invocations for
561	elf and aout.  Otherwise things like X will stop working with
562	messages about being unable to find library files.  The
563	mergemaster utility in ports/sysutils/mergemaster helps to
564	keep critical files like this in sync, and its use is
565	recommended.
566
56719990104:
568	Information about ELF day (see 19981230) can be found in
569
570		http://www.freebsd.org/~peter/elfday.html
571
572	about the upcoming change, its motivations and instructions
573	for doing the upgrade.
574
57519981230:
576	You should install new bootblocks now.  The ELF kernel will
577	become default soon.  In addition, you'll need to upgrade
578	your userland programs to ELF before then as well.  Use
579	make aout-to-elf to upgrade your userland programs (old
580	a.out programs in, for example, /usr/local/bin will
581	continue to work, even after the upgrade).  See src/Makefile
582	for more details.
583
58419981224:
585	The old wcd driver has been deleted from the kernel.  The
586	driver that replaces it is named acd.  You'll need to change
587	this in your configuration files.
588
589	Failure to do this will result in "ATAPI CD-ROMs not
590	configured" at boot time.
591
592	The floppy tape driver (ft) has been removed from the kernel,
593	with no replacement driver.
594
59519981202:
596	New groups from 19981201 commented out of mtree, so they
597	aren't strictly needed, but still a good idea to have.
598
59919981201:
600	New user/group added: bind.  From src/etc/master.passwd and
601	src/etc/group:
602		% grep <newstuff> /usr/src/etc/group 
603		bind:*:53:
604		% grep <newstuff> /usr/src/etc/master.passwd 
605		tty:*:4:65533::0:0:Tty Sandbox:/:/sbin/nologin
606		kmem:*:5:65533::0:0:KMem Sandbox:/:/sbin/nologin
607		bind:*:53:53::0:0:Bind Sandbox:/:/sbin/nologin
608
60919981118:
610	PAM integrated into the tree.   Requires new /etc/pam.conf file
611	to silence warnings from authentication programs (login, etc).
612	See src/etc/pam.conf for a sample.
613
614COMMON ITEMS:
615
616	To build a kernel
617	-----------------
618	Update config, genassym and go:
619		cd src/usr.bin/genassym
620		make depend all install clean
621		cd ../../usr.sbin/config
622		make depend all install clean
623		cd ../../sys/i386/conf
624		config YOUR_KERNEL_HERE
625		cd ../../compile/YOUR_KERNEL_HERE
626		make depend && make
627		make install
628
629	To rebuild disk /dev entries
630	----------------------------
631
632	MAKEDEV should be copied from src/etc/MAKEDEV to /dev before
633	starting the following:
634
635		For N in the list of disks
636			MAKEDEV N			# eg ad0
637			for M in the list of slices
638				MAKEDEV NsMa		# eg ad0s1a
639
640
641	To rebuild everything
642	---------------------
643	make world
644
645	Except when it doesn't work.
646
647	To update from 3.x to 4.0 stable
648	--------------------------------
649	cd /usr/src
650	make buildworld
651	cd sbin/mknod
652	make install
653	<follow directions to build/install a kernel>
654	<follow rebuild disk /dev entries above>	[*]
655	reboot
656	<in single user>
657	cd /usr/src
658	make -DNOINFO installworld
659	make installworld
660
661	[*] You may need to switch from wd to ad ala 19991210
662
663
664FORMAT:
665
666This file contains a list, in reverse chronologocal order, of major
667breakages in tracking -current.  Not all things will be listed here,
668and it only starts on November 18, 1998.  If you have an earlier
669version of FreeBSD, you are on your own to get to November 18, 1998.
670
671Please filter your entries through Warner Losh (imp@village.org) so
672that the style, formatting, etc of this file can be maintained.
673
674$FreeBSD: head/UPDATING 57787 2000-03-07 04:35:24Z imp $
675