diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2013-09-25 19:32:34 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2013-09-25 19:32:34 +0000 |
commit | 2a58f6b40bfd53ba9589f08eebb7b2f94bdab745 (patch) | |
tree | 093431922eb920b3457978b097f6e76228298bfe | |
parent | 25e1112c6d257af50103ccfad5fd37ca5d9390b1 (diff) | |
download | master-187ad058-2a58f6b40bfd53ba9589f08eebb7b2f94bdab745.tar.gz master-187ad058-2a58f6b40bfd53ba9589f08eebb7b2f94bdab745.tar.bz2 master-187ad058-2a58f6b40bfd53ba9589f08eebb7b2f94bdab745.zip |
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38194 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | target/linux/avr32/image/Makefile | 14 | ||||
-rw-r--r-- | target/linux/avr32/patches-3.10/110-openwrt_flashmap.patch | 26 |
2 files changed, 12 insertions, 28 deletions
diff --git a/target/linux/avr32/image/Makefile b/target/linux/avr32/image/Makefile index ad53572dba..99761c6da5 100644 --- a/target/linux/avr32/image/Makefile +++ b/target/linux/avr32/image/Makefile @@ -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 diff --git a/target/linux/avr32/patches-3.10/110-openwrt_flashmap.patch b/target/linux/avr32/patches-3.10/110-openwrt_flashmap.patch index 3f87699b04..876eb71c49 100644 --- a/target/linux/avr32/patches-3.10/110-openwrt_flashmap.patch +++ b/target/linux/avr32/patches-3.10/110-openwrt_flashmap.patch @@ -1,31 +1,11 @@ --- a/arch/avr32/boards/atngw100/flash.c +++ b/arch/avr32/boards/atngw100/flash.c -@@ -45,9 +45,14 @@ static struct mtd_partition flash_parts[ +@@ -45,7 +45,7 @@ static struct mtd_partition flash_parts[ .mask_flags = MTD_WRITEABLE, }, { - .name = "root", -+ .name = "kernel", ++ .name = "firmware", .offset = 0x00020000, -- .size = 0x007d0000, -+ .size = 0x00100000, -+ }, -+ { -+ .name = "rootfs", -+ .offset = 0x00120000, -+ .size = 0x006d0000, + .size = 0x007d0000, }, - { - .name = "env", -@@ -55,6 +60,11 @@ static struct mtd_partition flash_parts[ - .size = 0x00010000, - .mask_flags = MTD_WRITEABLE, - }, -+ { -+ .name = "firmware", -+ .offset = 0x00020000, -+ .size = 0x007d0000, -+ }, - }; - - static struct physmap_flash_data flash_data = { |