aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2013-09-22 09:11:22 +0000
committerGabor Juhos <juhosg@openwrt.org>2013-09-22 09:11:22 +0000
commit8609d082e4e78ac42559862d57d8520a5ed691b9 (patch)
treedba5d080405826fae74e512cf855e55c87d64fff /target/linux
parentc803ece2ef20d5d9208717a237aef7d01335ca16 (diff)
downloadmaster-187ad058-8609d082e4e78ac42559862d57d8520a5ed691b9.tar.gz
master-187ad058-8609d082e4e78ac42559862d57d8520a5ed691b9.tar.bz2
master-187ad058-8609d082e4e78ac42559862d57d8520a5ed691b9.zip
ar71xx: image: improve the CatFiles macro
Make it possible to append the rootfs image directly to the kernel. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38115 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ar71xx/image/Makefile16
1 files changed, 14 insertions, 2 deletions
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
index 44830b4b7b..9871f6ec47 100644
--- a/target/linux/ar71xx/image/Makefile
+++ b/target/linux/ar71xx/image/Makefile
@@ -101,13 +101,25 @@ define MkuImageOKLI
endef
define CatFiles
- if [ $(2) -gt 262144 -a `stat -c%s "$(1)"` -gt $(2) ]; then \
+ if [ $(2) -eq 0 ]; then \
+ filename="$(3)"; fstype=$$$${filename##*\.}; \
+ case "$$$${fstype}" in \
+ "jffs2-64k") bs=65536;; \
+ "jffs2-128k") bs=131072;; \
+ "jffs2-256k") bs=262144;; \
+ *) bs=`stat -c%s $(1)`;; \
+ esac; \
+ ( dd if=$(1) bs=$$$${bs} conv=sync; cat $(3) ) > $(5); \
+ if [ `stat -c%s $(5)` -gt $(4) ]; then \
+ echo "Warning: $(1) is too big" >&2; \
+ fi; \
+ else if [ $(2) -gt 262144 -a `stat -c%s "$(1)"` -gt $(2) ]; then \
echo "Warning: $(1) is too big" >&2; \
else if [ `stat -c%s $(3)` -gt $(4) ]; then \
echo "Warning: $(3) is too big" >&2; \
else \
( dd if=$(1) bs=$(2) conv=sync; dd if=$(3) ) > $(5); \
- fi; fi
+ fi; fi; fi
endef
Sysupgrade/KR=$(call CatFiles,$(2),$(3),$(KDIR)/root.$(1),$(4),$(call sysupname,$(1),$(5)))