2 Kernel の構築

この章の目次へ

カーネルの標準的な version の呼び名は linux-X.X.Xyyy-mgZZZZ です。 埋め込まれた数字はそれぞれ

X.X.X

オリジナルの linux kernel の version です。 いまのところ 2.0.37 〜 2.0.38 になります。

yyy

MobileGear に依存しないパッチがあたっている状態を表します。 2.0.3x の場合、現在 e2compr, dmsdos, pcsnd の 3 つのパッチと、 この 3 つのパッチがあたりそこなった部分を修正する補助パッチが一つあたっていて 'p3a' となっています。

ソースのページには yyy に相当するパッチを一気にあてるパッチが 便宜的に用意されていますが、正規のパッチを順にあててつくることもできます。

ZZZZ

MobileGear 固有のパッチのリリース月日。 パッチの内容については history を参照してください。 この数字をもって ZZZZ 版、などと呼ぶことがあります。

をあらわします。 したがって MobileGear 用 kernel source は、 linux-X.X.X に yyy のパッチと ZZZ のパッチをあてて作る必要があります。 linux-2.0.37p3a-mg0828 の場合について示すと、

  1. linux-2.0.37 を展開する。
  2. patch-2.0.37p1-3.diff をあてる。linux-2.0.37p3 になります。 ここで patch-2.0.37p1-3.diff をあてるかわりに
    1. e2compr-0.3.9-patch-2.0.35,
    2. dmsdos-0.9.2.1,
    3. pcsnd-1.2
    に含まれるカーネル用パッチを、この順にあてることでも同じ linux-2.0.37p3 をつくることができます。
  3. つぎに patch-2.0.37p3a.diff をあてる。 linux-2.0.37p3a になります。
  4. さらに linux-2.0.37p3a-mg0828.diff をあてる。linux-2.0.37p3a-mg0828 になります。

0829 版としては linux-2.0.37p3a-mg0829.diff は用意されておらず、 0828 版からの差分の linux-2.0.37p3a-mg0828-0829.diff しか用意されていません。 この場合、いったん 0828 版を上記手順でつくりあげた後に、

さらに linux-2.0.37p3a-mg0828-0829.diff をあてる

必要があります。 オリジナルカーネルに 2.0.37 でなく 2.0.38 のカーネルをつかっても以上の手順で 正常にパッチがあたり、出来上がったカーネルを "linux-2.0.38p3a-mg0828" と呼びます。

Development kernel は以上の形式ですが、stable kernel は便宜のため

linux-X.X.X-mgW.W.W

を名乗っているものがあります。 yyy, ZZZ のパッチをすべて含んだパッチで、この場合は linux-X.X.X に このパッチのみをあてることでカーネルをつくることができます。

次の章へ , 前の章へ

この章の目次へ, この文書の目次へ

この文書の最初へ , この章の最初へ