From: Felix Fietkau Date: Sat, 7 Nov 2015 12:51:31 +0000 (+0000) Subject: include/image.mk: Introduce generic option to wrap kernel into JFFS2 X-Git-Tag: reboot~1621 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=46f6626052e9a4da474db530f41508ef41915767 include/image.mk: Introduce generic option to wrap kernel into JFFS2 Some devices require the kernel to be in a JFFS2 file system. Make the support for this more generic so that it can be used by other devices. Signed-off-by: Benjamin Berg SVN-Revision: 47404 --- diff --git a/include/image.mk b/include/image.mk index 5cd0d2302b..a6ea8e5452 100644 --- a/include/image.mk +++ b/include/image.mk @@ -347,6 +347,21 @@ define Build/gzip @mv $@.new $@ endef +define Build/jffs2 + rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 && \ + mkdir -p $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$$(dirname $(1)) && \ + cp $@ $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/$(1) && \ + $(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad \ + $(if $(CONFIG_BIG_ENDIAN),--big-endian,--little-endian) \ + --squash-uids -v -e $(patsubst %k,%KiB,$(BLOCKSIZE)) \ + -o $@.new \ + -d $(KDIR_TMP)/$(DEVICE_NAME)/jffs2 \ + 2>&1 1>/dev/null | awk '/^.+$$$$/' && \ + $(STAGING_DIR_HOST)/bin/padjffs2 $@.new -J $(patsubst %k,,$(BLOCKSIZE)) + -rm -rf $(KDIR_TMP)/$(DEVICE_NAME)/jffs2/ + @mv $@.new $@ +endef + define Build/kernel-bin rm -f $@ cp $^ $@ diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile index 7bf2f278eb..15cf2c6b8b 100644 --- a/target/linux/ar71xx/image/Makefile +++ b/target/linux/ar71xx/image/Makefile @@ -140,20 +140,6 @@ endef DEVICE_VARS += UBNT_BOARD UBNT_CHIP UBNT_TYPE -define Build/mkubntkernelimage - rm -rf $(KDIR_TMP)/ubnt-$(KERNEL_IMAGE)/image && \ - mkdir -p $(KDIR_TMP)/ubnt-$(KERNEL_IMAGE)/image && \ - cp $@ $(KDIR_TMP)/ubnt-$(KERNEL_IMAGE)/image/kernel0 && \ - $(STAGING_DIR_HOST)/bin/mkfs.jffs2 \ - --pad --big-endian --squash-uids -v -e 64KiB \ - -o $@.new \ - -d $(KDIR_TMP)/ubnt-$(KERNEL_IMAGE)/image \ - 2>&1 && \ - $(STAGING_DIR_HOST)/bin/padjffs2 $@.new -J 64 - -rm -rf $(KDIR_TMP)/ubnt-$(KERNEL_IMAGE)/image - @mv $@.new $@ -endef - define Device/Default BOARDNAME := DEVICE_PROFILE = $$(BOARDNAME) @@ -1135,15 +1121,16 @@ endef TARGET_DEVICES += ubnt-rs ubnt-rspro ubnt-ls-sr71 define Device/ubnt-uap-pro + KERNEL_SIZE := 1536k IMAGE_SIZE := 15744k MTDPARTS := spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1536k(kernel),14208k(rootfs),256k(cfg)ro,64k(EEPROM)ro,15744k@0x50000(firmware) UBNT_TYPE := BZ UBNT_CHIP := ar934x BOARDNAME := UAP-PRO DEVICE_PROFILE := UBNT UAPPRO - KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma | mkubntkernelimage + KERNEL := kernel-bin | patch-cmdline | lzma | uImage lzma | jffs2 kernel0 IMAGES := sysupgrade.bin factory.bin - IMAGE/sysupgrade.bin = append-kernel 1536k | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) + IMAGE/sysupgrade.bin = append-kernel $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE) IMAGE/factory.bin = $$(IMAGE/sysupgrade.bin) | mkubntimage2 endef