# Minimal SD card image for the Freescale boards Template for SPL Boot
#
# We mimic the .sdcard Freescale's image format:
# * the SD card must have 1 kB free space at the beginning,
# * U-Boot is dumped as is,
# * a FAT partition at offset 8MB is containing zImage/uImage and DTB files
# * a single root filesystem partition is required (ext2, ext3 or ext4)
#

image boot.vfat {
  vfat {
    label = "boot"
    files = {
      %FILES%
    }
  }
  size = 16M
}

image sdcard.img {
  hdimage {
  }

  partition spl {
    in-partition-table = "no"
    image = "SPL"
    offset = 1024
  }

  partition u-boot {
    in-partition-table = "no"
    image = "%UBOOTBIN%"
    offset = 69K
  }

  partition boot {
    partition-type = 0xC
    bootable = "true"
    image = "boot.vfat"
    offset = 8M
  }

  partition rootfs {
    partition-type = 0x83
    image = "rootfs.ext2"
  }
}
