「make world」の版間の差分
行17: | 行17: | ||
* コンパイルオプションの最適化 | * コンパイルオプションの最適化 | ||
* ソースコードのカスタマイズ | * ソースコードのカスタマイズ | ||
− | |||
== 設定 == | == 設定 == | ||
ユーザランドや[[カーネル]]の構築には、下記の設定ファイルが参照されます(もし存在すれば)。 | ユーザランドや[[カーネル]]の構築には、下記の設定ファイルが参照されます(もし存在すれば)。 | ||
行23: | 行22: | ||
* /etc/make.conf | * /etc/make.conf | ||
* /etc/src.conf | * /etc/src.conf | ||
− | |||
== 使い方 == | == 使い方 == | ||
ユーザランドを構築します。 コンパイルして作成されたファイルは、 /usr/obj におかれます。 | ユーザランドを構築します。 コンパイルして作成されたファイルは、 /usr/obj におかれます。 | ||
行52: | 行50: | ||
で[[シングルユーザーモード]]で立ち上げます。 | で[[シングルユーザーモード]]で立ち上げます。 | ||
− | + | もしくは、マルチユーザーモードから | |
− | + | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sync; sync; sync; | sync; sync; sync; | ||
行59: | 行56: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
で[[シングルユーザーモード]]に移行します。 | で[[シングルユーザーモード]]に移行します。 | ||
− | |||
[[シングルユーザーモード]]で、設定ファイルのアップデートを行います。 | [[シングルユーザーモード]]で、設定ファイルのアップデートを行います。 | ||
行92: | 行88: | ||
ただし、並列実行した結果、ビルドが失敗したりすることがありますので、その場合は、一度、/usr/obj を消してから、並列オプションをやめて、再構築する必要があります。 | ただし、並列実行した結果、ビルドが失敗したりすることがありますので、その場合は、一度、/usr/obj を消してから、並列オプションをやめて、再構築する必要があります。 | ||
− | |||
== 関連項目 == | == 関連項目 == | ||
* [[カーネル]] | * [[カーネル]] |
2015年9月27日 (日) 22:11時点における版
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 を消してから、並列オプションをやめて、再構築する必要があります。