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 |
20080516: |
7 |
ssh-vulnkey allows you to look for vulnerable ssh keys that |
8 |
were generated on Debian and Ubuntu hosts over the last |
9 |
few years. sshd can block offending keys with a configuration |
10 |
option. |
11 |
|
12 |
The elf note on binaries is now set to MidnightBSD. |
13 |
|
14 |
20080514: |
15 |
Fixed a number of problems with pcc. It is not yet connected |
16 |
to the build, but usable on i386 hosts. You may use it |
17 |
by make; make install in /usr/src/usr.bin/pcc. It will |
18 |
install in /usr/local as some of the files conflict with |
19 |
GCC versions. __MidnightBSD__ is defined in PCC as well. |
20 |
|
21 |
System headers were fixed to allow pcc to compile many binaries |
22 |
on MidnightBSD. bin/cp will work now for instance. |
23 |
|
24 |
20080430: |
25 |
__MidnightBSD__ is now defined via gcc. This can be tested |
26 |
to determine we're running on MidnightBSD in the preprocessor. |
27 |
|
28 |
20080429: |
29 |
Import bind 9.4.2 with threading |
30 |
|
31 |
libpthread (KSE) and libthr are built earlier |
32 |
|
33 |
pcvt(4) removed! |
34 |
|
35 |
Alias added for core2 cpus. |
36 |
|
37 |
Alpha and PC98 only utilities removed from usr/sbin |
38 |
|
39 |
syslogd, adduser, rmuser, mergemaster and mailwrapper have been |
40 |
improved. See the man pages for info. |
41 |
|
42 |
periodic scripts will not send emails with empty message bodies. |
43 |
See mailwrapper fix. |
44 |
|
45 |
20080410: |
46 |
Sync cpdup with DragonFly. Add parallel transaction support and |
47 |
-l flag to line-buffer stdout and stderr. |
48 |
|
49 |
20080406: |
50 |
Import bzip2 1.05 |
51 |
Import OpenSSH 4.9p1 |
52 |
|
53 |
20080322: |
54 |
The default umask was changed to 022. |
55 |
|
56 |
/usr/X11R6 paths were removed from several config files. |
57 |
|
58 |
.mkshrc files are now installed for root. |
59 |
|
60 |
20080316: |
61 |
FIx a problem with gif0 tunnels and neighbors with IPV6. |
62 |
|
63 |
20080312: |
64 |
Add lndir from X.org. This aides in the porting of MirPorts. |
65 |
|
66 |
New OS versions were added to the mapage code (groff) |
67 |
|
68 |
20080310: |
69 |
Correct a buffer overflow in ppp. |
70 |
|
71 |
20080308: |
72 |
Remove /usr/X11R6 from manpath config. |
73 |
|
74 |
20080307: |
75 |
Atheros driver no longer has several options set |
76 |
which corrects building in tinderbox on all three platforms. |
77 |
|
78 |
Added a new macro to sx.h which returns true if the current |
79 |
thread holds an exclusive lock on a specifix sx. |
80 |
|
81 |
Removed OS/2's HPFS file system. It's not maintained and |
82 |
I don't know anyone using OS/2 or ecomstation these days. |
83 |
My copy is in the closet collecting dust. |
84 |
|
85 |
20080306: |
86 |
Synced tinderbox with FreeBSD. Modified it for MidnightBSD. |
87 |
Developers can now use it to check src builds. |
88 |
|
89 |
20080303: |
90 |
Add mksh to /etc/shells, made some adjustments to options |
91 |
for mksh builds per suggestion upstream. |
92 |
|
93 |
USB HID table updated with modern hardware list. |
94 |
|
95 |
Updated BSD family true (we're not in there yet) |
96 |
|
97 |
iso3166 file updated and import of tzdata2007k for |
98 |
new time zones. |
99 |
|
100 |
Updated mksh to latest version R33. |
101 |
|
102 |
20080228: |
103 |
Remplaced the random IP id generation code with a new |
104 |
version by Amit Klein. |
105 |
|
106 |
20080221: |
107 |
Sendfile write only permissions fix. |
108 |
|
109 |
Removed some HPFS and PC98 code. |
110 |
|
111 |
iso639 file sycned with DragonFly. |
112 |
|
113 |
20080128: |
114 |
Changed NTP configuration so that ips aren't cached |
115 |
so multiple servers are used. |
116 |
|
117 |
Fix an issue with fork() in libpthread. |
118 |
|
119 |
20080121: |
120 |
Add virtualization detection to set the HZ rate |
121 |
according to a VM present. VMWare and Parallels |
122 |
should work better like this. |
123 |
|
124 |
Change to full x11 install in sysinstall. Add |
125 |
xorg 7 support. |
126 |
|
127 |
20080115: |
128 |
Fix the handling of PTY's. CVE-2008-0216 |
129 |
|
130 |
20080105: |
131 |
mport delete code added, USE_MPORT_TOOLS knob aded. |
132 |
|
133 |
20080101: |
134 |
Happy New Year |
135 |
|
136 |
20071123: |
137 |
Update sendmail to 8.14.2 |
138 |
|
139 |
20071120: |
140 |
Update system compiler to gcc 3.4.6. |
141 |
|
142 |
20071023: |
143 |
Updated mksh to R31d. |
144 |
|
145 |
20070911: |
146 |
Updated mksh to version R31b. |
147 |
|
148 |
Fixed stderr output in libpthread. Previously it was |
149 |
written to stdout. |
150 |
|
151 |
20070831: |
152 |
Added dot.mkshrc file to support the recent change to |
153 |
mksh from OpenBSD's ksh derived from pdksh. |
154 |
|
155 |
Added new firewall configuration. ipfw is enabled by default |
156 |
with a "desktop" configuration. Consult /etc/rc.firewall |
157 |
or ipfw show to see the ruleset used. You can disable |
158 |
ipfw by setting firewall_enable="NO" in /etc/rc.conf This |
159 |
change only effects IPv4. IPv6 does not have a firewall |
160 |
enabled by default. |
161 |
|
162 |
20070814: |
163 |
Removed GNU tar source. We've been using BSD tar |
164 |
for awhile. |
165 |
|
166 |
20070806: |
167 |
Finished removing umapfs and autofs from the tree. |
168 |
|
169 |
20070804: |
170 |
BIND and Tcpdump have been patched for recent vulnerabilities. |
171 |
|
172 |
We switched to BSD cpio (pax). |
173 |
|
174 |
20070719: |
175 |
Imported cpdup from DragonFly as /bin/cpdup |
176 |
|
177 |
20070716: |
178 |
Update GNU cpio to 2.8. |
179 |
|
180 |
20070410: |
181 |
cvs was updated to 1.12.13. cvsbug was removed. |
182 |
cvs now behaves similarly to DragonFly's cvs with |
183 |
most of their local changes. |
184 |
|
185 |
20070409: |
186 |
RELENG_0_1 was created. More aggresive changes will |
187 |
continue here. |
188 |
|
189 |
20070406: |
190 |
Back out propolice. propolice caused several problems |
191 |
with our threading libraries libthr and libpthread. |
192 |
curthread was often NULL after the patch and many |
193 |
multithreaded applications would crash. We plan to |
194 |
work on either bringing in gcc 4.1 or developing a new |
195 |
patch which also corrects our threading issues later. |
196 |
|
197 |
It is more important to have a stable system for our |
198 |
mport work and other projects at this time. |
199 |
|
200 |
This is not a clean removal. It is recommended that you |
201 |
have a recently SNAP CD handy. You can either reinstall |
202 |
or perform a make buildworld and make buildkernel and |
203 |
make installkernel. Reboot on the cd and copy the contents |
204 |
of /bin, /sbin, /lib, /libexec, and /usr/bin, /usr/sbin, |
205 |
/usr/lib, and /usr/libexec to the respective directories on |
206 |
your disk. Then you should be able to boot into single user |
207 |
mode and run make installworld. You will need to run |
208 |
chflags noschg on some of the files if you can't overwrite |
209 |
them. |
210 |
|
211 |
You will get __guard missing errors since we had to remove |
212 |
this from libc. |
213 |
|
214 |
You will need to rebuild any ports built while propolice was |
215 |
installed. |
216 |
|
217 |
20070401: |
218 |
Importing propolice into MidnightBSD. Propolice is going to |
219 |
provide us with much greater security and stability in the |
220 |
long run. If upgrading from a pre-propolice system, please |
221 |
follow the these instructions: |
222 |
|
223 |
cd /usr/src/lib/libc && make obj && make && make install |
224 |
cd /usr/src/gnu/usr.bin/cc && make obj && make && make install |
225 |
cd /usr/src/lib/libpthread && make obj && make && make install |
226 |
cd /usr/src/lib/libthr && make obj && make && make install |
227 |
buildworld and kernel |
228 |
|
229 |
It is adviced that any mports which were installed and/or built |
230 |
prior to the propolice update also be updated. If any errors |
231 |
or issue are encounted, please contact security@midnightbsd.org |
232 |
and we will be sure to investigate and come up with an expeditious |
233 |
fix. |
234 |
|
235 |
20070314: |
236 |
Remove send-pr from src. |
237 |
|
238 |
Switch to NetBSD's gzip. |
239 |
|
240 |
Bump MBSD minor revision. |
241 |
|
242 |
20070313: |
243 |
Imported OpenSSH 4.6p1. |
244 |
|
245 |
Imported FreeBSD's libarchive and updated tar to work with it. |
246 |
|
247 |
Disabled debug statements cluttering up /var/log/messages for |
248 |
the tcp autobuf patch applied previously. |
249 |
|
250 |
20070312: |
251 |
Synced several audio changes from FreeBSD 6.1. Removed the |
252 |
BSD Daemon files from src/share. |
253 |
|
254 |
20070308: |
255 |
Added mfi which supports LSI Logic MegaRAID SAS devices including |
256 |
the Dell perc5i. |
257 |
|
258 |
20070206: |
259 |
Imported OpenBSD's sudo into source. Please install |
260 |
/usr/src/usr.bin/sudo/lib first before building. |
261 |
|
262 |
Those who install from a snapshot after this date |
263 |
will not be effected. |
264 |
|
265 |
20070119: |
266 |
Added audit group. Be sure to add audit to your /etc/group file |
267 |
before installing world. |
268 |
|
269 |
hostapd was updated to 0.4.8. |
270 |
|
271 |
An accidental commit in usr.sbin/bluetooth/hccontrol was fixed to |
272 |
unbreak world. |
273 |
|
274 |
wpa_supplicant was updated. |
275 |
|
276 |
For stability and compatibility reasons, it was decided that MidnightBSD |
277 |
sync with FreeBSD 6.1 Release. Nearly every change between the original |
278 |
fork date of February 24, 2006 and the release of FreeBSD 6.1 in May |
279 |
2006 will be merged. Beyond this, MidnightBSD will be a "real" fork and |
280 |
will not sync every little change with FreeBSD. |
281 |
|
282 |
20061231: |
283 |
Updated COPYRIGHT for 2007. |
284 |
|
285 |
Updated and bumped libutil after importing NetBSD efun(3) functions. |
286 |
|
287 |
Added MidnightBSD_version and bumped the FreeBSD version as we've |
288 |
synced all commits between the fork and that version. It is now safe |
289 |
to assume MidnightBSD is compatible with FreeBSD RELENG_6 from |
290 |
Feb 26, 2006. |
291 |
|
292 |
Added spell(1) and deroff(1) from NetBSD. Also added additional |
293 |
dict files to work with it. /usr/share/dict/american, |
294 |
/usr/share/dict/british and /usr/share/dict/special/math |
295 |
|
296 |
Numerous man page and bug fixes. |
297 |
|
298 |
20061226: |
299 |
Setup /usr/share/examples/cvsup SUPfiles for the new |
300 |
MidnightBSD CVSup server. |
301 |
|
302 |
Fix a bug in burncd where it would continue forever while |
303 |
erasing CDRW media. |
304 |
|
305 |
Add csup to /usr/bin. csup is a CVSup replacement written |
306 |
in C. |
307 |
|
308 |
Fixed a bug with bsnmpd build from Oct 30. |
309 |
|
310 |
Corrected some race conditions and fixed a few bugs in |
311 |
geom. Imported changes from FreeBSD RELENG_6. |
312 |
|
313 |
20061225: |
314 |
Fixed a typo in src/lib/libc/sparc64/fpu/fpu_implode.c |
315 |
that caused long double to long and long long |
316 |
conversion of negative numbers to always result in -1. |
317 |
|
318 |
20061221: |
319 |
Fixed acpi_battery.c to not report an ERROR if no |
320 |
batteries are present. |
321 |
|
322 |
Performed some minor updates on the RL and RE NIC drivers. |
323 |
RL should no longer panic when trying to print errors. |
324 |
|
325 |
Corrected a bug with TTY. |
326 |
|
327 |
20061218: |
328 |
Corrected a bug with libpthread where newly created suspended |
329 |
threads don't get scheduled. |
330 |
|
331 |
20061206: |
332 |
Fixed a typo with the firewire security patch. |
333 |
|
334 |
20061129: |
335 |
Minor cleanups to utilities in bin. |
336 |
|
337 |
Fixed msdos file system short file name behavior to match |
338 |
FreeBSD. |
339 |
|
340 |
20061031: |
341 |
Updated man pages in section 7. |
342 |
|
343 |
20061030: |
344 |
Updated sys/dev/drm to support intel 915 and radeon |
345 |
r300 cards properly. |
346 |
|
347 |
Synced snmpd with FreeBSD-stable. |
348 |
|
349 |
Fixed a bug in rm which could cause data loss. |
350 |
|
351 |
20061027: |
352 |
Added Intel ICH8 and nForce 5 support to ATA. cam, mpt, |
353 |
random, kbdmux, atkbd, and usb were updated. Changes |
354 |
to clearing registers on SSE enabled processors (i386) |
355 |
commited. |
356 |
|
357 |
lukemftpd updated. |
358 |
|
359 |
openssh rc script was altered which effects initial |
360 |
seeding. |
361 |
|
362 |
20061014: |
363 |
Workaround for em driver problem on shared IRQ. |
364 |
|
365 |
Started removal of alpha support. |
366 |
|
367 |
20061013: |
368 |
ATA driver was updated. USB/USB1/USB2 types added. |
369 |
|
370 |
20061010: |
371 |
OpenSSH was updated to 4.4p1. |
372 |
|
373 |
20060909: |
374 |
OpenNTPD was added to MidnightBSD. Run make delete-old to remove |
375 |
the old ntpd daemon. |
376 |
|
377 |
cat has a new option -D which allows you to timestamp output |
378 |
on a per line basis. |
379 |
|
380 |
The kernel has a keyboard mux which allows you to have multiple |
381 |
keyboard connected simultaneously. USB keyboard support was also |
382 |
improved with this patch. |
383 |
|
384 |
The Intel em driver was updated. Network performance was greatly |
385 |
increased on many systems. Additional models are supported. |
386 |
|
387 |
The ATA driver was patched to fix a potential deadlock. |
388 |
|
389 |
Bind was patched to fix a potential denial of service condition. |
390 |
|
391 |
20060817: |
392 |
ksh has been added to the base system. If you previously had |
393 |
the port installed, it will be overwritten on the next buildworld. |
394 |
|
395 |
|
396 |
|
397 |
To build a kernel |
398 |
----------------- |
399 |
If you are updating from a prior version of MidnightBSD (even one just |
400 |
a few days old), you should follow this procedure. With a |
401 |
/usr/obj tree with a fresh buildworld, |
402 |
make -DALWAYS_CHECK_MAKE buildkernel KERNCONF=YOUR_KERNEL_HERE |
403 |
make -DALWAYS_CHECK_MAKE installkernel KERNCONF=YOUR_KERNEL_HERE |
404 |
|
405 |
To test a kernel once |
406 |
--------------------- |
407 |
If you just want to boot a kernel once (because you are not sure |
408 |
if it works, or if you want to boot a known bad kernel to provide |
409 |
debugging information) run |
410 |
make installkernel KERNCONF=YOUR_KERNEL_HERE KODIR=/boot/testkernel |
411 |
nextboot -k testkernel |
412 |
|
413 |
To just build a kernel when you know that it won't mess you up |
414 |
-------------------------------------------------------------- |
415 |
This assumes you are already running a 6.X system. Replace |
416 |
${arch} with the architecture of your machine (e.g. "i386", |
417 |
"amd64", "ia64", "pc98", "sparc64", etc). |
418 |
|
419 |
cd src/sys/${arch}/conf |
420 |
config KERNEL_NAME_HERE |
421 |
cd ../compile/KERNEL_NAME_HERE |
422 |
make depend |
423 |
make |
424 |
make install |
425 |
|
426 |
If this fails, go to the "To build a kernel" section. |
427 |
|
428 |
To rebuild everything and install it on the current system. |
429 |
----------------------------------------------------------- |
430 |
# Note: sometimes if you are running current you gotta do more than |
431 |
# is listed here if you are upgrading from a really old current. |
432 |
|
433 |
<make sure you have good level 0 dumps> |
434 |
make buildworld |
435 |
make kernel KERNCONF=YOUR_KERNEL_HERE |
436 |
[1] |
437 |
<reboot in single user> [3] |
438 |
mergemaster -p [5] |
439 |
make installworld |
440 |
make delete-old |
441 |
mergemaster [4] |
442 |
<reboot> |
443 |
|
444 |
|
445 |
To cross-install current onto a separate partition |
446 |
-------------------------------------------------- |
447 |
# In this approach we use a separate partition to hold |
448 |
# current's root, 'usr', and 'var' directories. A partition |
449 |
# holding "/", "/usr" and "/var" should be about 2GB in |
450 |
# size. |
451 |
|
452 |
<make sure you have good level 0 dumps> |
453 |
<boot into -stable> |
454 |
make buildworld |
455 |
make buildkernel KERNCONF=YOUR_KERNEL_HERE |
456 |
<maybe newfs current's root partition> |
457 |
<mount current's root partition on directory ${CURRENT_ROOT}> |
458 |
make installworld DESTDIR=${CURRENT_ROOT} |
459 |
cd src/etc; make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd |
460 |
make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT} |
461 |
cp /etc/fstab ${CURRENT_ROOT}/etc/fstab # if newfs'd |
462 |
<edit ${CURRENT_ROOT}/etc/fstab to mount "/" from the correct partition> |
463 |
<reboot into current> |
464 |
<do a "native" rebuild/install as described in the previous section> |
465 |
<maybe install compatibility libraries from src/lib/compat> |
466 |
<reboot> |
467 |
|
468 |
|
469 |
To upgrade in-place from 5.x-stable or higher to 6.x-stable |
470 |
----------------------------------------------------------- |
471 |
<make sure you have good level 0 dumps> |
472 |
make buildworld [9] |
473 |
make kernel KERNCONF=YOUR_KERNEL_HERE [8] |
474 |
[1] |
475 |
<reboot in single user> [3] |
476 |
mergemaster -p [5] |
477 |
make installworld |
478 |
make delete-old |
479 |
mergemaster -i [4] |
480 |
<reboot> |
481 |
|
482 |
Make sure that you've read the UPDATING file to understand the |
483 |
tweaks to various things you need. At this point in the life |
484 |
cycle of current, things change often and you are on your own |
485 |
to cope. The defaults can also change, so please read ALL of |
486 |
the UPDATING entries. |
487 |
|
488 |
Also, if you are tracking -current, you must be subscribed to |
489 |
freebsd-current@freebsd.org. Make sure that before you update |
490 |
your sources that you have read and understood all the recent |
491 |
messages there. If in doubt, please track -stable which has |
492 |
much fewer pitfalls. |
493 |
|
494 |
[1] If you have third party modules, such as vmware, you |
495 |
should disable them at this point so they don't crash your |
496 |
system on reboot. |
497 |
|
498 |
[3] From the bootblocks, boot -s, and then do |
499 |
fsck -p |
500 |
mount -u / |
501 |
mount -a |
502 |
cd src |
503 |
adjkerntz -i # if CMOS is wall time |
504 |
Also, when doing a major release upgrade, it is required that |
505 |
you boot into single user mode to do the installworld. |
506 |
|
507 |
[4] Note: This step is non-optional. Failure to do this step |
508 |
can result in a significant reduction in the functionality of the |
509 |
system. Attempting to do it by hand is not recommended and those |
510 |
that pursue this avenue should read this file carefully, as well |
511 |
as the archives of freebsd-current and freebsd-hackers mailing lists |
512 |
for potential gotchas. |
513 |
|
514 |
[5] Usually this step is a noop. However, from time to time |
515 |
you may need to do this if you get unknown user in the following |
516 |
step. It never hurts to do it all the time. |
517 |
|
518 |
[8] In order to have a kernel that can run the 5.x binaries |
519 |
needed to do an installworld, you must include the COMPAT_FREEBSD5 |
520 |
option in your kernel. Failure to do so may leave you with a system |
521 |
that is hard to boot to recover. A similar kernel option COMPAT_FREEBSD5 |
522 |
is required to run the 5.x binaries on more recent kernels. |
523 |
|
524 |
Make sure that you merge any new devices from GENERIC since the |
525 |
last time you updated your kernel config file. |
526 |
|
527 |
[9] When checking out sources, you must include the -P flag to have |
528 |
cvs prune empty directories. |
529 |
|
530 |
If CPUTYPE is defined in your /etc/make.conf, make sure to use the |
531 |
"?=" instead of the "=" assignment operator, so that buildworld can |
532 |
override the CPUTYPE if it needs to. |
533 |
|
534 |
MAKEOBJDIRPREFIX must be defined in an environment variable, and |
535 |
not on the command line, or in /etc/make.conf. buildworld will |
536 |
warn if it is improperly defined. |
537 |
|
538 |
Copyright information: |
539 |
|
540 |
Copyright 1998-2005 M. Warner Losh. All Rights Reserved. |
541 |
|
542 |
Redistribution, publication, translation and use, with or without |
543 |
modification, in full or in part, in any form or format of this |
544 |
document are permitted without further permission from the author. |
545 |
|
546 |
THIS DOCUMENT IS PROVIDED BY WARNER LOSH ``AS IS'' AND ANY EXPRESS OR |
547 |
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED |
548 |
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
549 |
DISCLAIMED. IN NO EVENT SHALL WARNER LOSH BE LIABLE FOR ANY DIRECT, |
550 |
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES |
551 |
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
552 |
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
553 |
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
554 |
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING |
555 |
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
556 |
POSSIBILITY OF SUCH DAMAGE. |
557 |
|
558 |
If you find this document useful, and you want to, you may buy the |
559 |
author a beer. |
560 |
|
561 |
Contact Warner Losh if you have any questions about your use of |
562 |
this document. |
563 |
|
564 |
$FreeBSD: src/UPDATING,v 1.416.2.18 2006/02/22 11:51:57 yar Exp $ |
565 |
$MidnightBSD: src/UPDATING,v 1.36 2008/05/01 04:46:25 laffer1 Exp $ |