QEMU でのその他のブート方法 - 2023.1 日本語

PetaLinux ツール資料: リファレンス ガイド (UG1144)

Document ID
UG1144
Release Date
2023-05-16
Version
2023.1 日本語
  • 新規にビルドした <plnx-proj-root>/images/linux/u-boot.elf を QEMU にダウンロード
    petalinux-boot --qemu --u-boot
    • Zynq UltraScale+ MPSoC および Versal アダプティブ SoC の場合、<plnx-proj-root>/images/linux/u-boot.elf が読み込まれ、TF-A イメージ <plnx-proj-root>/images/linux/bl31.elf が QEMU でブートします。TF-A が、読み込まれた U-Boot イメージをブートします。
    • MicroBlaze CPU および Zynq 7000 デバイスの場合、<plnx-proj-root>/images/linux/u-boot.elf が QEMU でブートします。
  • 新規にビルドしたカーネルを QEMU にダウンロード
    petalinux-boot --qemu --kernel
    • MicroBlaze プロセッサの場合、<plnx-proj-root>/images/linux/image.elf が QEMU でブートします。
    • Zynq 7000 デバイスの場合、<plnx-proj-root>/images/linux/zImage が QEMU でブートします。
    • Zynq UltraScale+ MPSoC の場合、カーネル イメージ <plnx-proj-root>/images/linux/Image が読み込まれ、TF-A イメージ <plnx-proj-root>/images/linux/bl31.elf が QEMU でブートし、PMU ファームウェアがバックグラウンドで実行されている状態で、TF-A が読み込まれたカーネル イメージをブートします。
    • AMD Versal™ アダプティブ SoC の場合、カーネル イメージ <plnx-proj-root>/images/linux/Image が読み込まれ、TF-A イメージ <plnx-proj-root>/images/linux/bl31.elf が QEMU でブートし、PLM および PSM ファームウェアがバックグラウンドで実行されている状態で、TF-A が読み込まれたカーネル イメージをブートします。
      注記: Versal アダプティブ SoC の場合、QEMU は switch_root が有効時に最小限のルート ファイル システムをブートするため、ERROR: There's no '/dev' on rootfs.. メッセージを示す rootfs プロンプトが表示されます。これは、PetaLinux が QEMU で SD ブート モードを使用しており、デフォルトでは SD イメージが最小限のルート ファイル システムしか含まない FAT で構成されているためです。

Linux が正常に起動した後、petalinux というユーザー名でログインして、パスワードを変更してください。lsifconfigcat/proc/cpuinfoand などのコマンドを試してみます。これらは、実際のハードウェア上と同じように機能します。終了後、次の手順でエミュレーターを終了します。

  1. Ctrl + A を押す
  2. 離す
  3. X を押す
  • カスタマイズした U-Boot イメージを --uboot/--u-boot オプションでダウンロード
    petalinux-boot --qemu --u-boot/--uboot <specify custom u-boot.elf path>
  • カスタマイズしたカーネル イメージを --kernel オプションでダウンロード
    • Zynq UltraScale+ MPSoC および Versal アダプティブ SoC の場合は、image を使用します。
      petalinux-boot --qemu --kernel <specify custom Image path>
    • Zynq 7000 デバイスの場合は、zImage を使用します。
      petalinux-boot --qemu --kernel <specify custom zimage path>
    • MicroBlaze プロセッサでは、次のように Image.elf を使用します。
      petalinux-boot --qemu --kernel <specify custom Image.elf path>
  • カスタマイズした ルート ファイル システム イメージを --rootfs オプションでダウンロード
    petalinux-boot --qemu --kernel --rootfs <specify custom cpio.gz.u-boot path>
  • カスタマイズした DTB イメージを --kernel オプションでダウンロード
    petalinux-boot --qemu --kernel <specify custom kernel path> --dtb <specify custom dtb path>
  • カスタマイズした DTB イメージを --uboot/--u-boot オプションでダウンロード
    petalinux-boot --qemu --u-boot/--uboot <specify custom u-boot path> --dtb <specify custom dtb path> 

    Versal アダプティブ SoC は、この機能をサポートしていません。

  • カスタマイズした pmufw イメージを --kernel オプションでダウンロード
    petalinux-boot --qemu --kernel <specify custom kernel path> --pmufw <specify custom pmufw.elf path>
  • カスタマイズした pmufw イメージを --uboot/--u-boot オプションでダウンロード
    petalinux-boot --qemu --uboot/--u-boot <specify custom u-boot path> --pmufw <specify custom pmufw.elf path>
  • SD カードに対応していないボードでブート モードを QSPI に変更
    • QEMU のデフォルトの petalinux-boot コマンドは、SD ブートモードで動作します。ボードに SD スロットがなく、QSPI または OSPI をサポートしている場合は、次の手順でブート モードを QSPI または OSPI に変更してください。
    • 注記: 次に示すコマンドは、ブートモードが vck190 ボードで動作する 8 として指定されています。各ボードのブート モード番号を確認するには、BSP の README ファイルに記載されている各ボードのユーザーガイドを参照してください。
      petalinux-package --boot --uboot 
      dd if=/dev/zero bs=1G count=1 > <QEMU_QSPI>.bin
      dd if=prebuilt/linux/images/BOOT.BIN of=<QEMU_QSPI>.bin bs=1 seek=0 conv=notrunc
      petalinux-boot --qemu --prebuilt 3 --qemu-args=" -drive file=<QEMU_QSPI>.bin,if=mtd,format=raw,index=4 -boot mode=8"
      booti [<addr> [<initrd>[:<size>]] [<fdt>]]
注記: QEMU のバージョンが 7.1 にアップグレードされました。これらの旧オプションは新バージョンでは廃止予定ですが、以前と同様に動作します。PetaLinux ツールは現在も旧オプションを使用するため、警告メッセージが表示されます。このメッセージは無視しても問題ありません。