X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/31fef29134b3a97e4263138d09bedb6794f5f2ec..44a7438217323d90cc430627b82fd165fba52250:/target/linux/ar71xx/image/Makefile diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile index febbfb96c..2394e9938 100644 --- a/target/linux/ar71xx/image/Makefile +++ b/target/linux/ar71xx/image/Makefile @@ -42,13 +42,13 @@ endef define PatchKernelLzma cp $(KDIR)/vmlinux $(KDIR)/vmlinux-$(1) - $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-$(1) '$(strip $(2))' + $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-$(1) "$(strip $(2))" $(call CompressLzma,$(KDIR)/vmlinux-$(1),$(KDIR)/vmlinux-$(1).bin.lzma) endef define PatchKernelGzip cp $(KDIR)/vmlinux $(KDIR)/vmlinux-$(1) - $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-$(1) '$(strip $(2))' + $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-$(1) "$(strip $(2))" gzip -9 -c $(KDIR)/vmlinux-$(1) > $(KDIR)/vmlinux-$(1).bin.gz endef @@ -308,6 +308,14 @@ define Image/Build/TPLINK-LZMA -o $(call sysupname,$(1),$(2)) endef +define Image/Build/TPLINK-LZMA/initramfs + $(call PatchKernelLzma,$(2),$(3)) + -$(STAGING_DIR_HOST)/bin/mktplinkfw -c \ + -B $(4) -N OpenWrt -V $(REVISION) -s \ + -k $(KDIR)/vmlinux-$(2).bin.lzma \ + -o $(call imgname,$(1),$(2))-uImage.bin +endef + define Image/Build/CyberTAN $(call MkuImageGzip,$(2),$(3)) $(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/image.tmp -f $(KDIR)/vmlinux-$(2).uImage \ @@ -321,38 +329,79 @@ define Image/Build/CyberTAN rm $(KDIR)/image.tmp endef -define Image/Build/Netgear - $(call MkuImageLzma,$(2),$(3) $($(4))) - mkdir -p $(KDIR)/wndr3700/image +define Image/Build/Netgear/Build_uImage + $(call MkuImageLzma,$(1),$(2) $(3)) + -rm -rf $(KDIR)/$(1) + mkdir -p $(KDIR)/$(1)/image $(STAGING_DIR_HOST)/bin/wndr3700 \ - $(KDIR)/vmlinux-$(2).uImage \ - $(KDIR)/wndr3700/image/uImage \ - $(5) + $(KDIR)/vmlinux-$(1).uImage \ + $(KDIR)/$(1)/image/uImage \ + $(4) $(STAGING_DIR_HOST)/bin/mksquashfs-lzma \ - $(KDIR)/wndr3700 $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp \ + $(KDIR)/$(1) $(KDIR)/vmlinux-$(1).uImage.squashfs.tmp \ -nopad -noappend -root-owned -be - -rm -rf $(KDIR)/wndr3700 + -rm -rf $(KDIR)/$(1) mkimage -A mips -O linux -T filesystem -C none \ -a 0xbf070000 -e 0xbf070000 \ -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \ - -d $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp \ - $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp2 + -d $(KDIR)/vmlinux-$(1).uImage.squashfs.tmp \ + $(KDIR)/vmlinux-$(1).uImage.squashfs.tmp2 $(STAGING_DIR_HOST)/bin/wndr3700 \ - $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp2 \ - $(KDIR)/vmlinux-$(2).uImage.squashfs \ - $(5) - -rm -f $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp* + $(KDIR)/vmlinux-$(1).uImage.squashfs.tmp2 \ + $(KDIR)/vmlinux-$(1).uImage.squashfs \ + $(4) + -rm -f $(KDIR)/vmlinux-$(1).uImage.squashfs.tmp* +endef + +define Image/Build/Netgear/Estimate_uImage + $(call Image/Build/Netgear/Build_uImage,$(1)_est,$(2),$(3),$(4)) ( \ - dd if=$(KDIR)/vmlinux-$(2).uImage.squashfs bs=1024k conv=sync; \ - dd if=$(KDIR)/root.$(1) bs=64k; \ - ) > $(call sysupname,$(1),$(2)) - for r in $(7) ; do \ - [ -n "$$$$r" ] && dashr="-$$$$r" || dashr= ; \ - $(STAGING_DIR_HOST)/bin/mkdniimg \ - -B $(6) -v OpenWrt.$(REVISION) -r "$$$$r" $(8) \ - -i $(call sysupname,$(1),$(2)) \ - -o $(call imgname,$(1),$(2))-factory$$$$dashr.img; \ - done + set -e; \ + kk=`echo '$(3)' | sed -e 's/.*[:,]\([0-9]*\)k(kernel).*/\1/'`; \ + rk=`echo '$(3)' | sed -e 's/.*[:,]\([0-9]*\)k(rootfs).*/\1/'`; \ + let 'tk = kk + rk'; \ + s=`stat -c'%s' '$(KDIR)/vmlinux-$(1)_est.uImage.squashfs'`; \ + c=`echo '$(3)' | wc -c`; \ + let 'kk = (((s + c) / (64 * 1024) + 1) * 64)'; \ + let 'rk = tk - kk'; \ + echo '$(3)' | sed -e "s/[0-9]*k(kernel)/$$$${kk}k(kernel)/" \ + -e "s/[0-9]*k(rootfs)/$$$${rk}k(rootfs)/" > \ + '$(KDIR)/$(1)_mtdparts'; \ + let 'k = kk * 1024'; \ + echo "$$$${k}" > '$(KDIR)/$(1)_kernel_maxsize'; \ + let 'r = rk * 1024'; \ + echo "$$$${r}" > '$(KDIR)/$(1)_rootfs_maxsize'; \ + ) + -rm -f $(KDIR)/vmlinux-$(1)_est \ + $(KDIR)/vmlinux-$(1)_est.bin.lzma \ + $(KDIR)/vmlinux-$(1)_est.uImage \ + $(KDIR)/vmlinux-$(1)_est.uImage.squashfs +endef + +define Image/Build/Netgear + $(call Image/Build/Netgear/Estimate_uImage,$(2),$(3),$(4),$(5)) + $(call Image/Build/Netgear/Build_uImage,$(2),$(3),`cat $(KDIR)/$(2)_mtdparts`,$(5)) + if [ `stat -c%s '$(KDIR)/vmlinux-$(2).uImage.squashfs'` -gt \ + `cat '$(KDIR)/$(2)_kernel_maxsize'` ]; then \ + echo "$(KDIR)/vmlinux-$(2).uImage.squashfs is too big" >& 2; \ + else if [ `stat -c%s '$(KDIR)/root.$(1)'` -gt \ + `cat '$(KDIR)/$(2)_rootfs_maxsize'` ]; then \ + echo "$(KDIR)/root.$(1) is too big" >& 2; \ + else \ + ( \ + set -e; \ + dd if=$(KDIR)/vmlinux-$(2).uImage.squashfs \ + bs=`cat '$(KDIR)/$(2)_kernel_maxsize'` conv=sync; \ + dd if=$(KDIR)/root.$(1) bs=64k; \ + ) > $(call sysupname,$(1),$(2)); \ + for r in $(7) ; do \ + [ -n "$$$$r" ] && dashr="-$$$$r" || dashr= ; \ + $(STAGING_DIR_HOST)/bin/mkdniimg \ + -B $(6) -v OpenWrt.$(REVISION) -r "$$$$r" $(8) \ + -i $(call sysupname,$(1),$(2)) \ + -o $(call imgname,$(1),$(2))-factory$$$$dashr.img; \ + done; \ + fi; fi endef define Image/Build/Netgear/initramfs @@ -380,6 +429,19 @@ ifdef CONFIG_PACKAGE_uboot-ar71xx-nbg460n_550n_550nh endef endif +define Image/Build/OpenMesh + $(call MkuImageLzma,$(2)) + -sh $(TOPDIR)/scripts/om2p-fwupgradecfg-gen.sh \ + "$(BUILD_DIR)/om2p-fwupgrade.cfg" \ + "$(KDIR)/vmlinux-$(2).uImage" \ + "$(KDIR)/root.$(1)" + -sh $(TOPDIR)/scripts/combined-ext-image.sh \ + "$(3)" "$(call factoryname,$(1),$(2))" \ + "$(BUILD_DIR)/om2p-fwupgrade.cfg" "fwupgrade.cfg" \ + "$(KDIR)/vmlinux-$(2).uImage" "kernel" \ + "$(KDIR)/root.$(1)" "rootfs" +endef + define Image/Build/Zcomax $(call MkuImageLzma,$(2),$(3)) $(call Sysupgrade/RK,$(1),$(2),1507328,6356992) @@ -536,6 +598,11 @@ define Image/Build/Profile/A02RBW300N $(call Image/Build/Template/$(fs_squash)/$(1),Cameo913x,a02-rb-w300n,$(a05rbw300n_cmdline),"AP81-AR9130-RT-070614-03") endef +ubntairrouter_cmdline=board=UBNT-AR console=ttyS0,115200 +define Image/Build/Profile/UBNTAIRROUTER + $(call Image/Build/Template/$(fs_64k)/$(1),UBNTXM,ubnt-airrouter,$(ubntairrouter_cmdline),XM,UBNTXM,ar7240) +endef + ubntrs_cmdline=board=UBNT-RS console=ttyS0,115200 define Image/Build/Profile/UBNTRS $(call Image/Build/Template/$(fs_64k)/$(1),UBNT,ubnt-rs,$(ubntrs_cmdline),RS,RSx,ar7100) @@ -572,6 +639,7 @@ define Image/Build/Profile/UBNTUNIFI endef define Image/Build/Profile/UBNT + $(call Image/Build/Profile/UBNTAIRROUTER,$(1)) $(call Image/Build/Profile/UBNTRS,$(1)) $(call Image/Build/Profile/UBNTRSPRO,$(1)) $(call Image/Build/Profile/UBNTLSSR71,$(1)) @@ -596,6 +664,10 @@ define Image/Build/Profile/NBG_460N_550N_550NH $(call Image/Build/Template/$(fs_64k)/$(1),ZyXEL,nbg460n_550n_550nh,$(nbg460n_cmdline),NBG-460N) endef +define Image/Build/Profile/OM2P + $(call Image/Build/Template/$(fs_squash)/$(1),OpenMesh,om2p,OM2P) +endef + tlmr3220_cmdline=board=TL-MR3220 console=ttyS0,115200 define Image/Build/Profile/TLMR3220V1 $(call Image/Build/Template/$(fs_64k)/$(1),TPLINK,tl-mr3220-v1,$(tlmr3220_cmdline),TL-MR3220v1) @@ -687,12 +759,11 @@ endef wndr3700_cmdline=board=WNDR3700 console=ttyS0,115200 wndr3700_mtdlayout=mtdparts=spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,1024k(kernel),6656k(rootfs),64k(art)ro,7680k@0x70000(firmware) -wndr3700v2_cmdline=board=WNDR3700v2 console=ttyS0,115200 wndr3700v2_mtdlayout=mtdparts=spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,1024k(kernel),14848k(rootfs),64k(art)ro,15872k@0x70000(firmware) define Image/Build/Profile/WNDR3700 - $(call Image/Build/Template/$(fs_64k)/$(1),Netgear,wndr3700,$(wndr3700_cmdline),wndr3700_mtdlayout,3700,WNDR3700,"" NA,) - $(call Image/Build/Template/$(fs_64k)/$(1),Netgear,wndr3700v2,$(wndr3700v2_cmdline),wndr3700v2_mtdlayout,3701,WNDR3700v2,"",-H 29763654+16+64) - $(call Image/Build/Template/$(fs_64k)/$(1),Netgear,wndr3800,$(wndr3700v2_cmdline),wndr3700v2_mtdlayout,3701,WNDR3800,"",-H 29763654+16+128) + $(call Image/Build/Template/$(fs_64k)/$(1),Netgear,wndr3700,$(wndr3700_cmdline),$(wndr3700_mtdlayout),3700,WNDR3700,"" NA,) + $(call Image/Build/Template/$(fs_64k)/$(1),Netgear,wndr3700v2,$(wndr3700_cmdline),$(wndr3700v2_mtdlayout),3701,WNDR3700,"",-H 29763654+16+64) + $(call Image/Build/Template/$(fs_64k)/$(1),Netgear,wndr3800,$(wndr3700_cmdline),$(wndr3700v2_mtdlayout),3701,WNDR3700,"",-H 29763654+16+128) endef wr400n_cmdline=board=WRT400N console=ttyS0,115200 @@ -769,6 +840,7 @@ define Image/Build/Profile/Default $(call Image/Build/Profile/MZKW04NU,$(1)) $(call Image/Build/Profile/MZKW300NH,$(1)) $(call Image/Build/Profile/NBG_460N_550N_550NH,$(1)) + $(call Image/Build/Profile/OM2P,$(1)) $(call Image/Build/Profile/PB42,$(1)) $(call Image/Build/Profile/PB44,$(1)) $(call Image/Build/Profile/PB92,$(1))