mirror of https://github.com/hak5/openwrt.git
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: 38194lede-17.01
parent
11e4e6ebfb
commit
942e69b166
|
@ -7,6 +7,8 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
include $(INCLUDE_DIR)/image.mk
|
include $(INCLUDE_DIR)/image.mk
|
||||||
|
|
||||||
|
KDIR_TMP:=$(KDIR)/tmp
|
||||||
|
|
||||||
ifneq ($(CONFIG_AVR32_UBOOT),)
|
ifneq ($(CONFIG_AVR32_UBOOT),)
|
||||||
define Build/Clean
|
define Build/Clean
|
||||||
$(MAKE) -C u-boot clean
|
$(MAKE) -C u-boot clean
|
||||||
|
@ -18,6 +20,7 @@ ifneq ($(CONFIG_AVR32_UBOOT),)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
define Image/BuildKernel
|
define Image/BuildKernel
|
||||||
|
-mkdir -p $(KDIR_TMP)
|
||||||
cp $(KDIR)/uImage $(BIN_DIR)/$(IMG_PREFIX)-uImage
|
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
|
$(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
|
endef
|
||||||
|
|
||||||
define Image/Build/squashfs
|
define Image/Build/squashfs
|
||||||
$(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
|
|
||||||
( \
|
( \
|
||||||
dd if=$(KDIR)/uImage-lzma bs=1024k conv=sync; \
|
cat $(KDIR)/uImage-lzma; \
|
||||||
dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \
|
cat $(KDIR)/root.squashfs; \
|
||||||
) > $(BIN_DIR)/$(IMG_PREFIX)-$(1).img
|
) > $(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
|
endef
|
||||||
|
|
||||||
define Image/Build/jffs2-64k
|
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; \
|
dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \
|
||||||
) > $(BIN_DIR)/$(IMG_PREFIX)-$(1).img
|
) > $(BIN_DIR)/$(IMG_PREFIX)-$(1).img
|
||||||
endef
|
endef
|
||||||
|
|
|
@ -1,31 +1,11 @@
|
||||||
--- a/arch/avr32/boards/atngw100/flash.c
|
--- a/arch/avr32/boards/atngw100/flash.c
|
||||||
+++ b/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,
|
.mask_flags = MTD_WRITEABLE,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
- .name = "root",
|
- .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",
|
+ .name = "firmware",
|
||||||
+ .offset = 0x00020000,
|
.offset = 0x00020000,
|
||||||
+ .size = 0x007d0000,
|
.size = 0x007d0000,
|
||||||
+ },
|
},
|
||||||
};
|
|
||||||
|
|
||||||
static struct physmap_flash_data flash_data = {
|
|
||||||
|
|
Loading…
Reference in New Issue