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-a3cf2f4a3e73master
parent
25e1112c6d
commit
2a58f6b40b
|
@ -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
|
||||
|
|
|
@ -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",
|
||||
.offset = 0x00020000,
|
||||
- .size = 0x007d0000,
|
||||
+ .size = 0x00100000,
|
||||
+ },
|
||||
+ {
|
||||
+ .name = "rootfs",
|
||||
+ .offset = 0x00120000,
|
||||
+ .size = 0x006d0000,
|
||||
},
|
||||
{
|
||||
.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 = {
|
||||
.offset = 0x00020000,
|
||||
.size = 0x007d0000,
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue