summaryrefslogtreecommitdiff
path: root/docs/UPDATING
blob: d2e4ce057a879dbac1d3452c808148cd858d917b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
20170303:
	The entire network stack has been replaced.  This requires two updates.
	First, BEFORE rebooting, either before or after rebuilding the system,
	copy the following new configuration files from /usr/src/etc into /etc:

		# cd /usr/src/etc
		# cp hosts inetd.conf named.conf nsswitch.conf /etc

	Second, AFTER rebooting, set up a new network configuration for your
	system.  Run netconf(8) and and follow its instructions:

		# netconf

	If you previously configured your network statically and you forgot its
	settings, take a look at /etc/rc.network.  That file and /etc/inet.conf
	are no longer used now.  See the ifconfig.if(5) manual page for more
	information about how network settings are specified going forward.

20170223:
	Edit your /etc/rc.conf to set rc_configured to YES.  If you do not,
	your system will refuse to enter multi-user mode after the next reboot.
	You can then still make the same edit from single user mode, but that
	is not as easy.

20170222:
	Because of naming conflicts, the MINIX 3 service(8) utility has been
	renamed to "minix-service".  After successfully rebuilding the system
	*and* rebooting (no earlier!), remove the old service utility:

		# rm /bin/service

	Better yet, use the postinstall(8) command to remove all files marked
	as obsolete.  It is not a bad idea to do this every now and then:

		# postinstall fix obsolete

	..but only ever after the reboot!  Either way, deleting the old service
	tool will avoid conflicts with the same-named NetBSD utility later on.

20170218:
	Before starting a build, you will have to update your master.passwd and
	group files in /etc.  This is needed because we have switched over from
	the old set of MINIX users and groups to the new set of NetBSD users
	and groups, as needed by various imported tools.  Follow these steps.

	1. Make a back-up copy of your old master.passwd and group files:

		# cp /etc/master.passwd /etc/master.passwd~
		# cp /etc/group /etc/group~

	2. Install /usr/src/etc/master.passwd to /etc/master.passwd, and
	   install /usr/src/etc/group to /etc/group.  If you have NOT created
	   any local user accounts yourself, for example because you are
	   upgrading a fresh MINIX 3 installation right away, all you need to
	   do is copy over those two files:

		# cp /usr/src/etc/master.passwd /etc/master.passwd
		# cp /usr/src/etc/group /etc/group

	   If you DO have custom user accounts or groups, you need to merge
	   their lines (and only those!) into the new master.passwd and group
	   files manually.  If you are unsure whether you have such custom
	   entries, you can use the following commands:

		# cd /usr/src
		# git show 68804c2:etc/master.passwd | diff -u - /etc/master.passwd
		# git show 68804c2:etc/group | diff -u - /etc/group

	   This should show any changes compared to the old two templates.  If
	   you have such changes, you need to reapply them after copying over
	   the new two templates.  The following procedure shows one approach:

		# cd /usr/src
		# cp /etc/master.passwd /tmp/my-passwd
		# vi /tmp/my-passwd
		<remove any lines from /tmp/my-passwd that have no password>
		# cp /usr/src/etc/master.passwd /etc/master.passwd
		# cat /tmp/my-passwd >> /etc/master.passwd
		# rm /tmp/my-passwd

	   ..and follow a similar procedure for /etc/group.

	3. Once the new files are in place, update all derived password files:

		# pwd_mkdb -p /etc/master.passwd

	   If you did everything right so far, the following command:

		# postinstall check uid gid

	   ..should show "postinstall checks passed: uid gid" and no failures.

	4. Now perform a full build as usual:

		# cd /usr/src
		# make build

	   As part of the build, all /dev files will get new proper ownership.

	5. There may still be files that are owned by users and groups that now
	   have been renumbered.  It is advisable to run at least the following
	   three commands to apply the renumbering to the most common files:

		# find / -user 2 -exec chown bin \{\} \;
		# find / -user 5 -exec chown uucp \{\} \;
		# find / -user 9998 -exec chown games \{\} \;

	   If you have installed custom programs, you may want to check whether
	   they are not affected by the change.  This should be rare, though.

	Until a subsequent reboot, various running services will show up in
	ps(1) output and /proc as owned by "postfix".  This is no problem.

20170122:
	MINIX 3 did not import NetBSD's passwd.conf file, which makes the
	userland fall back by default to the old, broken UNIX password hashing
	algorithm. Among other problems, it truncates passwords to the first
	eight characters.

	Please install /etc/passwd.conf and reset your passwords with passwd.

20160702:
	Some tools are required to generate the locale resources which are
	embedded into libintl, which is why you need to run the following:

	for t in gencat locale mkcsmapper mkesdb mklocale
	do
		make -C /usr/src/usr.bin/${t} all install
	done

	Then the usual "make build".

20150623:
	In order to use the new Unix98 PTYs, and to ensure that the test set
	continues to pass, please add the following line to your /etc/fstab:

	"none	/dev/pts	ptyfs	rw,rslabel=ptyfs	0	0"

20140801:
	As the ABI went under heavy changes it is not possible to do a source
	upgrade (make build) between:
		commit 7ebdb97a28234e0181f93a8b786331dda507482
	        Date:   Sun Feb 16 20:08:20 2014 +0000
	and
		commit f1deff716ea30b28693c16f8e48ba1a369e2e922
		Date:   Thu Jul 31 18:36:24 2014 +0200

	WARNING: Attempting to do so will break your system beyond repair, and
		 require a full reinstallation. You have been warned.