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