7

Arch イメージをセットアップし、イメージを Pi にロードする前にいくつかのものをクロスコンパイルするために qemu を使用しようとしています。これを行う最も簡単な方法は、最新のスターター イメージを qemu し、必要なものを準備して、完了したら Pi に dd することだと思いました。

http://downloads.raspberrypi.org/arch_latestから Arch イメージをダウンロードし、http://xecdesign.com/qemu-emulating-raspberry-pi-the-easy-way/と同様に Qemu で実行したいと考えました。

彼らが与えたqemuコマンドラインで多くのバリエーションを試しました

qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1" -hda 2013-05-25-wheezy-raspbian.img

archlinux-hf-2013-07-22.img を置き換えます。しかし、これは最終的に「カーネルパニック - 同期していません: 初期化が見つかりませんでした。init= オプションをカーネルに渡してみてください」という結果になりました。

これは、ダウンロードした kernel-qemu が Arch イメージで動作しないことを意味していると確信していますが、問題を修正する正しい方法がわかりません。

編集:

上記のコマンド ラインを使用すると、最新の Raspbian イメージ カーネルでさえパニックになります。古いカーネルである可能性が最も高いため、これは私を驚かせるべきではなかったと思います。

したがって、私の本当の質問は、独自のカーネルを構築するのではなく、イメージに含まれているカーネルをどのように使用できるかということです。

4

2 に答える 2

7

場合は archlinux-hf-2013-07-22.img ここで 3 つのパーティションが作成されます。を使用して確認できます

fdisk -l archlinux-hf-2013-07-22.img

rootfs is in sd5 i.e 5th partion.

したがって、このパラメーター"root=/dev/sda5 panic=1"を渡すと、完全に起動します。

于 2013-09-13T06:51:10.603 に答える
3

両方のイメージに 2013-05-25-wheezy-raspbian.img 同じカーネルを使用できます。

ld.so.preloadここで、ログインできない共有ライブラリをロードするようにコメントする必要があります。だからカーネルパニック。

Note:-"root=/dev/sda2 panic=1" pass this parameter only.

以下のようにしてコメントすることができます。

sudo kpartx -av 2013-05-25-wheezy-raspbian.img

mkdir tmp

sudo mount /dev/mapper/loop0p2 tmp/

cd tmp/etc

sudo vi ld.so.preload /usr/lib/arm-linux-gnueabihf/libcofi_rpi.so コメント

#/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so

umount /dev/mapper/loop0p2 kpartx -d 2013-05-25-wheezy-raspbian.img

次にqemuを実行します

qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1" -hda 2013-05-25-wheezy-raspbian.img

これは問題なく完全に起動します

于 2013-09-13T07:08:19.543 に答える