# Minimal SD card image for the Freescale boards Template
#
# 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 8 MB 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 u-boot {
    in-partition-table = "no"
    image = "%UBOOTBIN%"
    offset = 1024
  }

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

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