5

私は Linux ドライバーのプログラミングを勉強していますが、ディストリビューションではなく、セルフコンパイルされた Linux カーネルで作業することをお勧めします。ubuntu で Linux 2.6.9 をコンパイルしようとしましたが、「make menuconfig」段階でエラーが返されます。

恐れることなくカーネルを試すことができるように、仮想環境で Linux を使用したいと考えています。では、Linux を仮想マシン (Windows にインストールされた VMware など) でコンパイルして実行する方法はありますか? カーネルをコンパイルする目的でライブ CD を使用できます。

つまり、仮想マシンでエラーのない方法で Linux カーネルをコンパイル、インストール、および実行するにはどうすればよいでしょうか?

これを検索して読みました。しかし、これらの手順に従ってコンピューターを再起動した後、別の Linux 3.2.17 OS はありませんでした。しかし、私のubuntu 12.04は3.2.17カーネルを表示していました。ubuntu でカーネル全体をエラーなくコンパイルできたのは初めてですが、そのカーネルを別のパーティションにロードして、独立した OS として使用したいと考えています。それで、誰かが言うことができれば、これを達成できるようにするには、チュートリアルの手順に加えて何をすればよいですか?

4

3 に答える 3

2

最も簡単な方法は、おそらく、VMWare や VirtualBox などの Linux ディストリビューションを VM にインストールし、そこから続行することです。ライブ CD を試してみることもできますが、永続的なストレージが不足しているとイライラするかもしれません。もちろん、それを回避する方法はありますが、ディストリビューションをインストールする方がおそらく簡単です。カーネルをコンパイルするだけなら、それほど多くのディスク容量は必要ありません。

カーネル モジュールをコンパイルするだけで、既に Linux 環境がプリインストールされている場合は、最近の Linux インストールでは、カーネル全体を再コンパイルしなくてもモジュールをコンパイルできることに注意してください。ただし、カーネル ソースとヘッダーが必要になります。たとえば、このドキュメントを参照してください。

ところで、最新のカーネルについて言えば、なぜ 2.6.9 を使用することにしたのですか? もうすぐ8歳です。新しいカーネルは、実際には開発が容易な場合があります。また、そのような古いカーネルで開発されたモジュールが現在のカーネルでも動作するという保証はありません。

于 2012-09-01T09:18:59.417 に答える
1

このページを読むことをお勧めします。このドキュメントでは、qemu で個人用カーネルを起動する方法と、その上でデバッガーを使用する方法を示します。

于 2012-09-02T00:32:38.393 に答える
1

Kernelnewbiesは、カーネル ハッキングを開始するのに適した場所です。この Web サイトには、初心者の Linux 開発者向けに、カーネルのハッキングと微調整に関する一連の豊富なチュートリアルが含まれています。また、コミュニティに参加して、いくつかの小さな Linux プロジェクトに貢献することもできます。

手っ取り早く始めるには、「kernel first patch」チュートリアルの指示に従ってください。このチュートリアルでは "origin" リモート リポジトリのクローンを作成しているため、Linux カーネルの最新のブランチで作業します。そのため、古いバージョンの Linux で作業することを心配する必要はありません。一方、git ツリーの操作に慣れていない場合は、「kernel.org」のフロント ページからいつでも最新バージョンの Linux をダウンロードできます。

于 2016-07-04T19:36:05.697 に答える