Steps to Configure UBIFS Boot - 2021.1 English

PetaLinux Tools Documentation Reference Guide (UG1144)

Document ID
UG1144
Release Date
2021-06-16
Version
2021.1 English
  1. Set the root file system to UBIFS. For more information, see Root File System Type Configuration.

    .
    1. Select petalinux-config > Image Packaging Configuration > Root filesystem type (UBI/UBIFS).
    2. Specify the arguments used in mkfs.ubifs to create the UBIFS partition-m 2 -e 130944 -c 400 For QSPI 128 erase block size.
    3. Specify the arguments used in ubisize to create the UBIFS partition. -m 2048 -p 128KiB -s 512 For QSPI 128 erase block size.
    4. Specify the ubifs part name to add in bootargs, for example, ubifs.
      Note: Ensure that you create the QSPI partition with the specified name.
    5. Specify the root file system format to build rootfs.ubi during the build.

      For example,

      tar.gz cpio cpio.gz.u-boot cpio.gz ext4 jffs2 ubi
      .
  2. Set Primary Flash as boot device and boot images storage. For more information, see Boot Images Storage Configuration and Primary Flash Partition Configuration.
  3. Build the system image. For more information, see Build System Image.
  4. Boot a PetaLinux Image on Hardware with SD Card. For more information, see Boot a PetaLinux Image on Hardware with an SD Card.
  5. Ensure that you have configured the TFTP server in the host.
  6. Set the server IP address to the host IP address using the following command at U-Boot prompt.
    ZynqMP> setenv serverip <HOST IP ADDRESS>;
    1. Detect Flash Memory.
      ZynqMP> sf probe 0 0 0
    2. Erase Flash Memory.
      ZynqMP> sf erase 0 0x8000000
    3. Read images onto Memory and write into Flash.
      • Read BOOT.BIN.
        ZynqMP> tftpboot 0x80000 BOOT.BIN
      • Write BOOT.BIN.
        ZynqMP> sf write 0x80000 0x0 <size of boot.bin>

        Example: sf write 0x80000 0x0 0x10EF48

      • Read image.ub.
        ZynqMP> tftpboot 0x80000 image.ub
      • Write image.ub.
        ZynqMP>sf write 0x80000 <loading address of kernel> <size of image.ub>

        Example: sf write 0x80000 0xF40000 0x6cb0e4

      • Read rootfs.ubi.
        ZynqMP> tftpboot 0x80000 rootfs.ubi
      • Write rootfs.ubi.
        ZynqMP> sf write 0x80000 <loading address of rootfs.ubi> <size of rootfs.ubi>

        Example: sf write 0x80000 0x04000000 0x7d4000

      • Read boot.scr
        ZynqMP> tftpboot 0x80000 boot.scr
      • Write boot.scr
        ZynqMP> sf write 0x80000 <loading address of boot.scr> < size of boot.scr>

        Example: sf write 0x80000 0x03e80000 0x80000

        Note: Check the offsets for kernel and root file system at petalinux-config > u-boot Configuration > u-boot script configuration. If they do not match, the process may fail at the U-Boot prompt.
  7. Enable QSPI flash boot mode on board.
  8. Reset the board (booting starts from flash).