- $(KDIR)/root.ext4 $(TARGET_DIR)/
-endef
-
-define Image/mkfs/prepare/default
- # Use symbolic permissions to avoid clobbering SUID/SGID/sticky bits
- - $(FIND) $(TARGET_DIR) -type f -not -perm /0100 -not -name 'ssh_host*' -not -name 'shadow' -print0 | $(XARGS) -0 chmod u+rw,g+r,o+r
- - $(FIND) $(TARGET_DIR) -type f -perm /0100 -print0 | $(XARGS) -0 chmod u+rwx,g+rx,o+rx
- - $(FIND) $(TARGET_DIR) -type d -print0 | $(XARGS) -0 chmod u+rwx,g+rx,o+rx
- $(INSTALL_DIR) $(TARGET_DIR)/tmp $(TARGET_DIR)/overlay
- chmod 1777 $(TARGET_DIR)/tmp
-endef
-
-define Image/mkfs/prepare
- $(call Image/mkfs/prepare/default)
-endef
-
-
-define Image/Checksum
- ( cd ${BIN_DIR} ; \
- $(FIND) -maxdepth 1 -type f \! -name 'md5sums' -printf "%P\n" | sort | xargs $1 > $2 \
- )
-endef
-
-define BuildImage/mkfs
- install: mkfs-$(1)
- .PHONY: mkfs-$(1)
- mkfs-$(1): kernel_prepare
- $(Image/mkfs/$(1))
- $(call Build/mkfs/default,$(1))
- $(call Build/mkfs/$(1),$(1))
- $(KDIR)/root.$(1): mkfs-$(1)
-
-endef
-
-# Build commands that can be called from Device/* templates
-define Build/uImage
- mkimage -A $(LINUX_KARCH) \
- -O linux -T kernel \
- -C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
- -n '$(call toupper,$(LINUX_KARCH)) LEDE Linux-$(LINUX_VERSION)' -d $@ $@.new
- @mv $@.new $@
-endef
-
-define Build/netgear-chk
- $(STAGING_DIR_HOST)/bin/mkchkimg \
- -o $@.new \
- -k $@ \
- -b $(NETGEAR_BOARD_ID) \
- -r $(NETGEAR_REGION)
- mv $@.new $@
-endef
-
-define Build/netgear-dni
- $(STAGING_DIR_HOST)/bin/mkdniimg \
- -B $(NETGEAR_BOARD_ID) -v LEDE.$(REVISION) \
- $(if $(NETGEAR_HW_ID),-H $(NETGEAR_HW_ID)) \
- -r "$(1)" \
- -i $@ -o $@.new
- mv $@.new $@
-endef
-
-define Build/fit
- $(TOPDIR)/scripts/mkits.sh \
- -D $(DEVICE_NAME) -o $@.its -k $@ \
- $(if $(word 2,$(1)),-d $(word 2,$(1))) -C $(word 1,$(1)) \
- -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
- -A $(ARCH) -v $(LINUX_VERSION)
- PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@.new
- @mv $@.new $@
-endef
-
-define Build/lzma
- $(call Build/lzma-no-dict,-lc1 -lp2 -pb2 $(1))
-endef
-
-define Build/lzma-no-dict
- $(STAGING_DIR_HOST)/bin/lzma e $@ $(1) $@.new
- @mv $@.new $@
-endef
-
-define Build/gzip
- gzip -9n -c $@ $(1) > $@.new
- @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 $< $@
-endef
-
-define Build/patch-cmdline
- $(STAGING_DIR_HOST)/bin/patch-cmdline $@ '$(CMDLINE)'