Creating a bootable SD card requires an SD card reader operational under Linux to format and access the Linux partition of the card. If you do not have SD card access under Linux then copying the bootloader and mounting the root filesystem on SD/MMC card will not be possible.

Pre-built images are available on PHYTEC's ArtifactoryIf you have built your own images, then the images are located in: <YOCTO_DIR>/build/arago-tmp-external-linaro-toolchain/deploy/images/<MACHINE>/

In this document, YOCTO_DIR refers to your base Yocto directory, YOCTO_IMAGE refers to the built Yocto image target, and MACHINE refers to the machine target for which the image was built.

Format the SD Card

  1.  To format the SD card, you may use the script provided by TI, called "create-sdcard.sh". The script is available here. The script will also be built with the BSP, and can be found in the tarball processor-sdk-linux-image-am57xx-phycore-rdk.tar.xz (located in the bin/ directory. For more information regarding the script, see: http://processors.wiki.ti.com/index.php/Processor_SDK_Linux_create_SD_card_script

    When using this script, it will ask if you want to create 2 or 3 partitions. Press 2.

    Further, when it asks if you would like to continue press N.

Install or Update Individual Parts of Image

Once the SD card has been formatted, you may update the kernel, root filesystem, and U-Boot individually. For reference, the following steps are targeting the standard phyCORE-AM57xx kit SOM, PCM-057-41300111I.

If you are using a non-kit SOM, please see the Yocto Machine Configuration Table section of the latest AM57xx BSP release notes to determine which files to use.

Root Filesystem

  1. If modifying the root filesystem, remove the existing:

    sudo rm -rf /media/<user>/rootfs/*
  2. Load the new filesystem to the SD Card. 

    sudo tar -Jxf <YOCTO_IMAGE>-<MACHINE>.tar.xz -C /media/<user>/rootfs && sync

Linux Kernel

If you do not need to update your Linux kernel or device tree images, this step can be skipped. The root file system already contains a kernel and default dtb files in its boot directory.

  1. Remove the existing Linux kernel and device tree images.

    sudo rm /media/<user>/rootfs/boot/zImage
    sudo rm /media/<user>/rootfs/boot/devicetree-zImage-am572x-phycore-rdk-41300111i.dtb
  2.  Load the new Linux kernel and device tree images to the SD Card. Note that u-boot expects the kernel to be named zImage and the standard SOM dtb file to be named am572x-phycore-rdk-41300111i.dtb:

    sudo cp zImage /media/<user>/rootfs/boot/zImage && sync
    sudo cp zImage-am572x-phycore-rdk-41300111i.dtb /media/<user>/rootfs/boot/am572x-phycore-rdk-41300111i.dtb && sync

Bootloader

  1. Remove the existing U-Boot and MLO images:

    rm /media/<user>/boot/u-boot.img
    rm /media/<user>/boot/MLO


  2. Copy the new images to the SD Card:

    cp u-boot.img /media/<user>/boot/u-boot.img && sync
    cp MLO /media/<user>/boot/MLO && sync