1

menuconfigを介して公開されていないXendom0構成フラグを使用してLinuxカーネル(3.0.0-13)をコンパイルしようとしています。(はい、ubuntuがXen準仮想化をサポートする「仮想」フレーバーカーネルを提供していることは知っていますが、そのカーネルは私のハードウェアで起動しないようです。したがって、追加のXen構成を使用して「汎用」フレーバーubuntuカーネルをコンパイルしようとしています。 'generic'フレーバーが私のハードウェアで実行されることを知っているのでフラグ)。コンパイルしようとするたびに、カーネルバイナリとともに生成およびパッケージ化された.configファイルに基づいて、構成フラグが無視されます。

私は次のことを試しました:

  • apt-getsourcelinux-imageを使用してカーネルソースをダウンロードしました

次に、このガイドのすべての手順を実行しました。新しいUbuntu 11.10(Oneiric)カーネルをコンパイルし、次の追加手順を実行する方法。

  • 自分の設定フラグをconfig.flavour.xxxファイルに入れて、linux-imageパッケージをコンパイルしました
  • 'menuconfig'を実行した直後に'debian/ rules editconfigs'コマンドを一時停止し、build / .configファイルをカスタム.configファイルに置き換えてから、linux-imageパッケージをコンパイルしました

また、次の方法でカーネルをコンパイルする方法-Ubuntu Wayを使用し、すでに持っているカーネルソースコードで次のコマンドを実行しました。

  • .configファイルを編集して、構成フラグを設定します
  • 'makeoldconfig'を実行します
  • 'make-kpkg clean && fakeroot make-kpkg --initrd --append-to-version = -customkernel_imagekernel_headers'を実行します

カーネルをコンパイルするたびに、新しくコンパイルしたlinux-imageパッケージをインストールし、構成フラグが/ boot/config-xxxファイルに期待どおりにないことを発見しました。

  1. 構成フラグを無視するために何を間違っているのですか?
  2. コンパイル時にカーネル構成フラグが使用されていることを確認するにはどうすればよいですか?
  3. カーネルを再コンパイルして、ハードウェアで動作するXen dom0カーネルを取得する以外のオプションはありますか?
4

2 に答える 2

2

質問3の場合:ハードウェア用のxen dom0カーネルを入手する別の方法はありますか?

はい。

すべてのxenドキュメントには、すべてのストックカーネルがxen dom0をサポートすると記載されていますが、すべてのストックカーネルのソースがxen dom0をサポートするようになりましたが、プリコンパイル済みバイナリではサポートがオフになっています。

debianには、xendom0サポートがオンになっているビルド済みのLinuxカーネルである次のパッケージがあります。パッケージ:linux-image-xen-686

自分のxendom0カーネルを本当にコンパイルしようとしている他の人のために、次のサイトに良いガイドがあります:UbuntuJaunty用のXenDom0カーネルのコンパイル

于 2012-01-11T06:14:57.467 に答える
1

構成フラグを無視するために何を間違っているのですか?

問題の根本は、問題の最初の部分にあります。Xendom0構成フラグはmenuconfigを介して公開されません

に設定するだけでは、.configアクティブになるわけではありません。構成オプションの依存関係を考慮する必要があります。

githubのlinux3.0タグから:https ://github.com/torvalds/linux/blob/02f8c6aee8df3cdc935e9bdd4f2d020306035dbe/arch/x86/xen/Kconfig

config XEN_DOM0
def_bool y
depends on XEN && PCI_XEN && SWIOTLB_XEN
depends on X86_LOCAL_APIC && X86_IO_APIC && ACPI && PCI

これらの依存フラグはすべて満たされていますか?

コンパイル時にカーネル構成フラグが使用されていることを確認するにはどうすればよいですか?

カーネルコンパイルプロセスの初期段階で、.config不一致がある場合はファイルが再書き込みされます。.config編集内容が保持されることを確認するための良いテストは、変更を実行して保存した後、編集内容がファイルにまだ存在するかどうかを確認することmake menuconfigです。その後もフラグが残っている場合は、フラグが使用されていることを確認できます。

カーネルを再コンパイルして、ハードウェアで動作するXen dom0カーネルを取得する以外のオプションはありますか?

XEN_DOM0別のディストリビューションが有効になって出荷されない限り、そうではありません。

于 2012-01-09T21:51:08.387 に答える