avr32: optimize image generation

- remove the kernel+rootfs partitions from the MTD partition map,
 - use a temporary directory for intermediate image files,
 - append the root squashfs directly to the kernel,
 - don't hardcode uImage size in the jffs2 images,

Signed-off-by: Gabor Juhos <juhosg@openwrt.org>

SVN-Revision: 38194
This commit is contained in:
Gabor Juhos
2013-09-25 19:32:34 +00:00
parent 11e4e6ebfb
commit 942e69b166
2 changed files with 13 additions and 29 deletions

View File

@@ -7,6 +7,8 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
KDIR_TMP:=$(KDIR)/tmp
ifneq ($(CONFIG_AVR32_UBOOT),)
define Build/Clean
$(MAKE) -C u-boot clean
@@ -18,6 +20,7 @@ ifneq ($(CONFIG_AVR32_UBOOT),)
endif
define Image/BuildKernel
-mkdir -p $(KDIR_TMP)
cp $(KDIR)/uImage $(BIN_DIR)/$(IMG_PREFIX)-uImage
$(STAGING_DIR_HOST)/bin/lzma e $(LINUX_DIR)/arch/avr32/boot/images/vmlinux.bin $(KDIR)/vmlinux.lzma
@@ -34,16 +37,17 @@ define Image/Build
endef
define Image/Build/squashfs
$(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
( \
dd if=$(KDIR)/uImage-lzma bs=1024k conv=sync; \
dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \
) > $(BIN_DIR)/$(IMG_PREFIX)-$(1).img
cat $(KDIR)/uImage-lzma; \
cat $(KDIR)/root.squashfs; \
) > $(KDIR_TMP)/avr32-squahsfs.img
padjffs2 $(KDIR_TMP)/avr32-squahsfs.img 64
dd if=$(KDIR_TMP)/avr32-squahsfs.img of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img bs=64k conv=sync
endef
define Image/Build/jffs2-64k
( \
dd if=$(KDIR)/uImage-lzma bs=1024k conv=sync; \
dd if=$(KDIR)/uImage-lzma bs=64k conv=sync; \
dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \
) > $(BIN_DIR)/$(IMG_PREFIX)-$(1).img
endef