第524回ではメインラインビルドのバイナリパッケージのインストール方法を紹介しました。今回はメインラインカーネルをできるだけそのままビルドする方法を紹介します。
Ubuntuのカーネル事情
改めて言うまでもないことではありますが,
さてカーネルはコンピューターシステムにおいてハードウェアとアプリケーションを仲立ちする存在です。つまりあるハードウェアがUbuntuで動くかどうかを調べる場合,
最新のハードウェアのサポートという観点から考えると,
たとえばここ数回のリリースにおけるUbuntuのバージョンとカーネルのリリース日の比較は次のとおりです。
バージョン | リリース日 | Ubuntuにおける扱い |
---|---|---|
4. |
2016年1月 | 16. |
4. |
2016年3月 | |
4. |
2016年5月 | |
4. |
2016年7月 | |
4. |
2016年9月 | 16. |
4. |
2016年12月 | |
4. |
2017年2月 | 17. |
4. |
2017年4月 | |
4. |
2017年6月 | 17. |
4. |
2017年9月 | |
4. |
2017年11月 | |
4. |
2018年1月 | 18. |
4. |
2018年4月 | |
4. |
2018年6月 |
このようにUbuntuの場合は,
- ※2
- 16.
10だけ例外的ではありますが, その理由については不明です。少なくとも4. 7がまだリリースされていない5月頭には, 4. 8を採用することが決まっていたので 「LTSではないから直近でもいい」 という判断が働いただけかもしれません。
通常のリリースは9ヶ月のサポート期間なので,
そこで導入されているのがHWE
- ※3
- 言い換えるとLTSで5年メンテナンスされるカーネルを使いたい場合は,
LTSの最初のインストーラーを使うか, ポイントリリースのインストーラーでインストールしたあとに, オリジナルのカーネルパッケージをインストールし直す必要があります。もしHWEカーネルを使い続ける場合は, そのHWEカーネルのサポートが切れるまでに, 次のHWEカーネルに更新されることになるでしょう。
HWEカーネルについては,
Ubuntu用のカーネルをビルドする方法
さて,
- より新しいUbuntuカーネルがリリースされるのをおとなしく待つ
- Ubuntuカーネルにパッチを当ててビルドし直す
- Ubuntuのメインラインビルドを使う
- Upstreamのソースコードをそのままビルドする
カーネルに詳しいと言い切れない人に対しておすすめするのは1.の
ただし本当に単に待つだけでは,
2.は本来のUbuntuカーネルを少し改変することで修正される不具合の場合に有効です。特にUpstreamなどではパッチが存在し取り込まれている場合に使える手でしょう。UbuntuカーネルのソースコードはパッケージリポジトリやカーネルチームのGitリポジトリからダウンロードできます。詳しい手順は第333回で紹介していますので,
Ubuntuのリリースカーネル以外のバージョンを使いたい場合は,
最後の4.はUbuntuカーネルではなくUpstreamのカーネルをそのまま使う方法です。ただしカーネルコンフィグはUbuntuのそれを使うことも可能です。たとえば仮想マシンの上など,
前フリが長くなってしまいましたが,