#define PARTS_DATA "system-data"
#define PARTS_USER "user"
#define PARTS_MODULES "modules"
+#define PARTS_RAMDISK "ramdisk"
#define CONFIG_DFU_ALT_SYSTEM \
"uImage fat 0 1;" \
""PARTS_ROOT" part 0 2;" \
""PARTS_DATA" part 0 3;" \
""PARTS_USER" part 0 5;" \
- ""PARTS_MODULES" part 0 6\0"
+ ""PARTS_MODULES" part 0 6\0" \
+
+#define CONFIG_DFU_ALT_SYSTEM_2 \
+ "uImage fat 0 1;" \
+ "zImage fat 0 1;" \
+ "Image.itb fat 0 1;" \
+ "uInitrd fat 0 1;" \
+ "boot.scr fat 0 1;" \
+ "boot.cmd fat 0 1;" \
+ "exynos5422-odroidxu3.dtb fat 0 1;" \
+ "exynos5422-odroidxu3-lite.dtb fat 0 1;" \
+ "exynos5422-odroidxu4.dtb fat 0 1;" \
+ ""PARTS_BOOT" part 0 1;" \
+ ""PARTS_ROOT" part 0 2;" \
+ ""PARTS_DATA" part 0 3;" \
+ ""PARTS_USER" part 0 5;" \
+ ""PARTS_MODULES" part 0 6;" \
+ ""PARTS_RAMDISK" part 0 7\0"\
#define CONFIG_DFU_ALT_BOOT_EMMC \
"u-boot raw 0x3e 0x800 mmcpart 1;" \
"mmcbootpart=1\0" \
"mmcrootdev=0\0" \
"mmcrootpart=2\0" \
+ "ramdiskpart=7\0"\
+ "ramdisksize=800000\0"\
"dfu_usb_con=0\0" \
"dfu_interface=mmc\0" \
"dfu_device=" __stringify(CONFIG_MMC_DEFAULT_DEV) "\0" \
- "dfu_alt_system="CONFIG_DFU_ALT_SYSTEM \
+ "dfu_alt_system="CONFIG_DFU_ALT_SYSTEM \
+ "dfu_alt_system_2="CONFIG_DFU_ALT_SYSTEM_2 \
"dfu_alt_info=Autoset by THOR/DFU command run.\0" \
"bootclone=" \
"echo ' 'Bootloader clone from SD to eMMC.;" \
"setenv initrdname ramdisk.img;" \
"load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} " \
"${initrdname};" \
+ "elif test -e mmc ${mmcbootdev}:${ramdiskpart} sbin/init; then " \
+ "setenv initrdname ramdisk.img;" \
+ "part start mmc ${mmcbootdev} ${ramdiskpart} ramdisk_start; " \
+ "part size mmc ${mmcbootdev} ${ramdiskpart} ramdisk_size; " \
+ "mmc read ${initrdaddr} ${ramdisk_start} ${ramdisk_size}; " \
"else " \
"load mmc ${mmcbootdev}:${mmcbootpart} ${initrdaddr} " \
"${initrdname};" \