ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/src/trunk/UPDATING
Revision: 305
Committed: Sat Oct 28 06:15:57 2006 UTC (17 years, 7 months ago) by laffer1
File size: 7976 byte(s)
Log Message:
Described various src/sys/dev updates, lukemftpd and other exiting things.

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

Properties

Name Value
cvs2svn:cvs-rev 1.5