ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/src/trunk/UPDATING
Revision: 352
Committed: Tue Dec 26 22:38:02 2006 UTC (17 years, 4 months ago) by laffer1
File size: 8973 byte(s)
Log Message:
Catch this up a bit with recent changes.

File Contents

# Content
1 Updating Information for MidnightBSD users
2
3 Items affecting the mports and packages system can be found in
4 /usr/mports/UPDATING.
5
6 20061226:
7 Setup /usr/share/examples/cvsup SUPfiles for the new
8 MidnightBSD CVSup server.
9
10 20061225:
11 Fixed a typo in src/lib/libc/sparc64/fpu/fpu_implode.c
12 that caused long double to long and long long
13 conversion of negative numbers to always result in -1.
14
15 20061221:
16 Fixed acpi_battery.c to not report an ERROR if no
17 batteries are present.
18
19 Performed some minor updates on the RL and RE NIC drivers.
20 RL should no longer panic when trying to print errors.
21
22 Corrected a bug with TTY.
23
24 20061218:
25 Corrected a bug with libpthread where newly created suspended
26 threads don't get scheduled.
27
28 20061206:
29 Fixed a typo with the firewire security patch.
30
31 20061129:
32 Minor cleanups to utilities in bin.
33
34 Fixed msdos file system short file name behavior to match
35 FreeBSD.
36
37 20061031:
38 Updated man pages in section 7.
39
40 20061030:
41 Updated sys/dev/drm to support intel 915 and radeon
42 r300 cards properly.
43
44 Synced snmpd with FreeBSD-stable.
45
46 Fixed a bug in rm which could cause data loss.
47
48 20061027:
49 Added Intel ICH8 and nForce 5 support to ATA. cam, mpt,
50 random, kbdmux, atkbd, and usb were updated. Changes
51 to clearing registers on SSE enabled processors (i386)
52 commited.
53
54 lukemftpd updated.
55
56 openssh rc script was altered which effects initial
57 seeding.
58
59 20061014:
60 Workaround for em driver problem on shared IRQ.
61
62 Started removal of alpha support.
63
64 20061013:
65 ATA driver was updated. USB/USB1/USB2 types added.
66
67 20061010:
68 OpenSSH was updated to 4.4p1.
69
70 20060909:
71 OpenNTPD was added to MidnightBSD. Run make delete-old to remove
72 the old ntpd daemon.
73
74 cat has a new option -D which allows you to timestamp output
75 on a per line basis.
76
77 The kernel has a keyboard mux which allows you to have multiple
78 keyboard connected simultaneously. USB keyboard support was also
79 improved with this patch.
80
81 The Intel em driver was updated. Network performance was greatly
82 increased on many systems. Additional models are supported.
83
84 The ATA driver was patched to fix a potential deadlock.
85
86 Bind was patched to fix a potential denial of service condition.
87
88 20060817:
89 ksh has been added to the base system. If you previously had
90 the port installed, it will be overwritten on the next buildworld.
91
92
93
94 To build a kernel
95 -----------------
96 If you are updating from a prior version of MidnightBSD (even one just
97 a few days old), you should follow this procedure. With a
98 /usr/obj tree with a fresh buildworld,
99 make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE
100 make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE
101
102 To test a kernel once
103 ---------------------
104 If you just want to boot a kernel once (because you are not sure
105 if it works, or if you want to boot a known bad kernel to provide
106 debugging information) run
107 make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel
108 nextboot -k testkernel
109
110 To just build a kernel when you know that it won't mess you up
111 --------------------------------------------------------------
112 This assumes you are already running a 6.X system. Replace
113 ${arch} with the architecture of your machine (e.g. "i386",
114 "amd64", "ia64", "pc98", "sparc64", etc).
115
116 cd src/sys/${arch}/conf
117 config KERNEL_NAME_HERE
118 cd ../compile/KERNEL_NAME_HERE
119 make depend
120 make
121 make install
122
123 If this fails, go to the "To build a kernel" section.
124
125 To rebuild everything and install it on the current system.
126 -----------------------------------------------------------
127 # Note: sometimes if you are running current you gotta do more than
128 # is listed here if you are upgrading from a really old current.
129
130 <make sure you have good level 0 dumps>
131 make buildworld
132 make kernel KERNCONF=YOUR_KERNEL_HERE
133 [1]
134 <reboot in single user> [3]
135 mergemaster -p [5]
136 make installworld
137 make delete-old
138 mergemaster [4]
139 <reboot>
140
141
142 To cross-install current onto a separate partition
143 --------------------------------------------------
144 # In this approach we use a separate partition to hold
145 # current's root, 'usr', and 'var' directories. A partition
146 # holding "/", "/usr" and "/var" should be about 2GB in
147 # size.
148
149 <make sure you have good level 0 dumps>
150 <boot into -stable>
151 make buildworld
152 make buildkernel KERNCONF=YOUR_KERNEL_HERE
153 <maybe newfs current's root partition>
154 <mount current's root partition on directory ${CURRENT_ROOT}>
155 make installworld DESTDIR=${CURRENT_ROOT}
156 cd src/etc; make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd
157 make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT}
158 cp /etc/fstab ${CURRENT_ROOT}/etc/fstab # if newfs'd
159 <edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition>
160 <reboot into current>
161 <do a "native" rebuild/install as described in the previous section>
162 <maybe install compatibility libraries from src/lib/compat>
163 <reboot>
164
165
166 To upgrade in-place from 5.x-stable or higher to 6.x-stable
167 -----------------------------------------------------------
168 <make sure you have good level 0 dumps>
169 make buildworld [9]
170 make kernel KERNCONF=YOUR_KERNEL_HERE [8]
171 [1]
172 <reboot in single user> [3]
173 mergemaster -p [5]
174 make installworld
175 make delete-old
176 mergemaster -i [4]
177 <reboot>
178
179 Make sure that you've read the UPDATING file to understand the
180 tweaks to various things you need. At this point in the life
181 cycle of current, things change often and you are on your own
182 to cope. The defaults can also change, so please read ALL of
183 the UPDATING entries.
184
185 Also, if you are tracking -current, you must be subscribed to
186 freebsd-current@freebsd.org. Make sure that before you update
187 your sources that you have read and understood all the recent
188 messages there. If in doubt, please track -stable which has
189 much fewer pitfalls.
190
191 [1] If you have third party modules, such as vmware, you
192 should disable them at this point so they don't crash your
193 system on reboot.
194
195 [3] From the bootblocks, boot -s, and then do
196 fsck -p
197 mount -u /
198 mount -a
199 cd src
200 adjkerntz -i # if CMOS is wall time
201 Also, when doing a major release upgrade, it is required that
202 you boot into single user mode to do the installworld.
203
204 [4] Note: This step is non-optional. Failure to do this step
205 can result in a significant reduction in the functionality of the
206 system. Attempting to do it by hand is not recommended and those
207 that pursue this avenue should read this file carefully, as well
208 as the archives of freebsd-current and freebsd-hackers mailing lists
209 for potential gotchas.
210
211 [5] Usually this step is a noop. However, from time to time
212 you may need to do this if you get unknown user in the following
213 step. It never hurts to do it all the time.
214
215 [8] In order to have a kernel that can run the 5.x binaries
216 needed to do an installworld, you must include the COMPAT_FREEBSD5
217 option in your kernel. Failure to do so may leave you with a system
218 that is hard to boot to recover. A similar kernel option COMPAT_FREEBSD5
219 is required to run the 5.x binaries on more recent kernels.
220
221 Make sure that you merge any new devices from GENERIC since the
222 last time you updated your kernel config file.
223
224 [9] When checking out sources, you must include the -P flag to have
225 cvs prune empty directories.
226
227 If CPUTYPE is defined in your /etc/make.conf, make sure to use the
228 "?=" instead of the "=" assignment operator, so that buildworld can
229 override the CPUTYPE if it needs to.
230
231 MAKEOBJDIRPREFIX must be defined in an environment variable, and
232 not on the command line, or in /etc/make.conf. buildworld will
233 warn if it is improperly defined.
234
235 Copyright information:
236
237 Copyright 1998-2005 M. Warner Losh. All Rights Reserved.
238
239 Redistribution, publication, translation and use, with or without
240 modification, in full or in part, in any form or format of this
241 document are permitted without further permission from the author.
242
243 THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR
244 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
245 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
246 DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT,
247 INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
248 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
249 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
250 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
251 STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
252 IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
253 POSSIBILITY OF SUCH DAMAGE.
254
255 If you find this document useful, and you want to, you may buy the
256 author a beer.
257
258 Contact Warner Losh if you have any questions about your use of
259 this document.
260
261 $FreeBSD: src/UPDATING,v 1.416.2.18 2006/02/22 11:51:57 yar Exp $
262 $MidnightBSD: src/UPDATING,v 1.6 2006/10/31 19:20:59 laffer1 Exp $

Properties

Name Value
cvs2svn:cvs-rev 1.7