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
master
Gabor Juhos 2013-09-22 09:11:22 +00:00
parent c803ece2ef
commit 8609d082e4
1 changed files with 14 additions and 2 deletions

View File

@ -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)))