ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Download File | Root Listing
root/midnightbsd-cvs/src/UPDATING
Revision: 1.4
Committed: Sun Oct 15 00:11:58 2006 UTC (17 years, 6 months ago) by laffer1
Branch: MAIN
Changes since 1.3: +15 -4 lines
Log Message:
Try to catch up recent commits.

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