ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/src/trunk/UPDATING
Revision: 273
Committed: Sun Oct 15 00:11:58 2006 UTC (17 years, 7 months ago) by laffer1
File size: 7713 byte(s)
Log Message:
Try to catch up recent commits.

File Contents

# User Rev Content
1 laffer1 169 Updating Information for MidnightBSD users
2 laffer1 2
3 laffer1 273 Items affecting the mports and packages system can be found in
4     /usr/mports/UPDATING.
5 laffer1 2
6 laffer1 273 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 laffer1 169 20060909:
18     OpenNTPD was added to MidnightBSD. Run make delete-old to remove
19     the old ntpd daemon.
20 laffer1 63
21 laffer1 169 cat has a new option -D which allows you to timestamp output
22     on a per line basis.
23 laffer1 5
24 laffer1 169 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 laffer1 5
28 laffer1 169 The Intel em driver was updated. Network performance was greatly
29     increased on many systems. Additional models are supported.
30 laffer1 5
31 laffer1 169 The ATA driver was patched to fix a potential deadlock.
32 laffer1 5
33 laffer1 169 Bind was patched to fix a potential denial of service condition.
34 laffer1 5
35 laffer1 169 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 laffer1 5
39    
40    
41 laffer1 2 To build a kernel
42     -----------------
43 laffer1 169 If you are updating from a prior version of MidnightBSD (even one just
44 laffer1 2 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 laffer1 273 "amd64", "ia64", "pc98", "sparc64", etc).
62 laffer1 2
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 laffer1 5 make delete-old
85 laffer1 2 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 laffer1 5 make delete-old
123 laffer1 2 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 laffer1 5 $FreeBSD: src/UPDATING,v 1.416.2.18 2006/02/22 11:51:57 yar Exp $
209 laffer1 273 $MidnightBSD: src/UPDATING,v 1.3 2006/09/09 23:27:07 laffer1 Exp $

Properties

Name Value
cvs2svn:cvs-rev 1.4