Qemuからカーネルとルートファイルシステムを起動できない

Qemuからカーネルとルートファイルシステムを起動できない

私はFreescale ts-4900ボードを使用しています。 Qemuからカーネルファイルとルートファイルシステム(initrd)を起動できません。次のカーネル構成手順を実行しました。

  1. クロスコンパイラ部分のエクスポート
  2. エクスポート LOADADDR=0x10008000
  3. esse_defconfigを作成してください
  4. menuconfig ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- を作成します。
  5. ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-uImage で作成します。

画像が見つかり/arch/arm/boot/uImageましたが、動作しているルートファイルシステム(initrd)があります。

次の手順でQemuを起動しようとしています。

qemu-system-arm -M vexpress-a9 -cpu cortex-a9 -kernel uImage -initrd /home/mahesh/mahesh/ts_4900/initrd.

その後、エラーがあります。

ここに画像の説明を入力してください。

ベストアンサー1

vexpress-a9ボードにはアドレス0x10008000にRAMがないため、カーネルがそこで実行しようとすると実行されません。

より一般的には、あるArmボード用のカーネルをビルドし、別のArmボードのQEMUモデルを使用して実行しようとしているようです。これはうまくいきません。エミュレートされたハードウェアを使用する場合など、カーネルを実行するハードウェアに合わせてカーネルを正しく構成する必要があります。そうしないと、カーネルは通常出力なしですぐにクラッシュします(シリアルポートも見つからないため)。

おすすめ記事