「make world」の版間の差分
行1: | 行1: | ||
− | + | [[FreeBSD]]における[[make world]]とは、システムの再構築のことを意味します。新しいソースコードからカーネルやユーザランドを作りなおすことができます。独自のコンパイルのオプションで環境を最適化することもできます。 | |
− | + | ||
− | + | ||
− | [[FreeBSD]]における[[make world]] | + | |
− | + | ||
+ | '''読み方''' | ||
;[[make world]]:めいく わーるど | ;[[make world]]:めいく わーるど | ||
+ | ;buildworld:びるど わーるど | ||
+ | ;buildkernel:びるど かーねる | ||
__TOC__ | __TOC__ | ||
== 概要 == | == 概要 == | ||
− | |||
[[FreeBSD]]における[[make world]]とは、システムの再構築のことを意味します。 | [[FreeBSD]]における[[make world]]とは、システムの再構築のことを意味します。 | ||
行21: | 行19: | ||
== 設定 == | == 設定 == | ||
− | |||
ユーザランドや[[カーネル]]の構築には、下記の設定ファイルが参照されます(もし存在すれば)。 | ユーザランドや[[カーネル]]の構築には、下記の設定ファイルが参照されます(もし存在すれば)。 | ||
行28: | 行25: | ||
== 使い方 == | == 使い方 == | ||
− | |||
ユーザランドを構築します。 コンパイルして作成されたファイルは、 /usr/obj におかれます。 | ユーザランドを構築します。 コンパイルして作成されたファイルは、 /usr/obj におかれます。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
行90: | 行86: | ||
== make world の高速化 == | == make world の高速化 == | ||
− | |||
[[make world]] の高速化には、[[make]]のプロセスを並列実行します。 | [[make world]] の高速化には、[[make]]のプロセスを並列実行します。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
行99: | 行94: | ||
== 関連項目 == | == 関連項目 == | ||
− | |||
* [[カーネル]] | * [[カーネル]] | ||
* [[カスタムカーネル]] | * [[カスタムカーネル]] | ||
行107: | 行101: | ||
* [[shutdown]] | * [[shutdown]] | ||
* [[reboot]] | * [[reboot]] | ||
+ | <!-- vim: fileencoding=utf-8 filetype=mediawiki | ||
+ | --> |
2014年5月18日 (日) 14:30時点における版
FreeBSDにおけるmake worldとは、システムの再構築のことを意味します。新しいソースコードからカーネルやユーザランドを作りなおすことができます。独自のコンパイルのオプションで環境を最適化することもできます。
読み方
- make world
- めいく わーるど
- buildworld
- びるど わーるど
- buildkernel
- びるど かーねる
概要
FreeBSDにおけるmake worldとは、システムの再構築のことを意味します。
システムの再構築とは、カーネルやライブラリ、コマンド、マニュアルなどをビルドしなおすということです。
システムの再構築は、いくつかの目的で実行されます。
- ハードウェアに依存した最適化
- コンパイルオプションの最適化
- ソースコードのカスタマイズ
設定
ユーザランドやカーネルの構築には、下記の設定ファイルが参照されます(もし存在すれば)。
- /etc/make.conf
- /etc/src.conf
使い方
ユーザランドを構築します。 コンパイルして作成されたファイルは、 /usr/obj におかれます。
cd /usr/src sudo make buildworld
カーネルを構築します。config と make をつかった古い方法とは異なり、 /usr/obj の新しいコンパイラが使われます。ここでカスタムカーネルを使う場合には、KERNCONFのオプションを指定します。詳細は、カスタムカーネルをご参照ください。
sudo make buildkernel
新しい カーネル をインストールします。
sudo make installkernel
システムをシングルユーザーモードで再起動します。
sync; sync; sync; sudo shutdown -r now
システムを再起動した場合は、ローダのプロンプトから
boot -s
でシングルユーザーモードで立ち上げます。
もしくは、マルチユーザーモードから
sync; sync; sync; sudo shutdown now
でシングルユーザーモードに移行します。
シングルユーザーモードで、設定ファイルのアップデートを行います。
mount -u / mount -a -t ufs mergemaster -p
ユーザランドを更新します。
cd /usr/src make installworld
残りの設定ファイルを更新します。
mergemaster
最後にシステムを再起動します。
sync; sync; sync; shutdown -r now
make world の高速化
make world の高速化には、makeのプロセスを並列実行します。
make -j 4
ただし、並列実行した結果、ビルドが失敗したりすることがありますので、その場合は、一度、/usr/obj を消してから、並列オプションをやめて、再構築する必要があります。