1

私の研究のためにいくつかのLinux開発を始めたいと思っています。いくつかの簡単なスケジューリングアルゴリズムを書いてテストします。私はいくつかの質問があります:Linuxカーネルの開発とデバッグを開始するには?

1)Linuxカーネルの開発方法は? IDE?どのようにカーネルファイルをインポートして、それらがどのように関連しているか接続されているかを確認しますか?

2)コードを記述したら、どのようにシミュレーション/デバッグしますか?つまり、毎回20〜30分カーネルを構築したり、新しいイメージを作成したりboot.iniを毎回変更することはできません。これは長時間のプロセスですが、動作しているかどうかを観察したり、デバッグしたりすることはできません。

3)Linuxで開発を開始するためのガイドです。私は、ARMベースのボード

言い訳自分の無知をするために開発しています

意外なドキュメントの欠如を見つけます。 ありがとう

答えて

1

Linuxカーネルの開発方法は?

Linuxカーネルには多くのコンポーネントがあります。一般的に、カーネルはコアとドライバの部分に分かれています。

  • コアは、スケジューリング、MMU、メモリ管理、プロセス管理など
  • ドライバを含むファイルシステム、ネットワーキング、周辺デバイスドライバ、USB用など

が含まIDEは、カーネルのコードを開発するために必須ではありません。カーネル退役軍人の場合、VIM/nanoもOKです。開発環境はあなた次第です。あなたがカーネルコードを初めて使用する場合は、関数関係のビューを構築したい、いくつかのツールが役に立つことができます:

それをデバッグする方法?

多くのLinuxサポート/ディストリビューションがあります。ソフトウェアエミュレータまたはハードウェアボードを使用してカーネルをデバッグすることができます。 AndroidはLinuxをベースにしており、Androidをサポートする携帯電話や開発ボードは数多くあります。 iOSはLinuxからも派生しており、独自のデバッグ方法です。

カーネルドキュメントはどこにありますか?

を使用してinfocenter.arm.comで多くの記事 デバッグLinuxカーネルがあります
関連する問題