CONTENTS


Lastmodified 2015-10-16 (金) 10:45:01


FreeBSD-11-CURRENT-amd64 を追いかける

【参考URL】https://www.freebsd.org/doc/ja/books/handbook/svn.html

17.6. world の再構築 https://www.freebsd.org/doc/ja/books/handbook/makeworld.html

  535  8:48    portinstall security/ca_root_nss
  536  8:49    portinstall devel/subversion
  537  8:50    portupgrade ports-mgmt/pkg
  538  9:12    pkg2ng

USBインストールで、/usr/src は空なので、CURRENT だと

# svn checkout https://svn.FreeBSD.org/base/head /usr/src

RELEASE は、

http://uyota.asablo.jp/blog/2014/05/02/7299923

# svn checkout https://svn0.us-east.freebsd.org/base/releng/10.1 /usr/src

'https://svn.freebsd.org:443' のサーバ証明書の認証中にエラーが発生しました:
- 証明書は信頼のおける機関が発行したものではありません。証明書を手動で認証
  するためにフィンガープリントを用いてください!
証明書情報:
- ホスト名: svn.freebsd.org
- 有効範囲: Jun 22 00:00:00 2015 GMT から Jun 22 23:59:59 2016 GMT まで
- 発行者: Gandi, Paris, Paris, FR
- フィンガープリント: E9:37:73:80:B5:32:1B:93:92:94:98:17:59:F0:FA:A2:5F:1E:DE:B9
拒否しますか (R)、一時的に承認しますか (t)、常に承認しますか (p)?

更新

# svn update /usr/src

world の再構築

# script /var/tmp/mw.out
Script started, output file is /var/tmp/mw.out
# chflags -R noschg /usr/obj/*
# rm -rf /usr/obj
# cd /usr/src
# time make -j8 buildworld
--------------------------------------------------------------
>>> World build completed on Sun Sep 27 14:39:06 JST 2015
--------------------------------------------------------------
16267.497u 1934.473s 2:35:38.43 194.9%  42806+505k 715755+2298553io 56720pf+0w
--------------------------------------------------------------
>>> World build completed on Tue Sep 29 18:09:52 JST 2015
--------------------------------------------------------------
7729.216u 831.400s 1:15:20.59 189.3%    29799+499k 36099+41165io 19945pf+0w

kernelの構築

# time make -j8 buildkernel
--------------------------------------------------------------
>>> Kernel build for GENERIC completed on Sun Sep 27 15:11:57 JST 2015
--------------------------------------------------------------
2981.439u 515.660s 30:29.36 191.1%      37297+410k 432548+2594392io 35403pf+0w

time make -j4 buildkernel

--------------------------------------------------------------
>>> Kernel build for GENERIC completed on Wed Sep 30 06:37:00 JST 2015
--------------------------------------------------------------
1199.591u 158.984s 12:34.63 180.0%      26570+428k 11263+25808io 9776pf+0w

time make -j8 buildkernel

--------------------------------------------------------------
>>> Kernel build for GENERIC completed on Tue Sep 29 18:33:30 JST 2015
--------------------------------------------------------------
1227.950u 161.211s 12:26.02 186.2%      26678+429k 9457+22986io 9761pf+0w

time make -j16 buildkernel

--------------------------------------------------------------
>>> Kernel build for GENERIC completed on Tue Sep 29 18:51:44 JST 2015
--------------------------------------------------------------
1250.267u 153.955s 12:33.98 186.2%      26985+432k 8855+32482io 7209pf+0w

time make -j32buildkernel

--------------------------------------------------------------
>>> Kernel build for GENERIC completed on Tue Sep 29 19:05:08 JST 2015
--------------------------------------------------------------
1243.831u 155.605s 12:36.11 185.0%      26908+431k 10941+34261io 6361pf+0w
# time make -j8 installkernel
kldxref /boot/kernel
23.841u 37.255s 0:37.69 162.0%  2208+222k 77403+11159io 327pf+0w
kldxref /boot/kernel
16.856u 50.892s 0:40.98 165.3%  3134+218k 77872+11304io 482pf+0w
cat: hardcopy: No such file or directory
Null message body; hope that's ok

シングルユーザモードに移行

# shutdown now

UFS でフォーマットされているシステムでは

# mount -u /
# mount -a -t ufs
# swapon -a

ZFS でフォーマットされている場合には、 以下の 2 つのコマンドを実行してください。 この例では、zpool の名前は zroot であると仮定します。

# zfs set readonly=off zroot
# zfs mount -a
# kbdmap
# adjkerntz -i

http://d.hatena.ne.jp/flageo/20081208/p1

mergemaster -UPi

# mergemaster -iF

/usr/obj にある新しい world およびシステムのバイナリをインストール

# cd /usr/src
# make -j8 installworld

残りの設定ファイルをアップデートし

# mergemaster -p

http://d.hatena.ne.jp/flageo/20081208/p1

# make -j8 delete-old
# reboot

古いライブラリを削除する前に、 「ports のアップグレード」 に書かれている手順にしたがって、 すべての ports を再構築する必要があります。

# make delete-old-libs

FreeBSD 11.0-CURRENT #0 r287930

FreeBSDの更新(マイナーバージョンアップの場合)

【参考】http://web.db.tokushima-u.ac.jp/edb-manual/os-admin.html

# cd /usr/src
/usr/src# make update
(/usr/src/UPDATINGの内容を読む.特に留意すべき点がない場合には以下のようにすれば良い.)
/usr/src# make buildworld >& buildworld.log
/usr/src# make buildkernel >& buildkernel.log
/usr/src# make installkernel
/usr/src# shutdown -r now
/usr/src# mergemaster -p
/usr/src# make installworld
/usr/src# mergemaster -F
/usr/src# shutdown -r now

FreeBSD-10.xが遅いと考える人々への注釈

http://freebsd-info.hateblo.jp/entry/2012/11/23/FreeBSD-CURRENT_%E3%82%92%E5%B0%8E%E5%85%A5%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F_(3)_%E6%9C%80%E6%96%B0%E7%8A%B6%E6%85%8B%E3%81%AB%E6%9B%B4%E6%96%B0%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F

FreeBSD-10.xではとてもたくさんのデバッグ機能がカーネルとユーザランド双方で、有効化されています。 
これらの機能はシステムの基本要素の不正な使用の検出や、正当性チェックや不正停止でのうるさい警告を補助するために設けられています。 
これらは一方でシステムのパフォーマンスに多大な影響を与えます。もしシステムの性能計測を行う、ベンチマークする、最適化するといった場合には、
これらを無効化した くなるでしょう。
これらは様々な-WITNESS系カーネルオプション、INVARIANTS、ユーザ ランドのmallocデバッグフラグ、そしてカーネルの様々な冗長メッセージ出
力機能が含 まれます。多くの開発者は最高のパフォーマンスを得るために、ビルド時にこれらの機 能を無効しています。
(完全にmallocのデバッグ機能を無効化するには/etc/make.confでMALLOC_PRODUCTIONを 定義します。
あるいはほとんどの重いデバッグ機能を無効にするには ln -s 'abort:false,junk:false' /etc/malloc.confを実行します。)

そこで、以下の行をmake.confの末尾に加えます。 *2

# disable malloc debug features
MALLOC_PRODUCTION="YES"

以上の書き変えを終えたならば保存終了します。


Total access 3739:本日 1:昨日 0

Counter: 3739, today: 1, yesterday: 0

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-10-16 (金) 10:45:01