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