「make world」の版間の差分
(ページの作成:「<!-- vim: fileencoding=utf-8 filetype=mediawiki --> ;make world:めいく わーるど __TOC__ == 概要 == FreeBSDにおけるmake worldとは、シス...」) |
(→関連項目) |
||
(同じ利用者による、間の3版が非表示) | |||
行1: | 行1: | ||
− | + | [[FreeBSD]]における[[make world]]とは、システムの再構築のことを意味します。新しいソースコードからカーネルやユーザランドを作りなおすことができます。独自のコンパイルのオプションで環境を最適化することもできます。 | |
− | + | ||
+ | '''読み方''' | ||
;[[make world]]:めいく わーるど | ;[[make world]]:めいく わーるど | ||
+ | ;buildworld:びるど わーるど | ||
+ | ;buildkernel:びるど かーねる | ||
__TOC__ | __TOC__ | ||
== 概要 == | == 概要 == | ||
− | |||
[[FreeBSD]]における[[make world]]とは、システムの再構築のことを意味します。 | [[FreeBSD]]における[[make world]]とは、システムの再構築のことを意味します。 | ||
行15: | 行17: | ||
* コンパイルオプションの最適化 | * コンパイルオプションの最適化 | ||
* ソースコードのカスタマイズ | * ソースコードのカスタマイズ | ||
− | |||
== 設定 == | == 設定 == | ||
− | |||
ユーザランドや[[カーネル]]の構築には、下記の設定ファイルが参照されます(もし存在すれば)。 | ユーザランドや[[カーネル]]の構築には、下記の設定ファイルが参照されます(もし存在すれば)。 | ||
* /etc/make.conf | * /etc/make.conf | ||
* /etc/src.conf | * /etc/src.conf | ||
− | |||
== 使い方 == | == 使い方 == | ||
− | |||
ユーザランドを構築します。 コンパイルして作成されたファイルは、 /usr/obj におかれます。 | ユーザランドを構築します。 コンパイルして作成されたファイルは、 /usr/obj におかれます。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
行41: | 行39: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | システムを[[ | + | システムを[[シングルユーザーモード]]で再起動します。 |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sync; sync; sync; | sync; sync; sync; | ||
行50: | 行48: | ||
boot -s | boot -s | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | で[[ | + | で[[シングルユーザーモード]]で立ち上げます。 |
− | + | もしくは、マルチユーザーモードから | |
− | + | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
sync; sync; sync; | sync; sync; sync; | ||
sudo shutdown now | sudo shutdown now | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | で[[ | + | で[[シングルユーザーモード]]に移行します。 |
− | + | ||
− | [[ | + | [[シングルユーザーモード]]で、設定ファイルのアップデートを行います。 |
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
mount -u / | mount -u / | ||
行86: | 行82: | ||
== make world の高速化 == | == make world の高速化 == | ||
− | |||
[[make world]] の高速化には、[[make]]のプロセスを並列実行します。 | [[make world]] の高速化には、[[make]]のプロセスを並列実行します。 | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
行93: | 行88: | ||
ただし、並列実行した結果、ビルドが失敗したりすることがありますので、その場合は、一度、/usr/obj を消してから、並列オプションをやめて、再構築する必要があります。 | ただし、並列実行した結果、ビルドが失敗したりすることがありますので、その場合は、一度、/usr/obj を消してから、並列オプションをやめて、再構築する必要があります。 | ||
− | |||
== 関連項目 == | == 関連項目 == | ||
− | |||
* [[カーネル]] | * [[カーネル]] | ||
* [[カスタムカーネル]] | * [[カスタムカーネル]] | ||
* [[freebsd-update]] | * [[freebsd-update]] | ||
− | * | + | * mergemaster |
* [[make]] | * [[make]] | ||
* [[shutdown]] | * [[shutdown]] | ||
* [[reboot]] | * [[reboot]] | ||
+ | <!-- vim: fileencoding=utf-8 filetype=mediawiki | ||
+ | --> |
2015年9月27日 (日) 22:12時点における最新版
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 を消してから、並列オプションをやめて、再構築する必要があります。