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
This commit is contained in:
Gabor Juhos 2013-09-22 09:11:22 +00:00
parent 2e62ff9320
commit b77d4d8d19

View file

@ -101,13 +101,25 @@ define MkuImageOKLI
endef endef
define CatFiles 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; \ echo "Warning: $(1) is too big" >&2; \
else if [ `stat -c%s $(3)` -gt $(4) ]; then \ else if [ `stat -c%s $(3)` -gt $(4) ]; then \
echo "Warning: $(3) is too big" >&2; \ echo "Warning: $(3) is too big" >&2; \
else \ else \
( dd if=$(1) bs=$(2) conv=sync; dd if=$(3) ) > $(5); \ ( dd if=$(1) bs=$(2) conv=sync; dd if=$(3) ) > $(5); \
fi; fi fi; fi; fi
endef endef
Sysupgrade/KR=$(call CatFiles,$(2),$(3),$(KDIR)/root.$(1),$(4),$(call sysupname,$(1),$(5))) Sysupgrade/KR=$(call CatFiles,$(2),$(3),$(KDIR)/root.$(1),$(4),$(call sysupname,$(1),$(5)))