システム開発や運用には欠かせない存在であるサーバーOS、Linux。「Ubuntu」などのLinuxディストリビューションが提供されており、手軽に利用できます。ただソースコードから実行形式へと自前で変換できるようになれば、特定の機能をカスタマイズできる、最新版をいち早く使えるなど多くのメリットがあります。何より、Linuxカーネルの仕組みを理解する上で大変役に立つでしょう。
本特集では、Linuxの中核である「Linuxカーネル」のソースコードを実際に動く状態に変換する「ビルド」の方法を4回にわたって紹介します。難しそうに感じるかもしれませんが、コツさえ覚えてしまえばカーネルのビルドは決して難しくありません。
まず、カーネルやビルドの基礎知識から押さえていきましょう。Linuxカーネルは、以下のようなソースコードの形で開発・配布されています注1。
ソースコードのままでは稼働できず、動かすには、システムアーキテクチャーに合わせたバイナリー形式に変換する必要があります。この変換作業のことをビルド(または「コンパイル」)と呼びます。
ビルド時には、カーネルが備える各機能の有効化/無効化や、モジュールファイル化するかどうかなどを設定できます。
UbuntuなどのLinuxディストリビューションに付属するのは、ディストリビューターが設定してビルドしたバイナリー形式のLinuxカーネルです。そのため、インストールしてすぐに稼働できますが、ディストリビューターが無効化した機能は利用できませんし、ディストリビューターが採用を決定した時点のやや古いバージョンのカーネルしか利用できないことがほとんどです。
カーネルをビルドできるようになれば、好きな機能を有効化できますし、最新バージョンのカーネルを利用できるようにもなります。また、ソースコードを変更して機能をカスタマイズするといったことも可能になります。