次の手順に従って、UBIFS 用に PetaLinux を設定します。
- ルート ファイル システムを
UBIFS
に設定します。詳細は、ルート ファイル システム タイプの設定 を参照してください。- を選択します。
-
mkfs.ubifs に使用される引数を指定して、UBIFS パーティションを作成します。
-m 2 -e 130944 -c 400
(QSPI 128k 消去ブロック サイズ)。 -
ubinize に使用される引数を使用して、UBIFS パーティションを作成します。
-m 2048 -p 128KiB -s 512
(QSPI 128k 消去ブロック サイズ)。 - bootargs に追加する ubifs デバイス名 (例: ubifs) を指定します。注記: 指定した名前の QSPI パーティションが作成されることを確認します。
- ビルド中に rootfs.ubi をビルドするルート ファイル システム フォーマットを指定します。
次に例を示します。
tar.gz cpio cpio.gz.u-boot cpio.gz ext4 jffs2 ubi
- プライマリ フラッシュをブート デバイスとして設定し、ブー トスクリプトを作成します。詳細は、U-Boot ブート スクリプト (boot.scr) の設定 および プライマリ フラッシュ パーティションの設定 を参照してください。
- システム イメージをビルドします。詳細は、システム イメージのビルド を参照してください。
- SD カードを使用してハードウェア上で PetaLinux イメージをブートします。詳細は、SD カードを使用したハードウェア上での PetaLinux イメージのブート を参照してください。
- ホストで TFTP サーバーが設定されていることを確認します。
- カーネルとルート ファイル システムのオフセットを確認します ( )。一致しない場合、プロセスが U-Boot プロンプトでエラーとなる可能性があります。
- U-Boot プロンプトで次のコマンドを使用して、サーバーの IP アドレスをホストの IP アドレスに設定します。
ZynqMP> setenv serverip <HOST IP ADDRESS>;
- フラッシュ メモリを検出します。
ZynqMP> sf probe 0 0 0
- フラッシュ メモリを消去します。
ZynqMP> sf erase 0 0x8000000
- メモリにイメージを読み込んで、フラッシュに書き込みます。
-
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
-
BOOT.BIN を読み込みます。
- フラッシュ メモリを検出します。
- ボードで QSPI フラッシュ ブート モードを有効にします。
- ボードをリセットします (ブートはフラッシュから開始)。