# Minimal SD card image for the Freescale iMX8 boards
#
# We mimic the .sdcard Freescale's image format:
# * the SD card must have 33 kB free space at the beginning,
# * U-Boot is integrated into imx8-boot-sd.bin and is dumped as is,
# * a FAT partition at offset 8MB is containing Image and DTB files
# * a single root filesystem partition is required (ext2, ext3 or ext4)
#

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

image sdcard.img {
  hdimage {
  }

  partition imx-boot {
    in-partition-table = "no"
    image = "imx8-boot-sd.bin"
    offset = %IMXOFFSET%
  }

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

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