Linuxカーネルのコンパイル方法 編集

オプション
推敲ツール: AIライター GoogleGemini ChatGPT

LinuxカーネルはLinuxシステムの心臓部である。カーネルは、ユーザーの入出力、ハードウェア、コンピュータの電力制御を処理します。通常、Linuxディストリビューションに付属しているカーネルで十分ですが、これを使えば自分専用のカーネルを作ることができます!

  • 1
    最新バージョンのLinuxカーネルをダウンロードする。ダウンロードは .
  • 2
    必ず完全なソースをダウンロードしてください。"最新の安定バージョンは... "と書かれている "F "をクリックすれば確実です。そうしないと、パッチをダウンロードすることになり、現在のカーネルがパッチ番号より低い場合に使用されます。この例としては、3.4.4.1>>3.4.4.2のようになります。
  • 3
    完全なソースコードをダウンロードしたことを確認してください。パッチや変更ログでないことを確認してください。
  • 4
    ターミナルを開く。
  • 5
    カーネルを展開します。以下のコマンドを使ってください。
    • tar xjvf kernel (ここで-jオプションはbz2圧縮用)
  • 6
    作成されたディレクトリ(ターミナル内)に移動する。
  • 7
    カーネルを設定する。これには4つの一般的な方法がある。
    • Make old configuration -- カーネルがサポートすべきものをひとつずつ質問していく。
    • Make menuconfig -- カーネルがサポートするオプションをブラウズできるメニューを作成する。ncurses ライブラリが必要だが、すでにコンピュータにある可能性が高い。
    • make qconfig/xconfig/gconfig -- menuconfigと同じだが、設定メニューがグラフィックベースになった。"qconfig" QTライブラリが必要。
    • 現在のカーネルの設定を使用する。カーネルソースフォルダから "cp /boot/config-`uname -r` .config "を実行してください。これは多くの時間を節約しますが、現在のカーネルを置き換えないようにするために、コンパイルするカーネルのバージョン番号を変更することをお勧めします。"General setup" --> "Local version - append to kernel release"。例えば、カーネルのバージョン番号が3.13.0の場合、3.13.0.RC1と書くことができます。
  • 8
    ドライバーをインストールします。設定ウィンドウが開くと、Broadcomワイヤレスサポート/EXT4ファイルシステムなどの必須ドライバーのサポートなど、特定のタイプの設定がすでに選択されていることがわかります。さらに、「Filesystem >> DOS/FAT/NT/ >> select NTFS file system support(ファイルシステム >> DOS/FAT/NT/ >> NTFSファイルシステムのサポートを選択)」からNTFSファイルシステムのサポートを追加するように、特定のタイプのデバイス/コントローラー/ドライバーのサポートを追加するなど、オプションをカスタマイズして、カスタムカーネルを最大限に活用することができます。
    • 注意:カーネルを設定している間に、カーネルハッキング(ハッキングとは、カーネルを探るという意味です)として知られるセクションが表示されます。カーネルがかなり重くなり、本番環境で使用するには不適切かもしれません。
  • 9
    カーネルをコンパイルしてインストールします。以下のように、必要なコマンドをダブル・アンパサンド(&&)で区切って1行で実行できます。時間がかかるかもしれません。
    • make && make modules_install && make install
    • make で -j オプションを使うとよい。これは、カーネルをコンパイルするために追加のプロセスをフォークさせるもので、構文は「make -j 3」となる。ここでの3は、作成するプロセス数を表す。
  • 10
    カーネルをブート可能にする。
  • 11
    ブートに進みます。
  • 12
    以下のコマンドを実行する。<kernelverison>をビルドしたカーネルのバージョン番号に置き換えることを忘れないでください。
    • "mkinitrd -o initrd.img-<kernelversion><kernelversion>"
    • Redhatベースのディストロでは、initrdはデフォルトで作成されているので、作成する必要はありません。
  • 13
    ブートローダーを新しいカーネルに向ける。それで起動できるようになります。お使いのディストロに付属のツールを使って、ブートローダを設定します。新しいカーネル用の新しいエントリを追加します。
  • 14
    再起動します。
  • この記事は、CC BY-NC-SAの下で公開されている " How to Compile the Linux Kernel " を改変して作成しました。特に断りのない限り、CC BY-NC-SAの下で利用可能です。

    ショートカットキー一覧

    文字装飾

    アクションショートカットキー使用例
    太字にする Ctrl+B 太文字
    斜体にする Ctrl+I 斜体
    下線を引く Ctrl+U 下線

    リンク

    アクションショートカットキー使用例
    リンクの挿入・編集 Ctrl+L リンク

    リスト

    アクションショートカットキー使用例
    インデント追加 Tab
    • リスト
      • インデント
    インデント解除 Shift+Tab リスト
    • インデント

    編集補助

    アクションショートカットキー
    行ったアクションを取り消す Ctrl+Z
    取り消したアクションをやり直す Ctrl+Y, Shift+Ctrl+Z
    改行を追加する Shift+Enter
    クリップボードに切り取る Ctrl+X
    クリップボードにコピーする Ctrl+C
    クリップボードから貼り付ける Ctrl+V
    すべて選択する Ctrl+A

    移動

    アクションショートカットキー
    行の先頭に移動する Home
    文章の先頭に移動する Ctrl+Home
    行の末尾に移動する End
    文章の末尾に移動する Ctrl+End
    ページを上にスクロールする PageUp
    ページを下にスクロールする PageDown
    任意のキーワードを検索する Ctrl+F