Meniru RaspberryPi menggunakan QEMU

8

Saya ingin menjalankan sistem RaspberryPi di MacOSX saya menggunakan QEMU. Saya mencoba yang berikut, menggunakan tutorial ini :

./qemu-system-arm -M versatilepb -cpu arm1176 -m 256 -hda ArchLinuxARM-2014.06-rpi.img -kernel kernel.img -tambahkan "root = / dev / sda" -serial stdio

Di mana ArchLinuxARM-2014.06-rpi.imggambar RPi saya dan kernel.imgtepatnya berasal ArchLinuxARM-2014.06-rpi.img(saya membuat salinannya, saya tidak yakin itu ide yang brilian).

Saya mendapatkan dua jendela QEMU sebagai hasilnya. Seseorang memiliki menu "Mesin" dan "Lihat", dan layar hitam menampilkan pesan berikut:

Tamu belum menginisialisasi tampilan (belum).

Yang kedua hanyalah sebuah jendela hitam.

Saya memiliki masalah yang sama menggunakan gambar Raspbian dan perintah yang sama. Apa yang saya lakukan salah?

Jonas Vautherin
sumber

Jawaban:

6
  • Pertama-tama, saya harus menggunakan kernel lain, kernel-qemuyang saya temukan di sini .

  • Lalu, saya bisa membuatnya bekerja menggunakan QEMU 1.7.1 :

    Dengan Raspbian:

    ./qemu-system-arm -kernel / path / ke / kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -serend "append" root = / dev / sda2 panic = 1 rootfstype = ext4 rw " -hda /path/to/2013-12-20-wheezy-raspbian.img

    Dengan Arch Linux, saya harus:

    1. Mulai dalam mode terminal (tidak yakin jika perlu) menggunakan:

      ./qemu-system-arm -kernel / path / ke / kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -aplikasi " root = / dev / sda5 panic = 1 rootfstype = ext4 rw init = / bin / bash "-hda /path/to/ArchLinuxARM-2014.06-rpi.img

      (Perhatikan bahwa init = / bin / bash ditambahkan di sini, dan Arch Linux membutuhkan root = / dev / sda5 alih-alih sda2)

    2. Ubah /etc/fstabsebagai berikut (partisi salah):

      # <file system> <dir>   <type>  <options>       <dump>  <pass>
      /dev/sda1       /boot   vfat    defaults        0       0
      
    3. Mulai dengan menggunakan:

      ./qemu-system-arm -kernel / path / ke / kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -aplikasi "root = / dev / sda5 panic = 1 rootfstype = ext4 rw" -hda /path/to/ArchLinuxARM-2014.06-rpi.img

  • Saya akhirnya menyadari bahwa saya dapat menggunakan versi terbaru QEMU (2.1.1) , tetapi saya harus menentukan output konsol:

    ./qemu-system-arm-path kernel / ke / kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append " console = ttyAMA0 root = / dev / sda5 rootfstype = ext4 rw" - hda /path/to/ArchLinuxARM-2014.06-rpi.img

    (Perhatikan bahwa saya menentukan konsol menggunakan konsol = ttyAMA0 )

Jonas Vautherin
sumber
Adakah yang punya tautan ke kernel yang ditautkan di sini - Saya punya masalah yang sama dan halamannya hilang :(
djsmiley2kStaysInside
2
Yang saya gunakan dalam jawaban saya ada di sini
JonasVautherin
Saya mencoba untuk membuat ulang ini dengan ArchLinuxARM-2014.06-rpi.img saya sendiri, tetapi lengkungan boot ke mode darurat. Apakah Anda masih memiliki gambar itu di sekitar? Atau ada tips lain untuk membuat sistem boot secara normal? Ia mengeluh tentang / dev / sda1 bukan perangkat boot yang benar
rien333