UBIFS ブートの設定 - 2023.1 日本語

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

Document ID
UG1144
Release Date
2023-05-16
Version
2023.1 日本語
次の手順に従って、UBIFS 用に PetaLinux を設定します。
  1. ルート ファイル システムを UBIFS に設定します。詳細は、ルート ファイル システム タイプの設定 を参照してください。

    .
    1. petalinux-config > Image Packaging Configuration > Root filesystem type (UBI/UBIFS) を選択します。
    2. mkfs.ubifs に使用される引数を指定して、UBIFS パーティションを作成します。-m 2 -e 130944 -c 400 (QSPI 128k 消去ブロック サイズ)。
    3. ubinize に使用される引数を使用して、UBIFS パーティションを作成します。-m 2048 -p 128KiB -s 512 (QSPI 128k 消去ブロック サイズ)。
    4. bootargs に追加する ubifs デバイス名 (例: ubifs) を指定します。
      注記: 指定した名前の QSPI パーティションが作成されることを確認します。
    5. ビルド中に rootfs.ubi をビルドするルート ファイル システム フォーマットを指定します。

      次に例を示します。

      tar.gz cpio cpio.gz.u-boot cpio.gz ext4 jffs2 ubi
  2. プライマリ フラッシュをブート デバイスとして設定し、ブー トスクリプトを作成します。詳細は、U-Boot ブート スクリプト (boot.scr) の設定 および プライマリ フラッシュ パーティションの設定 を参照してください。
  3. システム イメージをビルドします。詳細は、システム イメージのビルド を参照してください。
  4. SD カードを使用してハードウェア上で PetaLinux イメージをブートします。詳細は、SD カードを使用したハードウェア上での PetaLinux イメージのブート を参照してください。
  5. ホストで TFTP サーバーが設定されていることを確認します。
  6. カーネルとルート ファイル システムのオフセットを確認します (petalinux-config > u-boot Configuration > u-boot script configuration)。一致しない場合、プロセスが U-Boot プロンプトでエラーとなる可能性があります。
  7. U-Boot プロンプトで次のコマンドを使用して、サーバーの IP アドレスをホストの IP アドレスに設定します。
    ZynqMP> setenv serverip <HOST IP ADDRESS>;
    1. フラッシュ メモリを検出します。
      ZynqMP> sf probe 0 0 0
    2. フラッシュ メモリを消去します。
      ZynqMP> sf erase 0 0x8000000
    3. メモリにイメージを読み込んで、フラッシュに書き込みます。
      • BOOT.BIN を読み込みます。
        ZynqMP> tftpboot 0x80000 BOOT.BIN
      • BOOT.BIN を書き込みます。
        ZynqMP> sf write 0x80000 0x0 $filesize

        例: sf write 0x80000 0x0 0x10EF48

      • image.ub を読み込みます。
        ZynqMP> tftpboot 0x80000 image.ub
      • image.ub を書き込みます。
        ZynqMP>sf write 0x80000 <Fit Image Flash Offset Address> $filesize

        例: sf write 0x80000 0xF40000 0x6cb0e4

      • rootfs.ubi を読み込みます。
        ZynqMP> tftpboot 0x80000 rootfs.ubi
      • rootfs.ubi を書き込みます。
        ZynqMP> sf write 0x80000 <Rootfs Flash Offset Address> $filesize

        例: sf write 0x80000 0x04000000 0x7d4000

      • boot.scr を読み込みます。
        ZynqMP> tftpboot 0x80000 boot.scr
      • boot.scr を書き込みます。
        ZynqMP> sf write 0x80000 <boot.scr Flash Offset Address> $filesize

        例: sf write 0x80000 0x03e80000 0x80000

  8. ボードで QSPI フラッシュ ブート モードを有効にします。
  9. ボードをリセットします (ブートはフラッシュから開始)。