diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2013-09-22 09:11:22 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2013-09-22 09:11:22 +0000 |
commit | b77d4d8d19e9a73895d6afcf59504e9a57da1b39 (patch) | |
tree | 1cbb57d5999f705b71e016423a6977f4f7488e28 | |
parent | 2e62ff9320035e47a945cac48b16a4428844e5d7 (diff) | |
download | upstream-b77d4d8d19e9a73895d6afcf59504e9a57da1b39.tar.gz upstream-b77d4d8d19e9a73895d6afcf59504e9a57da1b39.tar.bz2 upstream-b77d4d8d19e9a73895d6afcf59504e9a57da1b39.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>
SVN-Revision: 38115
-rw-r--r-- | target/linux/ar71xx/image/Makefile | 16 |
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))) |