「make world」の版間の差分

提供: FreeBSD入門
移動: 案内検索
行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 を消してから、並列オプションをやめて、再構築する必要があります。

関連項目