ウェブサイト検索

Debian/Ubuntuでカスタムカーネルをビルドする


Linuxカーネルは、何千ものGNU/Linuxディストリビューション、Androidモバイルオペレーティングシステム、数多くの組み込みシステム、ネットワークデバイスなどを含むすべてのLinuxシステムの中心に位置しています。その人気と普及は、無料でオープンソースであるという事実に起因しています。誰でもLinuxカーネルをダウンロードし、望むなら変更を加え、自分の商業用またはプライベート用にコンパイルすることができます。

ほぼ3000万行のコードと、世界中からの膨大な数の寄稿者を持つLinuxカーネルは、一見すると普通のユーザーが手を出すには複雑なプロジェクトのように思えるかもしれませんね?これらすべてのオペレーティングシステムの中心は、科学者やプログラマー、IT専門家に任せるべきだと考えるかもしれません。しかし、実際にはLinuxカーネルのソースコードをダウンロードし、コンパイルすることは非常に簡単であり、どんなLinuxユーザーでもそれができます。

このチュートリアルでは、DebianおよびUbuntuのユーザーに対して、Linuxカーネルのソースコードをダウンロードし、コンパイルを可能にする必要なパッケージをインストールする手順を説明し、最終的に自分自身のカスタムオプションでカーネルをコンパイルします。最後に、作成したカーネルを自分のシステムにインストールする方法も紹介しますので、あなたのコンピュータが自分で作成したカーネルを実行できるようになります。

このチュートリアルでは、あなたは学びます:

  • Linuxカーネルのソースコードをダウンロードする方法
  • カーネルをコンパイルするために必要な前提条件パッケージのインストール方法
  • Linuxカーネルをカスタマイズする方法
  • Linuxカーネルをコンパイルする方法
  • 自分のシステムにLinuxカーネルをインストールする方法

カスタムLinuxカーネルの構築手順をステップバイステップで説明します

  1. まず、Linuxカーネルのソースコードをダウンロードします。kernel.orgに移動して、必要なバージョンをダウンロードしてください。おそらく、最新バージョンのタールボールをダウンロードしたいでしょう。

  2. ダウンロードしたファイルをいじる前に、コマンドラインターミナルを開き、以下の前提パッケージをインストールしてください。いくつかはすでにインストールされている可能性が高いです。

    
    sudo apt update
    sudo apt install fakeroot build-essential libncurses-dev xz-utils libssl-dev flex libelf-dev bison
    
  3. 次に、Linuxカーネルのターボールを抽出します。

    
    tar xvf linux-5.18.tar.xz
    cd linux-5.18
    

    上記のファイル名を自分のダウンロードしたものに置き換えてください。

  4. ここから私たちがカスタマイズを始めることができます。次のステップはただの推奨ですが、自分自身の設定を自由に行ってください。まず、私たちのシステムの現在のカーネル設定ファイルをコピーし、それを新しいカーネルに使用します。

    
    cp /boot/config-$(uname -r) .config
    
  5. 次のmakeコマンドを使用すると、コピーした設定ファイルを編集し、コンパイルしたLinuxカーネルに含めたい機能を選択できます。ここで希望する変更を行ってください。完了したら、このメニューから保存して終了できます。現在のシステムの設定をそのまま維持したい場合、何も変更する必要はないことに注意してください。

    
    make menuconfig
    

  6. 次に、以下のコマンドを使用してLinuxカーネルをビルドする時が来ました。ターミナルに多くの出力が表示されるでしょうし、コンパイルプロセスにはしばらく時間がかかる可能性があります。最初の2つのコマンドは、コンパイルを可能にするために証明書に必要な変更を加えます。

    
    scripts/config --disable SYSTEM_TRUSTED_KEYS
    scripts/config --disable SYSTEM_REVOCATION_KEYS
    sudo make
    
  7. それが完了したら、次のコマンドで必要なカーネルモジュールをインストールできます。

    
    sudo make modules_install
    
  8. 次に、自分のシステムにカーネルをインストールするために、このコマンドで完了します:

    
    sudo make install
    
  9. 最後に、システムを再起動して、あなたがコンパイルしてインストールした新しいカーネルをロードします。

    
    reboot
    
  10. 再起動後、システムがあなたが新しくコンパイルしたカーネルを利用していることが確認できるはずです。これを確認するには、unameコマンドを使用して、バージョン番号が一致していることを確認できます。

    
    uname -r
    

締めくくりの考え

このチュートリアルでは、DebianまたはUbuntuベースのシステムでソースコードからLinuxカーネルをダウンロードしてコンパイルする方法を見ました。また、自分のニーズに合わせてLinuxカーネルを設定する方法や、自分のシステムにカーネルをインストールする方法も確認しました。これらのステップを踏むことで、常にコンピュータに最新のカーネルをダウンロードしてインストールできます。また、必要に応じて機能を追加したり削除したりすることも実験できます。

関連記事: