Commit 3b6662f1 authored by Tsugikazu Shibata's avatar Tsugikazu Shibata Committed by Greg Kroah-Hartman

HOWTO: update ja_JP/HOWTO with latest changes

Here is another sync patch of Documentation/ja_JP/HOWTO

Japanese developer sent me some cosmetic changes and also follow
changes of HOWTO
    Cross reference URL (sosdg.org/qiyong/lxr)
    known_regression explanations on kernel dev. process
Signed-off-by: default avatarTsugikazu Shibata <tshibata@ab.jp.nec.com>
Cc: stable <stable@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 43cc71ee
NOTE: NOTE:
This is a version of Documentation/HOWTO translated into Japanese. This is a version of Documentation/HOWTO translated into Japanese.
This document is maintained by Tsugikazu Shibata <tshibata@ab.jp.nec.com> This document is maintained by Tsugikazu Shibata <tshibata@ab.jp.nec.com>
and the JF Project team <www.linux.or.jp/JF>. and the JF Project team <www.linux.or.jp/JF>.
...@@ -11,14 +11,14 @@ for non English (read: Japanese) speakers and is not intended as a ...@@ -11,14 +11,14 @@ for non English (read: Japanese) speakers and is not intended as a
fork. So if you have any comments or updates for this file, please try fork. So if you have any comments or updates for this file, please try
to update the original English file first. to update the original English file first.
Last Updated: 2007/07/18 Last Updated: 2007/09/23
================================== ==================================
これは、 これは、
linux-2.6.22/Documentation/HOWTO linux-2.6.23/Documentation/HOWTO
の和訳です。 の和訳です。
翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ > 翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >
翻訳日: 2007/07/16 翻訳日: 2007/09/19
翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com> 翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com>
校正者: 松倉さん <nbh--mats at nifty dot com> 校正者: 松倉さん <nbh--mats at nifty dot com>
小林 雅典さん (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp> 小林 雅典さん (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp>
...@@ -27,6 +27,7 @@ linux-2.6.22/Documentation/HOWTO ...@@ -27,6 +27,7 @@ linux-2.6.22/Documentation/HOWTO
野口さん (Kenji Noguchi) <tokyo246 at gmail dot com> 野口さん (Kenji Noguchi) <tokyo246 at gmail dot com>
河内さん (Takayoshi Kochi) <t-kochi at bq dot jp dot nec dot com> 河内さん (Takayoshi Kochi) <t-kochi at bq dot jp dot nec dot com>
岩本さん (iwamoto) <iwamoto.kn at ncos dot nec dot co dot jp> 岩本さん (iwamoto) <iwamoto.kn at ncos dot nec dot co dot jp>
内田さん (Satoshi Uchida) <s-uchida at ap dot jp dot nec dot com>
================================== ==================================
Linux カーネル開発のやり方 Linux カーネル開発のやり方
...@@ -40,7 +41,7 @@ Linux カーネル開発コミュニティと共に活動するやり方を学 ...@@ -40,7 +41,7 @@ Linux カーネル開発コミュニティと共に活動するやり方を学
手助けになります。 手助けになります。
もし、このドキュメントのどこかが古くなっていた場合には、このドキュメン もし、このドキュメントのどこかが古くなっていた場合には、このドキュメン
トの最後にリストしたメンテナにパッチを送ってください。 トの最後にリストしたメンテナにパッチを送ってください。
はじめに はじめに
--------- ---------
...@@ -59,7 +60,7 @@ Linux カーネル開発コミュニティと共に活動するやり方を学 ...@@ -59,7 +60,7 @@ Linux カーネル開発コミュニティと共に活動するやり方を学
ネル開発者には必要です。アーキテクチャ向けの低レベル部分の開発をするの ネル開発者には必要です。アーキテクチャ向けの低レベル部分の開発をするの
でなければ、(どんなアーキテクチャでも)アセンブリ(訳注: 言語)は必要あり でなければ、(どんなアーキテクチャでも)アセンブリ(訳注: 言語)は必要あり
ません。以下の本は、C 言語の十分な知識や何年もの経験に取って代わるもの ません。以下の本は、C 言語の十分な知識や何年もの経験に取って代わるもの
ではありませんが、少なくともリファレンスとしてはい本です。 ではありませんが、少なくともリファレンスとしてはい本です。
- "The C Programming Language" by Kernighan and Ritchie [Prentice Hall] - "The C Programming Language" by Kernighan and Ritchie [Prentice Hall]
-『プログラミング言語C第2版』(B.W. カーニハン/D.M. リッチー著 石田晴久訳) [共立出版] -『プログラミング言語C第2版』(B.W. カーニハン/D.M. リッチー著 石田晴久訳) [共立出版]
- "Practical C Programming" by Steve Oualline [O'Reilly] - "Practical C Programming" by Steve Oualline [O'Reilly]
...@@ -76,7 +77,7 @@ Linux カーネル開発コミュニティと共に活動するやり方を学 ...@@ -76,7 +77,7 @@ Linux カーネル開発コミュニティと共に活動するやり方を学
ときどき、カーネルがツールチェインや C 言語拡張に置いている前提がどう ときどき、カーネルがツールチェインや C 言語拡張に置いている前提がどう
なっているのかわかりにくいことがあり、また、残念なことに決定的なリファ なっているのかわかりにくいことがあり、また、残念なことに決定的なリファ
レンスは存在しません。情報を得るには、gcc の info ページ( info gcc )を レンスは存在しません。情報を得るには、gcc の info ページ( info gcc )を
てください。 てください。
あなたは既存の開発コミュニティと一緒に作業する方法を学ぼうとしているこ あなたは既存の開発コミュニティと一緒に作業する方法を学ぼうとしているこ
とに留意してください。そのコミュニティは、コーディング、スタイル、 とに留意してください。そのコミュニティは、コーディング、スタイル、
...@@ -92,7 +93,7 @@ Linux カーネル開発コミュニティと共に活動するやり方を学 ...@@ -92,7 +93,7 @@ Linux カーネル開発コミュニティと共に活動するやり方を学
Linux カーネルのソースコードは GPL ライセンスの下でリリースされていま Linux カーネルのソースコードは GPL ライセンスの下でリリースされていま
す。ライセンスの詳細については、ソースツリーのメインディレクトリに存在 す。ライセンスの詳細については、ソースツリーのメインディレクトリに存在
する、COPYING のファイルをてください。もしライセンスについてさらに質 する、COPYING のファイルをてください。もしライセンスについてさらに質
問があれば、Linux Kernel メーリングリストに質問するのではなく、どうぞ 問があれば、Linux Kernel メーリングリストに質問するのではなく、どうぞ
法律家に相談してください。メーリングリストの人達は法律家ではなく、法的 法律家に相談してください。メーリングリストの人達は法律家ではなく、法的
問題については彼らの声明はあてにするべきではありません。 問題については彼らの声明はあてにするべきではありません。
...@@ -109,7 +110,8 @@ Linux カーネルソースツリーは幅広い範囲のドキュメントを ...@@ -109,7 +110,8 @@ Linux カーネルソースツリーは幅広い範囲のドキュメントを
新しいドキュメントファイルも追加することを勧めます。 新しいドキュメントファイルも追加することを勧めます。
カーネルの変更が、カーネルがユーザ空間に公開しているインターフェイスの カーネルの変更が、カーネルがユーザ空間に公開しているインターフェイスの
変更を引き起こす場合、その変更を説明するマニュアルページのパッチや情報 変更を引き起こす場合、その変更を説明するマニュアルページのパッチや情報
をマニュアルページのメンテナ mtk-manpages@gmx.net に送ることを勧めます。 をマニュアルページのメンテナ mtk-manpages@gmx.net に送ることを勧めま
す。
以下はカーネルソースツリーに含まれている読んでおくべきファイルの一覧で 以下はカーネルソースツリーに含まれている読んでおくべきファイルの一覧で
す- す-
...@@ -117,7 +119,7 @@ Linux カーネルソースツリーは幅広い範囲のドキュメントを ...@@ -117,7 +119,7 @@ Linux カーネルソースツリーは幅広い範囲のドキュメントを
README README
このファイルは Linuxカーネルの簡単な背景とカーネルを設定(訳注 このファイルは Linuxカーネルの簡単な背景とカーネルを設定(訳注
configure )し、生成(訳注 build )するために必要なことは何かが書かれ configure )し、生成(訳注 build )するために必要なことは何かが書かれ
ています。カーネルに関して初めての人はここからスタートするといで ています。カーネルに関して初めての人はここからスタートするといで
しょう。 しょう。
Documentation/Changes Documentation/Changes
...@@ -128,7 +130,7 @@ Linux カーネルソースツリーは幅広い範囲のドキュメントを ...@@ -128,7 +130,7 @@ Linux カーネルソースツリーは幅広い範囲のドキュメントを
Documentation/CodingStyle Documentation/CodingStyle
これは Linux カーネルのコーディングスタイルと背景にある理由を記述 これは Linux カーネルのコーディングスタイルと背景にある理由を記述
しています。全ての新しいコードはこのドキュメントにあるガイドライン しています。全ての新しいコードはこのドキュメントにあるガイドライン
に従っていることを期待されています。大部分のメンテナはこれらのルー に従っていることを期待されています。大部分のメンテナはこれらのルー
ルに従っているものだけを受け付け、多くの人は正しいスタイルのコード ルに従っているものだけを受け付け、多くの人は正しいスタイルのコード
だけをレビューします。 だけをレビューします。
...@@ -168,16 +170,16 @@ Linux カーネルソースツリーは幅広い範囲のドキュメントを ...@@ -168,16 +170,16 @@ Linux カーネルソースツリーは幅広い範囲のドキュメントを
支援してください。 支援してください。
Documentation/ManagementStyle Documentation/ManagementStyle
このドキュメントは Linux カーネルのメンテナ達がどう行動するか、 このドキュメントは Linux カーネルのメンテナ達がどう行動するか、
彼らの手法の背景にある共有されている精神について記述しています。こ 彼らの手法の背景にある共有されている精神について記述しています。こ
れはカーネル開発の初心者なら(もしくは、単に興味があるだけの人でも) れはカーネル開発の初心者なら(もしくは、単に興味があるだけの人でも)
重要です。なぜならこのドキュメントは、カーネルメンテナ達の独特な 重要です。なぜならこのドキュメントは、カーネルメンテナ達の独特な
行動についての多くの誤解や混乱を解消するからです。 行動についての多くの誤解や混乱を解消するからです。
Documentation/stable_kernel_rules.txt Documentation/stable_kernel_rules.txt
このファイルはどのように stable カーネルのリリースが行われるかのルー このファイルはどのように stable カーネルのリリースが行われるかのルー
ルが記述されています。そしてこれらのリリースの中のどこかで変更を取 ルが記述されています。そしてこれらのリリースの中のどこかで変更を取
り入れてもらいたい場合に何をすればいかが示されています。 り入れてもらいたい場合に何をすればいかが示されています。
Documentation/kernel-docs.txt Documentation/kernel-docs.txt
  カーネル開発に付随する外部ドキュメントのリストです。もしあなたが   カーネル開発に付随する外部ドキュメントのリストです。もしあなたが
...@@ -218,9 +220,9 @@ web サイトには、コードの構成、サブシステム、現在存在す ...@@ -218,9 +220,9 @@ web サイトには、コードの構成、サブシステム、現在存在す
ここには、また、カーネルのコンパイルのやり方やパッチの当て方などの間接 ここには、また、カーネルのコンパイルのやり方やパッチの当て方などの間接
的な基本情報も記述されています。 的な基本情報も記述されています。
あなたがどこからスタートしていかわからないが、Linux カーネル開発コミュ あなたがどこからスタートしていかわからないが、Linux カーネル開発コミュ
ニティに参加して何かすることをさがしている場合には、Linux kernel ニティに参加して何かすることをさがしている場合には、Linux kernel
Janitor's プロジェクトにいけばいでしょう - Janitor's プロジェクトにいけばいでしょう -
http://janitor.kernelnewbies.org/ http://janitor.kernelnewbies.org/
ここはそのようなスタートをするのにうってつけの場所です。ここには、 ここはそのようなスタートをするのにうってつけの場所です。ここには、
Linux カーネルソースツリーの中に含まれる、きれいにし、修正しなければな Linux カーネルソースツリーの中に含まれる、きれいにし、修正しなければな
...@@ -243,7 +245,7 @@ Linux カーネルソースツリーの中に含まれる、きれいにし、 ...@@ -243,7 +245,7 @@ Linux カーネルソースツリーの中に含まれる、きれいにし、
自己参照方式で、索引がついた web 形式で、ソースコードを参照することが 自己参照方式で、索引がついた web 形式で、ソースコードを参照することが
できます。この最新の素晴しいカーネルコードのリポジトリは以下で見つかり できます。この最新の素晴しいカーネルコードのリポジトリは以下で見つかり
ます- ます-
http://sosdg.org/~coywolf/lxr/ http://sosdg.org/~qiyong/lxr/
開発プロセス 開発プロセス
----------------------- -----------------------
...@@ -265,9 +267,9 @@ Linux カーネルの開発プロセスは現在幾つかの異なるメイン ...@@ -265,9 +267,9 @@ Linux カーネルの開発プロセスは現在幾つかの異なるメイン
以下のとおり- 以下のとおり-
- 新しいカーネルがリリースされた直後に、2週間の特別期間が設けられ、 - 新しいカーネルがリリースされた直後に、2週間の特別期間が設けられ、
この期間中に、メンテナー達は Linus に大きな差分を送ることができま この期間中に、メンテナ達は Linus に大きな差分を送ることができます。
す。このような差分は通常 -mm カーネルに数週間含まれてきたパッチで このような差分は通常 -mm カーネルに数週間含まれてきたパッチです。
す。 大きな変更は git(カーネルのソース管理ツール、詳細は 大きな変更は git(カーネルのソース管理ツール、詳細は
http://git.or.cz/ 参照) を使って送るのが好ましいやり方ですが、パッ http://git.or.cz/ 参照) を使って送るのが好ましいやり方ですが、パッ
チファイルの形式のまま送るのでも十分です。 チファイルの形式のまま送るのでも十分です。
...@@ -285,6 +287,10 @@ Linux カーネルの開発プロセスは現在幾つかの異なるメイン ...@@ -285,6 +287,10 @@ Linux カーネルの開発プロセスは現在幾つかの異なるメイン
に安定した状態にあると判断したときにリリースされます。目標は毎週新 に安定した状態にあると判断したときにリリースされます。目標は毎週新
しい -rc カーネルをリリースすることです。 しい -rc カーネルをリリースすることです。
- 以下の URL で各 -rc リリースに存在する既知の後戻り問題のリスト
が追跡されます-
http://kernelnewbies.org/known_regressions
- このプロセスはカーネルが 「準備ができた」と考えられるまで継続しま - このプロセスはカーネルが 「準備ができた」と考えられるまで継続しま
す。このプロセスはだいたい 6週間継続します。 す。このプロセスはだいたい 6週間継続します。
...@@ -331,8 +337,8 @@ Andrew は個別のサブシステムカーネルツリーとパッチを全て ...@@ -331,8 +337,8 @@ Andrew は個別のサブシステムカーネルツリーとパッチを全て
linux-kernel メーリングリストで収集された多数のパッチと同時に一つにま linux-kernel メーリングリストで収集された多数のパッチと同時に一つにま
とめます。 とめます。
このツリーは新機能とパッチが検証される場となります。ある期間の間パッチ このツリーは新機能とパッチが検証される場となります。ある期間の間パッチ
が -mm に入って価値を証明されたら、Andrew やサブシステムメンテナが、 が -mm に入って価値を証明されたら、Andrew やサブシステムメンテナが、
インラインへ入れるように Linus にプッシュします。 インラインへ入れるように Linus にプッシュします。
メインカーネルツリーに含めるために Linus に送る前に、すべての新しいパッ メインカーネルツリーに含めるために Linus に送る前に、すべての新しいパッ
チが -mm ツリーでテストされることが強く推奨されます。 チが -mm ツリーでテストされることが強く推奨されます。
...@@ -460,7 +466,7 @@ MAINTAINERS ファイルにリストがありますので参照してくださ ...@@ -460,7 +466,7 @@ MAINTAINERS ファイルにリストがありますので参照してくださ
せん- せん-
彼らはあなたのパッチの行毎にコメントを入れたいので、そのためにはそうす 彼らはあなたのパッチの行毎にコメントを入れたいので、そのためにはそうす
るしかありません。あなたのメールプログラムが空白やタブを圧縮しないよう るしかありません。あなたのメールプログラムが空白やタブを圧縮しないよう
に確認した方がいです。最初の良いテストとしては、自分にメールを送って に確認した方がいです。最初の良いテストとしては、自分にメールを送って
みて、そのパッチを自分で当ててみることです。もしそれがうまく行かないな みて、そのパッチを自分で当ててみることです。もしそれがうまく行かないな
ら、あなたのメールプログラムを直してもらうか、正しく動くように変えるべ ら、あなたのメールプログラムを直してもらうか、正しく動くように変えるべ
きです。 きです。
...@@ -507,14 +513,14 @@ MAINTAINERS ファイルにリストがありますので参照してくださ ...@@ -507,14 +513,14 @@ MAINTAINERS ファイルにリストがありますので参照してくださ
とも普通のことです。これはあなたのパッチが受け入れられないということで とも普通のことです。これはあなたのパッチが受け入れられないということで
は *ありません*、そしてあなた自身に反対することを意味するのでも *ありま は *ありません*、そしてあなた自身に反対することを意味するのでも *ありま
せん*。単に自分のパッチに対して指摘された問題を全て修正して再送すれば せん*。単に自分のパッチに対して指摘された問題を全て修正して再送すれば
いのです。 いのです。
カーネルコミュニティと企業組織のちがい カーネルコミュニティと企業組織のちがい
----------------------------------------------------------------- -----------------------------------------------------------------
カーネルコミュニティは大部分の伝統的な会社の開発環境とは異ったやり方で カーネルコミュニティは大部分の伝統的な会社の開発環境とは異ったやり方で
動いています。以下は問題を避けるためにできるとよいことののリストです- 動いています。以下は問題を避けるためにできると良いことのリストです-
あなたの提案する変更について言うときのうまい言い方: あなたの提案する変更について言うときのうまい言い方:
...@@ -525,7 +531,7 @@ MAINTAINERS ファイルにリストがありますので参照してくださ ...@@ -525,7 +531,7 @@ MAINTAINERS ファイルにリストがありますので参照してくださ
- "以下は一連の小さなパッチ群ですが..." - "以下は一連の小さなパッチ群ですが..."
- "これは典型的なマシンでの性能を向上させます.." - "これは典型的なマシンでの性能を向上させます.."
やめた方がい悪い言い方: やめた方がい悪い言い方:
- このやり方で AIX/ptx/Solaris ではできたので、できるはずだ - このやり方で AIX/ptx/Solaris ではできたので、できるはずだ
- 私はこれを20年もの間やってきた、だから - 私はこれを20年もの間やってきた、だから
...@@ -575,10 +581,10 @@ Linux カーネルコミュニティは、一度に大量のコードの塊を ...@@ -575,10 +581,10 @@ Linux カーネルコミュニティは、一度に大量のコードの塊を
1) 小さいパッチはあなたのパッチが適用される見込みを大きくします、カー 1) 小さいパッチはあなたのパッチが適用される見込みを大きくします、カー
ネルの人達はパッチが正しいかどうかを確認する時間や労力をかけないか ネルの人達はパッチが正しいかどうかを確認する時間や労力をかけないか
らです。5行のパッチはメンテナがたった1秒見るだけで適用できます。 らです。5行のパッチはメンテナがたった1秒見るだけで適用できます。
かし、500行のパッチは、正しいことをレビューするのに数時間かかるかも しかし、500行のパッチは、正しいことをレビューするのに数時間かかるか
しれません(時間はパッチのサイズなどにより指数関数に比例してかかりま もしれません(時間はパッチのサイズなどにより指数関数に比例してかかり
す) す)
小さいパッチは何かあったときにデバッグもとても簡単になります。パッ 小さいパッチは何かあったときにデバッグもとても簡単になります。パッ
チを1個1個取り除くのは、とても大きなパッチを当てた後に(かつ、何かお チを1個1個取り除くのは、とても大きなパッチを当てた後に(かつ、何かお
...@@ -587,23 +593,23 @@ Linux カーネルコミュニティは、一度に大量のコードの塊を ...@@ -587,23 +593,23 @@ Linux カーネルコミュニティは、一度に大量のコードの塊を
2) 小さいパッチを送るだけでなく、送るまえに、書き直して、シンプルにす 2) 小さいパッチを送るだけでなく、送るまえに、書き直して、シンプルにす
る(もしくは、単に順番を変えるだけでも)ことも、とても重要です。 る(もしくは、単に順番を変えるだけでも)ことも、とても重要です。
以下はカーネル開発者の Al Viro のたとえ話です: 以下はカーネル開発者の Al Viro のたとえ話です:
"生徒の数学の宿題を採点する先生のことを考えてみてください、先 "生徒の数学の宿題を採点する先生のことを考えてみてください、先
生は生徒が解に到達するまでの試行錯誤をたいとは思わないでしょ 生は生徒が解に到達するまでの試行錯誤をたいとは思わないでしょ
う。先生は簡潔な最高の解をたいのです。良い生徒はこれを知って う。先生は簡潔な最高の解をたいのです。良い生徒はこれを知って
おり、そして最終解の前の中間作業を提出することは決してないので おり、そして最終解の前の中間作業を提出することは決してないので
す" す"
カーネル開発でもこれは同じです。メンテナ達とレビューア達は、 カーネル開発でもこれは同じです。メンテナ達とレビューア達は、
問題を解決する解の背後になる思考プロセスをたいとは思いません。 問題を解決する解の背後になる思考プロセスをたいとは思いません。
彼らは単純であざやかな解決方法をたいのです。 彼らは単純であざやかな解決方法をたいのです。
あざやかな解を説明するのと、コミュニティと共に仕事をし、未解決の仕事を あざやかな解を説明するのと、コミュニティと共に仕事をし、未解決の仕事を
議論することのバランスをキープするのは難しいかもしれません。 議論することのバランスをキープするのは難しいかもしれません。
ですから、開発プロセスの早期段階で改善のためのフィードバックをもらうよ ですから、開発プロセスの早期段階で改善のためのフィードバックをもらうよ
うにするのもいですが、変更点を小さい部分に分割して全体ではまだ完成し うにするのもいですが、変更点を小さい部分に分割して全体ではまだ完成し
ていない仕事を(部分的に)取り込んでもらえるようにすることもいことです。 ていない仕事を(部分的に)取り込んでもらえるようにすることもいことです。
また、でき上がっていないものや、"将来直す" ようなパッチを、本流に含め また、でき上がっていないものや、"将来直す" ようなパッチを、本流に含め
てもらうように送っても、それは受け付けられないことを理解してください。 てもらうように送っても、それは受け付けられないことを理解してください。
...@@ -629,7 +635,7 @@ Linux カーネルコミュニティは、一度に大量のコードの塊を ...@@ -629,7 +635,7 @@ Linux カーネルコミュニティは、一度に大量のコードの塊を
- テスト結果 - テスト結果
これについて全てがどのようにあるべきかについての詳細は、以下のドキュメ これについて全てがどのようにあるべきかについての詳細は、以下のドキュメ
ントの ChangeLog セクションをてください- ントの ChangeLog セクションをてください-
"The Perfect Patch" "The Perfect Patch"
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment