Based on work by Vivek Prakash and Gianluca Guida. See UPDATING about caveats on currently existing accounts. . restores netbsd libc pwcache functions
		
			
				
	
	
		
			311 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			311 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
20111109:
 | 
						|
	Switch to NetBSD passwd system.
 | 
						|
 | 
						|
	You have to bootstrap pwd_mkdb:
 | 
						|
	# make clean includes elf-libraries
 | 
						|
	# make -C usr.sbin/pwd_mkdb install
 | 
						|
 | 
						|
	Now build world.  WARNING: this will blind your system to
 | 
						|
	/etc/shadow, making current user accounts vanish. Updating the
 | 
						|
	group file is necessary to add a 'users' group so the new stock
 | 
						|
	useradd will work.
 | 
						|
 | 
						|
	# make clean world
 | 
						|
	# cp etc/group /etc/group
 | 
						|
 | 
						|
	The new shadow file is /etc/master.passwd.  Add your old user
 | 
						|
	accounts back with useradd(8), groups with groupadd(8), and
 | 
						|
	set a root pw with passwd(1) if you want.  Use vipw(8) to edit
 | 
						|
	/etc/master.passwd if you want. See useradd(8) to get started
 | 
						|
	with the new pw format. Test your new system now by logging in.
 | 
						|
 | 
						|
	Once you're satisfied your new system works, remove the old
 | 
						|
	adduser, and rely exclusively on the new useradd and
 | 
						|
	master.passwd.
 | 
						|
	# rm /usr/bin/adduser
 | 
						|
	# mv /etc/shadow /etc/shadow.orig
 | 
						|
 | 
						|
	pwdauth is updated so that current binaries (e.g. sshd) will
 | 
						|
	work with the new pw db.
 | 
						|
 | 
						|
	By default your new users are in the 'users' group. Add yourself
 | 
						|
	to the 'operator' group if you want to be able to su without
 | 
						|
	typing in the password.
 | 
						|
 | 
						|
20111109:
 | 
						|
	fstab format change. /etc/rc reads both formats for a while.
 | 
						|
	Please convert your /etc/fstab to the new format though as
 | 
						|
	the system will assume the new format in the future.
 | 
						|
 | 
						|
	A helper script is in etc/. Example:
 | 
						|
	# sh etc/newfstab.sh /etc/fstab >newfstab
 | 
						|
	(Don't redirect to /etc/fstab directly as the shell will
 | 
						|
	truncate it before it can be read.)
 | 
						|
 | 
						|
20110928:
 | 
						|
	Update your /usr/etc/daily and /etc/man.conf if you
 | 
						|
	want to fully enjoy the manpage fixes.
 | 
						|
 | 
						|
20110817:
 | 
						|
	To use the new asynchronous version of VFS do:
 | 
						|
	# BUILDAVFS=yes make cleandepend world
 | 
						|
 | 
						|
	To switch back to the normal VFS do:
 | 
						|
	# make cleandepend world
 | 
						|
 | 
						|
	By default the old VFS and PFS are built and included in the boot
 | 
						|
	image. AVFS is a work in progress and not yet mature. Use at your own
 | 
						|
	risk.
 | 
						|
20110722:
 | 
						|
	To install the new mkdep:
 | 
						|
	# cp /usr/bin/mkdep /usr/bin/ackmkdep
 | 
						|
	# make elf-libraries
 | 
						|
	# cd usr.bin/mkdep
 | 
						|
	# touch findcc.d mkdep.d .depend
 | 
						|
	# make install
 | 
						|
 | 
						|
20110716:
 | 
						|
	To install libterminfo and terminfo database, you need 
 | 
						|
	the new stat:
 | 
						|
	# cd /usr/src/usr.bin/stat
 | 
						|
	# make clean install
 | 
						|
 | 
						|
	You must create a directory /usr/share/terminfo for terminfo database
 | 
						|
	to be installed. 
 | 
						|
	# make -C etc install
 | 
						|
 | 
						|
	Then make clean world as normal.
 | 
						|
 | 
						|
20110708
 | 
						|
        * VFS and installed MFSes must be in sync before and after this change *
 | 
						|
 | 
						|
	You must update the GNU headers.
 | 
						|
	# cd /usr/src
 | 
						|
	# make gnu-includes
 | 
						|
 | 
						|
	You must rebuild both MFS and VFS (including those one in the image).
 | 
						|
	Either make world or do the following:
 | 
						|
	# cd /usr/src/servers/mfs
 | 
						|
	# make install
 | 
						|
	# cd /usr/src/servers/vfs
 | 
						|
	# make install
 | 
						|
	# cd /usr/src/tools
 | 
						|
	# make hdboot
 | 
						|
	# shutdown -r now
 | 
						|
 | 
						|
20110701:
 | 
						|
	# rm -rf /usr/include /usr/netbsd
 | 
						|
	# make etcfiles includes cleandepend depend gnu-includes
 | 
						|
 | 
						|
        DOWNGRADING:
 | 
						|
	  Important: this automatically updates your /usr/lib/descr,
 | 
						|
	  something you will have to revert manually if you
 | 
						|
	  want to go back a revision! Previous to this
 | 
						|
	  revision, you do this by:
 | 
						|
	  # cp commands/acd/acd.descr /usr/lib/descr
 | 
						|
	  Repeating the above commands to make sure your /usr/include
 | 
						|
	  is re-acked is probably a good idea too for going back revisions.
 | 
						|
 | 
						|
	This change moves 
 | 
						|
		1. /usr/include to /usr/include.ack
 | 
						|
		2. /usr/netbsd/include to /usr/include
 | 
						|
 | 
						|
	Reduce compiler cases to only two:
 | 
						|
		1. ack, a.out, minix headers (moved to /usr/include.ack),
 | 
						|
		   minix libc
 | 
						|
		2. gcc/clang, elf, netbsd headers (moved to /usr/include),
 | 
						|
		   netbsd libc (moved to /usr/lib)
 | 
						|
 | 
						|
	So this obsoletes the /usr/netbsd hierarchy.
 | 
						|
 | 
						|
	There are no specific UPDATING instructions, but you should know
 | 
						|
	that starting with this version, gcc/clang use the netbsd libc and
 | 
						|
	headers system exclusively, and those files are in the standard
 | 
						|
	locations now. It's the first step to switching completely and
 | 
						|
	simplifying building.
 | 
						|
 | 
						|
20110629:
 | 
						|
	Rebuild m4:
 | 
						|
	make -C usr.bin/m4 install
 | 
						|
 | 
						|
20110629:
 | 
						|
	You must install clang. By default, it is used to build the
 | 
						|
	elf libraries and some userland utilities.
 | 
						|
 | 
						|
20110628:
 | 
						|
	Since buildworld will also build the elf-libraries, you
 | 
						|
	must follow the process in
 | 
						|
	http://wiki.minix3.org/en/UsersGuide/ELFSwitch
 | 
						|
 | 
						|
20110624:
 | 
						|
	(Next release bumped to MINIX 3.2.0.)
 | 
						|
	ELF support in the base system. /usr/lib libraries
 | 
						|
	will be in ELF format once you upgrade.
 | 
						|
	These were know as 'gcc format', but now more properly refered
 | 
						|
	to as 'elf format,' as they are shared between gcc and clang.
 | 
						|
	To start producing ELF, please see:
 | 
						|
	http://wiki.minix3.org/en/UsersGuide/ELFSwitch
 | 
						|
 | 
						|
        To create the /usr/netbsd hierarchy:
 | 
						|
	# cd /usr/src
 | 
						|
	# umount /proc
 | 
						|
	# make etcfiles
 | 
						|
	# mount -e -t procfs none /proc
 | 
						|
 | 
						|
20110225:
 | 
						|
	Create ddekit include dirs:
 | 
						|
	mkdir -p /usr/include/ddekit/minix
 | 
						|
 | 
						|
20100921:
 | 
						|
	gcc format libraries are created in /usr/lib now, 
 | 
						|
	so throw out /usr/gnu/lib/ if you want to make sure you
 | 
						|
	don't pick up the old ones.
 | 
						|
	(with pkgsrc and this, all of /usr/gnu is obsolete now.)
 | 
						|
 | 
						|
20100914:
 | 
						|
	mkdir /proc
 | 
						|
	chmod 555 /proc
 | 
						|
 | 
						|
20100827:
 | 
						|
	From now on, the rc scripts, recovery scripts and system.conf in /etc
 | 
						|
	and /usr/etc are updated automatically by make world. If you want to
 | 
						|
	change them, do so in the source tree. If you make changes to your
 | 
						|
	settings in /etc and /usr/etc, merge them into the the source tree
 | 
						|
	before issuing a make world.
 | 
						|
 | 
						|
20100805:
 | 
						|
	mkfs and fsck have been renamed to mkfs.mfs and fsck.mfs, respectively.
 | 
						|
	Moreover, they have been moved to /sbin, which is by default not in
 | 
						|
	PATH. Edit your .ashrc (or equivalent) to also include /sbin in PATH.
 | 
						|
	Also, first issue a 'make commands' before building world.
 | 
						|
 | 
						|
20100802:
 | 
						|
	/usr/src/etc/system.conf updated to include ext2 file server: copy it
 | 
						|
	(or merge it) to /etc/system.conf.
 | 
						|
 | 
						|
20100719:
 | 
						|
	If you installed using a 3.1.6 image (or earlier) and haven't updated 
 | 
						|
	the boot monitor since r6246 you need to do so now:
 | 
						|
	cd /usr/src/boot; make install; sh updateboot.sh
 | 
						|
 | 
						|
20100714:
 | 
						|
	mknod /dev/uds c 18 0
 | 
						|
	chmod 666 /dev/uds
 | 
						|
 | 
						|
20100713:
 | 
						|
        /usr/src/etc/rc updated: copy it (or merge it) to /etc/rc.
 | 
						|
        /usr/src/etc/system.conf updated to include boot sys services: copy
 | 
						|
        it (or merge it) to /etc/system.conf.
 | 
						|
        *** WARNING ***: this change breaks binary compatibility with
 | 
						|
        old images. Use only newly compiled images (make clean world
 | 
						|
        the first time) or download and install the latest ISO.
 | 
						|
20100705:
 | 
						|
        /usr/src/etc/usr/rc updated: copy it (or merge it) to /usr/etc/rc.
 | 
						|
        /usr/src/etc/rc updated: copy it (or merge it) to /etc/rc.
 | 
						|
        Perform some cleanup (optional):
 | 
						|
        # rm -f /sbin/tty /sbin/log
 | 
						|
20100630:
 | 
						|
	protocol change between service and rs: be sure to compile commands
 | 
						|
	together with the system image and don't use the new userspace with
 | 
						|
	an old image (or vice versa); it is recommended to replace
 | 
						|
	/boot/image_big with the newly compiled image to keep option 1 in the
 | 
						|
	boot menu working.
 | 
						|
20100625:
 | 
						|
	/etc/mk has been moved to /usr/share/mk. You will need to
 | 
						|
	create /usr/share/mk manually.
 | 
						|
	# cp -r /usr/src/share/mk /usr/share/
 | 
						|
	# cd /usr/src; make -m /usr/share/mk world
 | 
						|
20100515:
 | 
						|
        /usr/src/etc/usr/rc updated: copy it (or merge it) to /usr/etc/rc.
 | 
						|
	/etc/inet.conf is now line-based; if you have hand-edited this file
 | 
						|
	before, then make sure that you do not have configurations in there
 | 
						|
	that span multiple lines.
 | 
						|
20100512:
 | 
						|
        yacc and lex updated
 | 
						|
	# make includes
 | 
						|
	# cd commands/yacc
 | 
						|
	# make depend all install
 | 
						|
	# cd commands/lex
 | 
						|
	# LEX=flex make depend all install
 | 
						|
20100506:
 | 
						|
        /usr/src/etc/usr/rc updated: copy it (or merge it) to /usr/etc/rc.
 | 
						|
20100410:
 | 
						|
        /usr/src/etc/usr/rc updated: copy it (or merge it) to /usr/etc/rc.
 | 
						|
        /usr/src/etc/rc updated: copy it (or merge it) to /etc/rc.
 | 
						|
20100408:
 | 
						|
        /usr/src/etc/usr/rc updated: copy it (or merge it) to /usr/etc/rc.
 | 
						|
20100318:
 | 
						|
        Gas2ack updates: Run 'make install' in commands/i386/gas2ack
 | 
						|
20100317:
 | 
						|
        /usr/src/etc/system.conf updated to ignore default kernel calls: copy
 | 
						|
        it (or merge it) to /etc/system.conf.
 | 
						|
        The hello driver (/dev/hello) added to the distribution:
 | 
						|
        # cd /usr/src/commands/scripts && make clean install
 | 
						|
        # cd /dev && MAKEDEV hello
 | 
						|
20100316:
 | 
						|
        /usr/man/man9 is required
 | 
						|
	# mkdir /usr/man/man9
 | 
						|
20100308:
 | 
						|
        Include directory reorganization:
 | 
						|
        # mv /usr/include/ibm /usr/include/i386
 | 
						|
        # ln -s /usr/include/i386 /usr/include/machine
 | 
						|
        Install(1) updates:
 | 
						|
        # cd commands/simple && make /bin/install
 | 
						|
20100303:
 | 
						|
        Gas2ack updates: Run 'make install' in commands/i386/gas2ack
 | 
						|
20100215:
 | 
						|
        Make(1) has been replaced: Run 'make install' in commands/make
 | 
						|
        Mkdep updates: Copy commands/scripts/mkdep.sh to /usr/bin/mkdep
 | 
						|
        Make(1) needs mkfiles: Copy files in etc/mk to /etc/mk
 | 
						|
        ACK update: Copy commands/i386/acd.descr to /usr/lib/descr
 | 
						|
        End.a renamed:
 | 
						|
           -Copy /usr/lib/i86/end.a to /usr/lib/i86/libend.a
 | 
						|
           -Copy /usr/lib/i386/end.a to /usr/lib/i386/libend.a
 | 
						|
           -Copy /usr/gnu/lib/end.a to /usr/gnu/lib/libend.a
 | 
						|
        Asmconv updates: Run 'make install' in commands/i386/asmconv
 | 
						|
20091212:
 | 
						|
        /etc/drivers.conf has been renamed to /etc/system.conf.
 | 
						|
        user "service" has been added to password file /etc/passwd.
 | 
						|
20091006 (r5422):
 | 
						|
	OSS requires an improved make to be compiled; run "make install"
 | 
						|
	in /usr/src/commands/make before running "make world".
 | 
						|
20070212 (r2751):
 | 
						|
	mkfs needs more memory to make an image; chmem it or do
 | 
						|
	# touch mkfs.c ; make /usr/bin/mkfs
 | 
						|
	in /usr/src/commands/simple.
 | 
						|
20070118:
 | 
						|
	drivers.conf has been updated to include an ACL for mfs. it has
 | 
						|
	to be installed before rebooting after an update of the mount command.
 | 
						|
20061222:
 | 
						|
	The archictecture-dependent/-independent split needs ARCH=<arch>
 | 
						|
	in /etc/make.conf, included by some Makefiles and sourced by
 | 
						|
	some shell scripts. To install it, type 'make install' in
 | 
						|
	src/etc, or simply copy the file over.
 | 
						|
20061222:
 | 
						|
	Install binaries in the right order because the new readdir
 | 
						|
	implementation and the new mount program are incompatible
 | 
						|
	with older kernels and the new kernels require the new mount.
 | 
						|
	# cd /usr/src
 | 
						|
	# make includes
 | 
						|
	# make libraries
 | 
						|
	# make cmds
 | 
						|
	# make depend
 | 
						|
	# cd /usr/src/tools
 | 
						|
	# make hdboot
 | 
						|
	# make install
 | 
						|
	# cd ..
 | 
						|
	# make install
 | 
						|
	Installing fails for boot. Reboot the system
 | 
						|
	# reboot -x 'unset image; boot'
 | 
						|
	Now install everything
 | 
						|
	# cd /usr/src
 | 
						|
	# make install
 | 
						|
20060818:
 | 
						|
	You need flex in your $PATH, which has become part of the base
 | 
						|
	system. This needs bigger binaries.
 | 
						|
	If you don't have flex yet, you can compile it first by doing:
 | 
						|
	# cp /usr/src/etc/binary_sizes* /etc
 | 
						|
	# binsizes big
 | 
						|
	# cd /usr/src/commands/flex-2.5.4
 | 
						|
	# sh build
 |