Message ID | 1446827141-31327-2-git-send-email-benjamin@sipsolutions.net |
---|---|
State | Accepted |
Headers | show |
On 2015-11-06 17:25, Benjamin Berg wrote: > 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 <benjamin@sipsolutions.net> > --- > include/image.mk | 15 +++++++++++++++ > target/linux/ar71xx/image/Makefile | 19 +++---------------- > 2 files changed, 18 insertions(+), 16 deletions(-) > > diff --git a/include/image.mk b/include/image.mk > index 43980bc..753bd48 100644 > --- a/include/image.mk > +++ b/include/image.mk > @@ -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 Why did you add the KERNEL_SIZE variable here if you only use it in one place? - Felix
On Fr, 2015-11-06 at 17:46 +0100, Felix Fietkau wrote: > On 2015-11-06 17:25, Benjamin Berg wrote: > > 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 <benjamin@sipsolutions.net> > > --- > > include/image.mk | 15 +++++++++++++++ > > target/linux/ar71xx/image/Makefile | 19 +++---------------- > > 2 files changed, 18 insertions(+), 16 deletions(-) > > > > diff --git a/include/image.mk b/include/image.mk > > index 43980bc..753bd48 100644 > > --- a/include/image.mk > > +++ b/include/image.mk > > @@ -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 > Why did you add the KERNEL_SIZE variable here if you only use it in one > place? As I understand it the "Device/Build/kernel" define will check that the kernel fits into KERNEL_SIZE if the variable is set. So while this is a relatively unrelated change it should help to catch issues. Benjamin
diff --git a/include/image.mk b/include/image.mk index 43980bc..753bd48 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 7bf2f27..15cf2c6 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
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 <benjamin@sipsolutions.net> --- include/image.mk | 15 +++++++++++++++ target/linux/ar71xx/image/Makefile | 19 +++---------------- 2 files changed, 18 insertions(+), 16 deletions(-)