aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2014-06-02 12:43:49 +0000
committerJohn Crispin <blogic@openwrt.org>2014-06-02 12:43:49 +0000
commitcef164b23ebd2b093a9eb7fce8420a51ab28cb18 (patch)
tree5c0f1165d8303a5d7624d58ab73263be77357714 /target/linux
parentd4d63a3d241b453a044ce72a5bb7ea68e94f7b2c (diff)
downloadmaster-187ad058-cef164b23ebd2b093a9eb7fce8420a51ab28cb18.tar.gz
master-187ad058-cef164b23ebd2b093a9eb7fce8420a51ab28cb18.tar.bz2
master-187ad058-cef164b23ebd2b093a9eb7fce8420a51ab28cb18.zip
ralink: add seama image can be upgrade by sysupgrade
generate sysupgrade image by combine two images. one is kernel image with seama header. another is root fs image. Signed-off-by: michael lee <igvtee@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@40922 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ramips/image/Makefile11
1 files changed, 10 insertions, 1 deletions
diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile
index 7d3e826b4a..3b813d8be5 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -162,7 +162,8 @@ BuildFirmware/Edimax/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
# build Seama header images
define BuildFirmware/Seama/squashfs
- $(call BuildFirmware/OF,$(1),$(2),$(3),$(5))
+ $(call MkImageLzmaDtb,$(2),$(3),$(5))
+ $(eval output_name=$(IMG_PREFIX)-$(2)-$(1)-sysupgrade.bin)
cat $(KDIR)/vmlinux-$(2).bin.lzma $(KDIR)/root.$(1) > $(KDIR)/img_$(2).$(1).tmp
if [ `stat -c%s "$(KDIR)/img_$(2).$(1).tmp"` -gt $$$$(($(5) - 64)) ]; then \
echo "Warning: $(KDIR)/img_$(2).$(1).tmp is too big" >&2; \
@@ -179,6 +180,14 @@ define BuildFirmware/Seama/squashfs
-s $(call imgname,$(1),$(2))-factory.bin \
-m "signature=$(4)" \
-i $(KDIR)/vmlinux-$(2).tmp.seama; \
+ dd if=$(KDIR)/vmlinux-$(2).bin.lzma.padded bs=1 count=`expr \`stat -c%s $(KDIR)/vmlinux-$(2).bin.lzma.padded\` - 64` of=$(KDIR)/vmlinux-$(2)-sysupgrade.tmp; \
+ $(STAGING_DIR_HOST)/bin/seama \
+ -i $(KDIR)/vmlinux-$(2)-sysupgrade.tmp \
+ -m "dev=/dev/mtdblock/2" -m "type=firmware"; \
+ ( \
+ dd if=$(KDIR)/vmlinux-$(2)-sysupgrade.tmp.seama; \
+ dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \
+ ) > $(BIN_DIR)/$(output_name); \
fi
endef
BuildFirmware/Seama/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))