2009-05-22 3 views

答えて

2

LKLMにアクセスして、他の誰かがすでに類似しているものがあるかどうかを確認してください。そうでない場合は、実行する予定のことを発表し、それを達成する最も簡単な方法(カーネルモジュールなど)を尋ねます。自分のgitリポジトリを作成して変更を加え、関心のある他の人があなたのリポジトリから引き出すことを許可します。あなたの仕事が成功した場合は、メンテナーに変更を引き出してメインラインに追加するよう依頼してください。

これは確かに不合理なことではありませんが、ディープモディファイの作業に時間がかかっているかどうか分かります。

1

はい、複雑ですが、新しいコンセプトがあり、それをカーネルの上に構築することは良いアイデアだと思うと、それは時間の価値があるかもしれません。あなたが達成することができます何の

あなたはまだLinuxのカーネルにより延期している場合は、Minixカーネルは常にあります...

0

ほとんどは、カーネルモジュールとなんとかする必要があります。あなたが本当に大きな計画を持っているなら、それを試してフォークすることができます。ねえ、そのオープンソースは、誰もあなたに言うことはありません:)あなたは頻繁にバックアップを確認してください。

8

さらなる情報がない場合、あなたが示唆しているように、フォークするのではなくカーネルを修正する方がよいと言われます。

あなたの野望のどの側面がフォークを必要としていますか?フォークは、その本質が主に政治的な意味で定義されているものです。つまり、プロジェクト名の変更、異なる戦略的方向の設定などです。

4

真にオープンなソフトウェアと同様に、カーネルをフォークするのはバージョン管理リポジトリから分岐して自分のバージョンで作業を開始するのと同じくらい簡単です。また、真にオープンなソフトウェアのように、フォークする場合は、フォークを行うための確かな理由があるのが最善です。最終的に後ろに合流しようとしているのであれば、あなたは本当に分岐していませんが、代わりに分岐して、合併させることを求めています。その場合、定期的に交換することを忘れないでください。

Linuxカーネルは非常に大きくて複雑なソフトウェアですが、それは難しいでしょう。あなたはGPLv2に固執するでしょう。あなたがGPLv3に更新する許可を得られないGPLv2コードをすべて削除しない限り、ライセンスは同じままでなければなりません。しかし、Linuxカーネルを大幅に変更したい場合は、Linuxカーネルをより良くすることができると考えているので、誰もあなたを止めることは絶対にありません。新しいドライバを追加したり、グラフィックの仕組みを変更したり、古いAPIを削除したり、何でもしてください。あなたが何かを証明すると、人々は注意を払うようになります。そして、あなたは究極の良い結果を得るかもしれません。あなたの仕事は、最終的にメインラインに戻されます。

2

フォークオープンソースソフトウェアは最後の手段と見なすべきです。最初にやってみるべきことは、カーネルのブランチを作り、それをマージのために提出することです。それは誰にとっても人生をはるかに容易にします。

1

IIRC修正されたLinuxカーネルを維持する適切な方法は、Andrew Mortonのmmのようにパッチセットです。

5

難易度に関する質問に固執したいと思います。ファイル記述子を調整するような限られた追加機能を提供するためにシステムコールを追加したいだけなら、これは熟練したプログラマーができることです。リアルタイム処理、パフォーマンス処理、プロセス処理を行いたい場合は、カーネルにどれくらい深く入り込んでいるかによって、これらの処理が非常に難しいことに注意してください。

多くの学部OSコースでは、システムコールの追加や簡単なフィールド/パラメータの追加が必要です。何かが些細なことで約20時間、何かが簡単ではあるが有用である。

2

「深刻な変更」では、新しいLinuxカーネルを追跡して変更をマージするのか、もともと対象としていたカーネルに固執してパッチの重要な修正を取り戻すのか、というジレンマがあります。

変更をメインラインカーネルに組み込むことができない限り、あなたは上記に直面します。あなたはその努力を続けることができますか?それはそれに価値がありますか?

0

あなたのアイデアが本当にカーネル空間で実行される必要があるのか​​、それともユーザー空間で効果的に実行できるのかを検討する必要があります。これは、それ自体で尋ねる合理的な質問です(もちろん、そのアイデアの詳細もあります)。

カーネル関連のアイデアをLKMLに投稿して、実際には完全にユーザー空間で、時にはより簡単に効率的に行うことができます。