From 8b0c5ed2e262b612eb8da503a9a10bbf1f270dc1 Mon Sep 17 00:00:00 2001
From: Kenneth Johansson <kenneth@southpole.se>
Date: Mon, 29 Aug 2016 18:30:18 +0200
Subject: [PATCH] generate rootfs.ubi with kernel and dtb in /boot.

---
 iopsys-ramips/ex300/config-3.18 | 40 +++++++++++++++++++++++--
 iopsys-ramips/image/Makefile    | 53 +++++++++++++++++++--------------
 2 files changed, 68 insertions(+), 25 deletions(-)

diff --git a/iopsys-ramips/ex300/config-3.18 b/iopsys-ramips/ex300/config-3.18
index d045b2a42..a301e1d8c 100644
--- a/iopsys-ramips/ex300/config-3.18
+++ b/iopsys-ramips/ex300/config-3.18
@@ -16,8 +16,8 @@ CONFIG_CEVT_R4K=y
 # CONFIG_CEVT_SYSTICK_QUIRK is not set
 CONFIG_CLKDEV_LOOKUP=y
 CONFIG_CLONE_BACKWARDS=y
-CONFIG_CMDLINE="rootfstype=squashfs,jffs2 mem=128M"
-CONFIG_CMDLINE_BOOL=y
+#CONFIG_CMDLINE="rootfstype=squashfs,jffs2 mem=128M"
+#CONFIG_CMDLINE_BOOL=y
 # CONFIG_CMDLINE_OVERRIDE is not set
 CONFIG_CPU_GENERIC_DUMP_TLB=y
 CONFIG_CPU_HAS_PREFETCH=y
@@ -462,3 +462,39 @@ CONFIG_RA_HW_NAT_WIFI_NEW_ARCH=y
 # CONFIG_RA_HW_NAT_NIC_USB is not set
 # CONFIG_RA_HW_NAT_ACCNT_MAINTAINER is not set
 
+CONFIG_MTD_NAND=y
+# CONFIG_MTD_NAND_CAFE is not set
+# CONFIG_MTD_NAND_DENALI is not set
+# CONFIG_MTD_NAND_DISKONCHIP is not set
+# CONFIG_MTD_NAND_DOCG4 is not set
+CONFIG_MTD_NAND_ECC=y
+# CONFIG_MTD_NAND_ECC_BCH is not set
+# CONFIG_MTD_NAND_ECC_SMC is not set
+# CONFIG_MTD_NAND_GPIO is not set
+CONFIG_MTD_NAND_IDS=y
+# CONFIG_MTD_NAND_NANDSIM is not set
+# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set
+# CONFIG_MTD_NAND_PLATFORM is not set
+# CONFIG_MTD_NAND_RICOH is not set
+# CONFIG_MTD_SM_COMMON is not set
+# CONFIG_MTD_SPINAND_MT29F is not set
+CONFIG_MTK_MTD_NAND=y
+CONFIG_CRC16=y
+CONFIG_CRYPTO_DEFLATE=y
+CONFIG_CRYPTO_LZO=y
+CONFIG_CRYPTO_XZ=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_MTD_UBI=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_ZLIB_INFLATE=y
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_BLOCK is not set
+# CONFIG_MTD_UBI_FASTMAP is not set
+# CONFIG_MTD_UBI_GLUEBI is not set
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_UBIFS_FS=y
+CONFIG_UBIFS_FS_ADVANCED_COMPR=y
+CONFIG_UBIFS_FS_LZO=y
+CONFIG_UBIFS_FS_XZ=y
+CONFIG_UBIFS_FS_ZLIB=y
diff --git a/iopsys-ramips/image/Makefile b/iopsys-ramips/image/Makefile
index b8d81a663..ac09aef5c 100644
--- a/iopsys-ramips/image/Makefile
+++ b/iopsys-ramips/image/Makefile
@@ -8,10 +8,7 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
 UIMAGE:=$(IMG_PREFIX)-uImage
-
-define Image/Build/Initramfs
-	$(call Image/Build/Profile/$(PROFILE),initramfs)
-endef
+UBIFS_OPTS:="-m 2048 -e 126976 -c 4096"
 
 DEVICE_VARS += DTS
 
@@ -20,19 +17,46 @@ loadaddr-$(CONFIG_TARGET_iopsys_ramips_ex300) := 0x80001000
 
 KERNEL_LOADADDR := $(loadaddr-y)
 
-KERNEL_DTB = kernel-bin | patch-dtb | lzma
+KERNEL_DTB = kernel-bin | patch-dtb | lzma 
 define Device/Default
-  KERNEL := $(KERNEL_DTB) | uImage lzma
+  KERNEL := $(KERNEL_DTB) | uImage lzma | Install_uimage_dtb
   IMAGES := sysupgrade.bin
   IMAGE_SIZE := 30m
   IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
 endef
 
+define CompressLzma
+        $(STAGING_DIR_HOST)/bin/lzma e $(1) -lc1 -lp2 -pb2 $(2)
+endef
+
+define MkImage
+        $(eval imagename=$(if $(4),$(4),MIPS OpenWrt Linux-$(LINUX_VERSION)))
+        -mkimage -A mips -O linux -T kernel -C $(1) -a $(loadaddr-y) -e $(loadaddr-y) \
+                -n "$(imagename)" \
+                -d $(2) $(3)
+endef
+ 
 define Build/patch-dtb 
 	$(LINUX_DIR)/scripts/dtc/dtc -O dtb -o $@.dtb ../dts/$(DTS).dts
 	$(STAGING_DIR_HOST)/bin/patch-dtb $@ $@.dtb
+	mkdir -p  $(TARGET_DIR)/boot
+	cp $@.dtb $(TARGET_DIR)/boot/dtb
+        cp $@.dtb $(BIN_DIR)/
+
+endef
+
+define Build/Install_uimage_dtb
+	echo "ken was here" >/tmp/B
+	$(call CompressLzma,$(KDIR)/vmlinux,$(KDIR)/vmlinux.bin.lzma)
+	$(call MkImage,lzma,$(KDIR)/vmlinux.bin.lzma,$(KDIR)/uImage.lzma)
+	echo "ken was here again" >>/tmp/B
+	cp $(KDIR)/uImage.lzma $(BIN_DIR)/$(UIMAGE).bin
+	mkdir -p  $(TARGET_DIR)/boot
+        cp $(KDIR)/uImage.lzma $(TARGET_DIR)/boot/uImage.bin
 endef
 
+
+
 ifeq ($(SUBTARGET),ex300)
   TARGET_DEVICES += ex300
 endif
@@ -43,21 +67,4 @@ define Device/ex300
 endef
 
 
-# define Image/BuildKernel
-#         echo "cp $(KDIR)/vmlinux.elf $(BIN_DIR)/$(VMLINUX).elf" >>/tmp/A
-#         cp $(KDIR)/vmlinux.elf $(BIN_DIR)/$(VMLINUX).elf
-#         cp $(KDIR)/vmlinux $(BIN_DIR)/$(VMLINUX).bin
-#         $(call CompressLzma,$(KDIR)/vmlinux,$(KDIR)/vmlinux.bin.lzma)
-#         $(call MkImage,lzma,$(KDIR)/vmlinux.bin.lzma,$(KDIR)/uImage.lzma)
-#         cp $(KDIR)/uImage.lzma $(BIN_DIR)/$(UIMAGE).bin
-#         mkdir -p  $(TARGET_DIR)/boot
-#         cp $(KDIR)/uImage.lzma $(TARGET_DIR)/boot/uImage.bin
-#         cp $(KDIR)/$$(KERNEL_IMAGE).dtb $(TARGET_DIR)/boot
-#         cp $(KDIR)/$$(KERNEL_IMAGE).dtb $(BIN_DIR)/
-# endef
-
-
-
-
-
 $(eval $(call BuildImage))
-- 
GitLab