# Minimal SD card image for the Freescale MX23/MX28 Template
#
# We mimic the .sdcard Freescale's MX23/MX28 image format:
# * u-boot.sb is placed at offset 1M,
# * a FAT partition at offset 16 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 {
		partition-type = 0x53
		image = "u-boot.sd"
		offset = 1M
		size = 16M
	}

	partition kernel {
		partition-type = 0xC
		bootable = "true"
		image = "boot.vfat"
	}

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