Tag Archives: Kernel

はじめに

私は、ゆたか先生のLinux デバイスドライバプログラミングという本を読み始めました。
私が実際にカーネルプログラムを動かした時の覚書を残していきたいと思います。

この本は2008年に執筆された本であり、記述が古いことがあります。
そういうところを補完できればと考えています。

私の環境は以下の通りです。

  • Ubuntu 18.04 LTS

マシンスペックは以下の通りです。

  • マザーボード:ASRock Z370M-ITX
  • CPU:Intel Core i5 8400 BOX
  • GPU:NVIDIA GeForce GTX 1060 6GB (*1)
  • メモリ:DDR4-17000 8GB
  • SSD:M.2 256GB
  • 電源:SILVERSTONE SST-SX600-G
  • CPUクーラー:白虎 775-1366
  • ケース:RAIJINTEK METIS PLUS

 

Linux Kernelをダウンロード&解凍

以下URLからLinux Kernelをダウンロードしてください。

https://www.kernel.org/

私は現時点でStableの4.20.3をダウンロードしました。

linux-4.20.3.tar.xz

 

ダウンロードしたファイルは、ホームディレクトリに置いてください。
そして以下コマンドで解凍してください。

 

 

Linux Kernelのビルド方法を確認

まず、カーネルビルド方法が書かれているドキュメントを確認します。
ドキュメントの保存場所は以下の通りです。

Documentation/admin-guide/README.rst

日本語版を用意してくれているサイトを見つけた。神すぎる。
https://doc.kusakata.com/admin-guide/README.html

 

 

カーネルコンフィグレーション

カーネルをビルドする前に、カーネルにどんな機能を組み込むのか選択する必要があります。
これは、以下コマンドで実行できます。

 

私の環境の場合、いくつかのモジュールが足りないと怒られてしまいました。
私は色々検索した結果、以下モジュールをインストールしました。
(他にもインストールした気がするのですが、メモし忘れました…
でもターミナル上に対処法が出ていたので、それ通りにインストールすればOKなはずです。)

(参考)https://www.linuxquestions.org/questions/debian-26/compile-of-kernel-4-16-fails-4175628085/

 

さて気を取り直して、以下コマンドを実行します。

 

すると、以下画面が表示されます。

 

一度でもビルドを行うとクリーンアップが必要です。その時は、makeの前に以下のコマンドを打ちます。

 

今日はここまで。
続きは、この記事を更新していきたいと思います。

この記事がいいねと思ったら、以下の方にある”この記事いいね!”ボタンを押してください。
管理人のモチベーションがあがります(笑)

いいね! ←この記事いいね!
Loading...