# Custom Flash Makefile
 
+ifeq ($(PLATFORM), nevis)
+
+ERASEBLOCK = 0x20000
+FLASHIMG = $(BUILD_TMP)/nevis-system-tmp.img
+SUMIMG   = $(BUILD_TMP)/nevis-system-$(DATE).sum.img
+
 flash: $(D)/flashcp
        rm -fr $(BUILD_TMP)/rootfs/oldroot
-       if [ $(PLATFORM) = "apollo" ]; then \
-               cd $(BUILD_TMP)/rootfs && \
-               cp -f $(BUILD_TMP)/rootfs/etc/init.d/update.sh $(BUILD_TMP)/update.sh && \
-               rm -f $(BUILD_TMP)/rootfs/etc/init.d/update.sh && \
-               cp -f $(BUILD_TMP)/rootfs/sbin/devtable $(BUILD_TMP)/devtable && \
-               rm -f $(BUILD_TMP)/rootfs/sbin/devtable && \
-               tar -cf $(BUILD_TMP)/apollo-system-$(DATE).tar * .??*; \
-               $(HOSTPREFIX)/bin/mkfs.jffs2 -U -p -r $(BUILD_TMP)/rootfs -D $(BUILD_TMP)/devtable -e 128KiB -o $(BUILD_TMP)/apollo-system-$(DATE).img; \
-               cp -f $(BUILD_TMP)/devtable $(BUILD_TMP)/rootfs/sbin/devtable; \
-               rm -f $(BUILD_TMP)/devtable; \
-               cp -f $(BUILD_TMP)/update.sh $(BUILD_TMP)/rootfs/etc/init.d/update.sh; \
-               rm -f $(BUILD_TMP)/update.sh; \
-       elif [ $(PLATFORM) = "kronos" ]; then \
-               cd $(BUILD_TMP)/rootfs && \
-               cp -f $(BUILD_TMP)/rootfs/etc/init.d/update.sh $(BUILD_TMP)/update.sh && \
-               rm -f $(BUILD_TMP)/rootfs/etc/init.d/update.sh && \
-               cp -f $(BUILD_TMP)/rootfs/sbin/devtable $(BUILD_TMP)/devtable && \
-               rm -f $(BUILD_TMP)/rootfs/sbin/devtable && \
-               tar -cf $(BUILD_TMP)/kronos-system-$(DATE).tar * .??*; \
-               $(HOSTPREFIX)/bin/mkfs.jffs2 -U -p -r $(BUILD_TMP)/rootfs -D $(BUILD_TMP)/devtable -e 128KiB -o $(BUILD_TMP)/kronos-system-$(DATE).img; \
-               cp -f $(BUILD_TMP)/devtable $(BUILD_TMP)/rootfs/sbin/devtable; \
-               rm -f $(BUILD_TMP)/devtable; \
-               cp -f $(BUILD_TMP)/update.sh $(BUILD_TMP)/rootfs/etc/init.d/update.sh; \
-               rm -f $(BUILD_TMP)/update.sh; \
-       else \
-               cd $(BUILD_TMP)/rootfs && \
-               cp -f $(BUILD_TMP)/rootfs/etc/init.d/update.sh $(BUILD_TMP)/update.sh && \
-               rm -f $(BUILD_TMP)/rootfs/etc/init.d/update.sh && \
-               cp -f $(BUILD_TMP)/rootfs/sbin/devtable $(BUILD_TMP)/devtable && \
-               rm -f $(BUILD_TMP)/rootfs/sbin/devtable && \
-               tar -cf $(BUILD_TMP)/nevis-system-$(DATE).tar * .??*; \
-               $(HOSTPREFIX)/bin/mkfs.jffs2 -U -p -r $(BUILD_TMP)/rootfs -D $(BUILD_TMP)/devtable -e 128KiB -o $(BUILD_TMP)/nevis-system-$(DATE).img; \
-               cp -f $(BUILD_TMP)/devtable $(BUILD_TMP)/rootfs/sbin/devtable; \
-               rm -f $(BUILD_TMP)/devtable; \
-               cp -f $(BUILD_TMP)/update.sh $(BUILD_TMP)/rootfs/etc/init.d/update.sh; \
-               rm -f $(BUILD_TMP)/update.sh; \
-       fi
+       echo "/dev/console c 0600 0 0 5 1 0 0 0" > $(BUILD_TMP)/devtable; \
+       tar cfz $(BUILD_TMP)/rootfs.tar.gz $(BUILD_TMP)/rootfs; \
+       mkfs.jffs2 -e $(ERASEBLOCK) -p -U -D $(BUILD_TMP)/devtable -d $(BUILD_TMP)/rootfs -o $(FLASHIMG); \
+       sumtool -e $(ERASEBLOCK) -p -i $(FLASHIMG) -o $(SUMIMG); \
+       rm -f $(BUILD_TMP)/devtable;
+       rm -f $(FLASHIMG); \
+       mkdir -p $(BUILD_TMP)/rootfs/oldroot
+
+endif
+
+ifeq ($(PLATFORM), apollo)
+ERASEBLOCK    = 
+FLASHIMG_BODY = $(BUILD_TMP)/rootfs.arm.jffs2.nand
+SUMIMG_BODY   = $(BUILD_TMP)/rootfs.arm.jffs2.nand
+
+ifeq ($(BOXMODEL), tank)
+ERASEBLOCK  = 0x40000
+FLASHIMG   = $(FLASHIMG_BODY).256k.$(DATE).tmp.img
+SUMIMG     = $(SUMIMG_BODY).256k.$(DATE).img
+endif
+
+ifeq ($(BOXMODEL), trinity)
+ERASEBLOCK = 0x20000
+FLASHIMG   = $(FLASHIMG_BODY).$(DATE).tmp.img
+SUMIMG     = $(SUMIMG_BODY).$(DATE).img
+endif
+
+flash: $(D)/flashcp
+       rm -fr $(BUILD_TMP)/rootfs/oldroot; \
+       echo "/dev/console c 0600 0 0 5 1 0 0 0" > $(BUILD_TMP)/devtable; \
+       mkfs.jffs2 -n -e $(ERASEBLOCK) -l -U -D $(BUILD_TMP)/devtable -r $(BUILD_TMP)/rootfs -o $(FLASHIMG); \
+       sumtool -n -e $(ERASEBLOCK) -l -i $(FLASHIMG) -o $(SUMIMG); \
+       rm -f $(BUILD_TMP)/devtable; \
+       rm -f $(FLASHIMG); \
+       mkdir -p $(BUILD_TMP)/rootfs/oldroot
+
+endif # ($(PLATFORM), apollo)
+
+ifeq ($(PLATFORM), kronos)
+ERASEBLOCK    = 
+FLASHIMG_BODY = $(BUILD_TMP)/rootfs.arm.jffs2.nand
+SUMIMG_BODY   = $(BUILD_TMP)/rootfs.arm.jffs2.nand
+
+ERASEBLOCK = 0x20000
+FLASHIMG   = $(FLASHIMG_BODY).$(DATE).tmp.img
+SUMIMG     = $(SUMIMG_BODY).$(DATE).img
+
+
+flash: $(D)/flashcp
+       rm -fr $(BUILD_TMP)/rootfs/oldroot; \
+       echo "/dev/console c 0600 0 0 5 1 0 0 0" > $(BUILD_TMP)/devtable; \
+       mkfs.jffs2 -n -e $(ERASEBLOCK) -l -U -D $(BUILD_TMP)/devtable -r $(BUILD_TMP)/rootfs -o $(FLASHIMG); \
+       sumtool -n -e $(ERASEBLOCK) -l -i $(FLASHIMG) -o $(SUMIMG); \
+       rm -f $(BUILD_TMP)/devtable; \
+       rm -f $(FLASHIMG); \
+       mkdir -p $(BUILD_TMP)/rootfs/oldroot
+
+endif # ($(PLATFORM), kronos)
+
 
 flash-check:
        @if [ $(PLATFORM) = "apollo" ]; then \