Linuxカーネル 201

/ LPIC / Comment[0]
Linuxカーネルはフィンランドの大学生リーナストーバルズ氏が開発し、1991年に公開された0.01が最初のバージョン。
現在開発に参加している技術者は約1300人以上という大規模なオープンソースプロジェクトとなった。
その公式プロジェクトで開発されたカーネルは公式版カーネル(vanilla kernel)と呼ばれている。
公式版Linuxカーネルはプロジェクトのサイトkernel.orgから入手できる。

Linuxカーネルはリーナストーバルズ自身が開発したgit上で開発されている。
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

各ディストリは、この公式カーネルを元にカスタマイズされたカーネルを使っている場合が多い。

カーネルの動作


システム起動時にメモリにロードされ、その後メモリに常駐、システムリソースの管理やデバイスの制御などを行っている。


カーネルの構成


  • プロセス、ユーザー、時刻、メモリ管理などを行う本体部分
  • コンパイル時に静的に本体にリンクするカーネルモジュール
  • システム起動時などに必要時にメモリに読み込まれるローダブルモジュール(カーネルモジュール)


カーネルバージョンを確認する3つの方法


unameコマンドを使う
$ uname -r
3.11.0-24-generic

/proc/versionを見る
$ cat /proc/version
Linux version 3.11.0-24-generic (buildd@tipua) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #42~precise1-Ubuntu SMP Fri Jul 4 21:22:54 UTC 2014

カーネルのMakefileの頭4行を見る
$ head -4 /usr/src/linux/Makefile
VERSION = 3
PATCHLEVEL = 11
SUBLEVEL = 10
EXTRAVERSION = .11



カーネルのバージョン表記のルール


[バージョン].[メジャーレビジョン].[マイナーレビジョン]-[サフィックス]

例えばこんなバージョンなら
$ uname -r
3.11.0-24-generic

バージョン: 3
メジャーレビジョン: 11
マイナーレビジョン: 0
サフィックス: 24-generic
こんな感じですかね。



カーネルの置き場所


 /usr/src/linux*


カーネルのドキュメントのパス


 /usr/src/linux*/Documentation


カーネルコンパイルの手順


  1. make menuconfig カーネル構成を設定して.configファイルを作成する
  2. make 作成された.configを基にカーネルモジュールを生成
  3. make modules_install /lib/modules以下にモジュールをインストール
  4. make install カーネルを/bootにインストール

その他makeターゲット

コメント

:
:
:
:
:
管理人のみ表示を許可