読者です 読者をやめる 読者になる 読者になる

カーネルリポジトリ

カーネル GNU/Linux

概要

Linuxカーネルのgit リポジトリの自分メモ。 よくわかっていないので間違っていることばっかりかも。 随時追記予定。

kernelnewbies

KernelBuild - Linux Kernel Newbies

クローンのやり方書いてあった。

バージョン

メインラインのバージョンの付け方。

3系からカーネルのバージョン番号の付け方の規則が変更された ↓

mag.osdn.jp

3.0以降では3桁目は安定版リリース用となるため、最新のカーネルは「3.0.0」ではなく「3.0」となり、次期版は「3.1」となる。安定版は「3.0.1」、「3.0.2」……と続くことになる。

3系以前

修正リリースを4つめの番号で表す

A.B.C.D

A :メジャー番号
B: マイナー番号
C: リビジョン番号
D: 修正リリース

A.B.C  メインツリーのバージョン
A.B.C.D stableツリーのバージョン

3系以降

A.B.C

A :メジャー番号
B: マイナー番号
C:修正リリース


 A.B   メインツリーのバージョン
 A.B.C  stableツリーのバージョン

バージョンについて↓

第23回 Linux-3.0に寄せて:玩式草子─ソフトウェアとたわむれる日々|gihyo.jp … 技術評論社

1つめの数字("A")を「メジャーバージョン番号」,2つめの数字("B")を「マイナーバージョン番号」,3つめの数字("C")は「リビジョン番号」,あるいは「パッチ番号」と称しています。プロジェクトによってはさらに数字を追加してA.B.C.Dというスタイルを採用することもあり,Linuxでも2.6系では2.6.39.2のように4つの数字でバージョンを管理しています。

ディストリビューション

kernel-2.6.32-642.el6.x86_64

2.6.32 :バージョン番号 カーネルのバージョン

642.el6:リリース番号 パッケージに修正があれば番号が増加していく。el6はEnterprise Linux 6という意味。

ツリー

メイン

メジャーバージョンが増えていく。

  • git tagで表示されるのは2.6.11から。これより前はgitではなくほかのバージョン管理システムで管理していないのでみれない?
  • 2.6.11以降の2.6系では2.6.xまで番号がある。 3系からは3.xまでしかない。
  • 2.6系では3桁目までがメインツリーの対象。3系からは3.x二桁目までが対象。

linux-stable

安定版はメインツリーのバージョンを元に、三桁目が伸びてゆく

3.1.0 3.1.1 3.1.2 3.1.3

longterm以外は意外と早くリリールがなくなる。 (バグフィックスのサーポート終了)

longtermになっているブランチはリビジョン番号が大きい。↓

longterm:    4.4.39
longterm:   4.1.37
longterm:   3.18.46
longterm:   3.16.39
longterm:   3.12.69
longterm:   3.10.104
longterm:   3.4.113
longterm:   3.2.84

  • 4.0.[1-N]
    • ブランチでは

タグ

修正ごとでリリースしていて、そのリリースごとのタグ。

git tag

v4.8.10
v4.8.11
v4.8.12
v4.8.13
v4.8.14
v4.8.15

ブランチ

メジャーに+リビジョン番号が付与。 たぶんブランチがstable or logterm のカーネル。logtermはkernel.orgのトップページで表示されたリビジョンしかない??

  remotes/origin/linux-2.6.34.y
  remotes/origin/linux-2.6.35.y
  remotes/origin/linux-2.6.36.y
  remotes/origin/linux-2.6.37.y
  remotes/origin/linux-2.6.38.y
  remotes/origin/linux-2.6.39.y

  remotes/origin/linux-3.9.y
  remotes/origin/linux-4.0.y
  remotes/origin/linux-4.1.y
  remotes/origin/linux-4.2.y
  remotes/origin/linux-4.3.y
  remotes/origin/linux-4.4.y
  remotes/origin/linux-4.5.y
  remotes/origin/linux-4.6.y
  remotes/origin/linux-4.7.y
  remotes/origin/linux-4.8.y
  remotes/origin/linux-4.9.y

linux-next

まとめ

上からgit cloneする。