From: Florian Fainelli Date: Thu, 27 Jun 2013 19:58:31 +0000 (+0000) Subject: targets: prepare for supporting normal and initramfs images X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=6a4f2922f6303a006d66b4bbb79541823b1c12b4;p=librecmc%2Flibrecmc.git targets: prepare for supporting normal and initramfs images In order to support both normal images and initramfs, ensure that each target sets KERNELNAME properly so that the generic kernel building code can copy the corresponding files over $(KDIR) with the appropriate extension. Update the various paths to the kernel and wrapper images from $(LINUX_DIR)/arch/$(ARCH)/boot/$(foo) to $(KDIR)/$(foo). Signed-off-by: Florian Fainelli SVN-Revision: 37049 --- diff --git a/target/linux/adm5120/image/Makefile b/target/linux/adm5120/image/Makefile index 7ced198a21..4ca4d48568 100644 --- a/target/linux/adm5120/image/Makefile +++ b/target/linux/adm5120/image/Makefile @@ -21,14 +21,6 @@ fs_all:=all fs_4k:=4k fs_64k:=64k fs_128k:=128k -ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) - fs_squash:=initramfs - fs_all:=initramfs - fs_4k:=initramfs - fs_64k:=initramfs - fs_128k:=initramfs - VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux-initramfs -endif define Build/Clean $(LOADER_MAKE) clean @@ -111,6 +103,10 @@ endef define Image/BuildKernel cp $(KDIR)/vmlinux.elf $(VMLINUX).elf cp $(KDIR)/vmlinux $(VMLINUX).bin +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) + cp $(KDIR)/vmlinux-initramfs.elf $(VMLINUX)-initramfs.elf + cp $(KDIR)/vmlinux $(VMLINUX)-initramfs.bin +endif endef $(eval $(call BuildImage)) diff --git a/target/linux/adm8668/image/Makefile b/target/linux/adm8668/image/Makefile index bc412a609e..9e25224512 100644 --- a/target/linux/adm8668/image/Makefile +++ b/target/linux/adm8668/image/Makefile @@ -9,10 +9,6 @@ include $(INCLUDE_DIR)/image.mk VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux UIMAGE:=$(IMG_PREFIX)-uImage -ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) - VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux-initramfs - UIMAGE:=$(IMG_PREFIX)-uImage-initramfs -endif define kernel_entry -a 0x80002000 -e 0x80002000 @@ -53,6 +49,12 @@ define Image/BuildKernel cp $(KDIR)/vmlinux $(VMLINUX).bin $(call CompressGzip,$(KDIR)/vmlinux,$(KDIR)/vmlinux.bin.gz) $(call MkImage,gzip,,$(KDIR)/vmlinux.bin.gz,$(BIN_DIR)/$(UIMAGE)-gzip.bin) +ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) + cp $(KDIR)/vmlinux-initramfs.elf $(VMLINUX)-initramfs.elf + cp $(KDIR)/vmlinux $(VMLINUX)-initramfs.bin + $(call CompressGzip,$(KDIR)/vmlinux-initramfs,$(KDIR)/vmlinux-initramfs.bin.gz) + $(call MkImage,gzip,,$(KDIR)/vmlinux-initramfs.bin.gz,$(BIN_DIR)/$(UIMAGE)-initramfs-gzip.bin) +endif endef $(eval $(call BuildImage)) diff --git a/target/linux/ar7/image/Makefile b/target/linux/ar7/image/Makefile index fb42e426e5..fc83d6d3f9 100644 --- a/target/linux/ar7/image/Makefile +++ b/target/linux/ar7/image/Makefile @@ -44,6 +44,11 @@ define Image/Prepare $(OBJCOPY_SREC) $(KDIR)/vmlinux.elf $(KDIR)/vmlinux.srec srec2bin $(KDIR)/loader.srec $(KDIR)/loader.bin srec2bin $(KDIR)/vmlinux.srec $(KDIR)/vmlinux.bin +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) + $(OBJCOPY_SREC) $(KDIR)/vmlinux-initramfs.elf \ + $(KDIR)/vmlinux-initramfs.srec + srec2bin $(KDIR)/vmlinux-initramfs.srec $(KDIR)/vmlinux-initramfs.bin +endif endef define align/jffs2-64k @@ -86,7 +91,7 @@ define Image/Build/EVA endef define Image/Build/Initramfs - $(CP) $(KDIR)/vmlinux.bin $(BIN_DIR)/$(IMG_PREFIX)-initramfs.bin + $(CP) $(KDIR)/vmlinux-initramfs.bin $(BIN_DIR)/$(IMG_PREFIX)-initramfs.bin endef ifeq ($(CONFIG_AR7_TI),y) diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile index 24c0a00ffc..84a378382d 100644 --- a/target/linux/ar71xx/image/Makefile +++ b/target/linux/ar71xx/image/Makefile @@ -58,15 +58,6 @@ fs_64k:=64k fs_64kraw:=64kraw fs_128k:=128k fs_256k:=256k -ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) - fs_squash:=initramfs - fs_64k:=initramfs - fs_64kraw:=initramfs - fs_128k:=initramfs - fs_256k:=initramfs - VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux-initramfs - UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage-initramfs -endif define CompressLzma $(STAGING_DIR_HOST)/bin/lzma e $(1) -lc1 -lp2 -pb2 $(3) $(2) @@ -200,6 +191,15 @@ define Image/BuildKernel $(call MkuImage,gzip,,$(KDIR)/vmlinux.bin.gz,$(UIMAGE)-gzip.bin) $(call MkuImage,lzma,,$(KDIR)/vmlinux.bin.lzma,$(UIMAGE)-lzma.bin) cp $(KDIR)/loader-generic.elf $(VMLINUX)-lzma.elf +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) + cp $(KDIR)/vmlinux-initramfs.elf $(VMLINUX)-initramfs.elf + cp $(KDIR)/vmlinux-initramfs $(VMLINUX)-initramfs.bin + dd if=$(KDIR)/vmlinux-initramfs.bin.lzma of=$(VMLINUX)-initramfs.lzma bs=65536 conv=sync + dd if=$(KDIR)/vmlinux-initramfs.bin.gz of=$(VMLINUX)-initramfs.gz bs=65536 conv=sync + $(call MkuImage,gzip,,$(KDIR)/vmlinux-initramfs.bin.gz,$(UIMAGE)-initramfs-gzip.bin) + $(call MkuImage,lzma,,$(KDIR)/vmlinux-initramfs.bin.lzma,$(UIMAGE)-initramfs-lzma.bin) + cp $(KDIR)/loader-generic.elf $(VMLINUX)-initramfs-lzma.elf +endif -mkdir -p $(KDIR_TMP) $(call Image/Build/Initramfs) endef @@ -1030,6 +1030,10 @@ endef define Image/Prepare gzip -9 -c $(KDIR)/vmlinux > $(KDIR)/vmlinux.bin.gz $(call CompressLzma,$(KDIR)/vmlinux,$(KDIR)/vmlinux.bin.lzma) +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) + gzip -9 -c $(KDIR)/vmlinux-initramfs > $(KDIR)/vmlinux-initramfs.bin.gz + $(call CompressLzma,$(KDIR)/vmlinux-initramfs,$(KDIR)/vmlinux-initramfs.bin.lzma) +endif $(call Image/BuildLoader,generic,elf) $(call Image/Build/Profile/$(if $(CONFIG_IB),Default,$(PROFILE)),loader) endef diff --git a/target/linux/au1000/image/Makefile b/target/linux/au1000/image/Makefile index a2f2056d4f..1dfdd9843c 100644 --- a/target/linux/au1000/image/Makefile +++ b/target/linux/au1000/image/Makefile @@ -51,7 +51,7 @@ define Image/Prepare endef define Image/Build/Initramfs - $(OBJCOPY_SREC) $(BIN_DIR)/$(IMG_PREFIX)-vmlinux.elf $(BIN_DIR)/$(IMG_PREFIX)-vmlinux.srec + $(OBJCOPY_SREC) $(KDIR)/vmlinux-initramfs.elf $(BIN_DIR)/$(IMG_PREFIX)-vmlinux-initramfs.srec endef define Image/Build diff --git a/target/linux/avr32/Makefile b/target/linux/avr32/Makefile index 55cff25561..83b67b61eb 100644 --- a/target/linux/avr32/Makefile +++ b/target/linux/avr32/Makefile @@ -20,4 +20,6 @@ define Target/Description Build firmware images for ATNGW100 board endef +KERNELNAME:="uImage" + $(eval $(call BuildTarget)) diff --git a/target/linux/avr32/image/Makefile b/target/linux/avr32/image/Makefile index 11387b14ea..ad53572dba 100644 --- a/target/linux/avr32/image/Makefile +++ b/target/linux/avr32/image/Makefile @@ -17,10 +17,6 @@ ifneq ($(CONFIG_AVR32_UBOOT),) endef endif -define Image/Prepare - cp $(LINUX_DIR)/arch/avr32/boot/images/uImage $(KDIR)/uImage -endef - define Image/BuildKernel cp $(KDIR)/uImage $(BIN_DIR)/$(IMG_PREFIX)-uImage diff --git a/target/linux/brcm47xx/image/Makefile b/target/linux/brcm47xx/image/Makefile index 09109573f7..9a477a6fda 100644 --- a/target/linux/brcm47xx/image/Makefile +++ b/target/linux/brcm47xx/image/Makefile @@ -13,6 +13,9 @@ endef define Image/Prepare cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) + cat $(KDIR)/vmlinux-initramfs | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux-initramfs.lzma +endif rm -f $(KDIR)/loader.gz $(MAKE) -C lzma-loader \ BUILD_DIR="$(KDIR)" \ @@ -120,7 +123,7 @@ define Image/Build/squashfs endef define Image/Build/Initramfs - $(STAGING_DIR_HOST)/bin/trx -o $(BIN_DIR)/$(IMG_PREFIX)-initramfs.trx -f $(KDIR)/loader.gz -f $(KDIR)/vmlinux.lzma + $(STAGING_DIR_HOST)/bin/trx -o $(BIN_DIR)/$(IMG_PREFIX)-initramfs.trx -f $(KDIR)/loader.gz -f $(KDIR)/vmlinux-initramfs.lzma endef define Image/Build/Chk @@ -148,6 +151,9 @@ define Image/Build # $(call Image/Build/Chk,$(1),wnr3500U,U12H136T00_NETGEAR,2,$(patsubst jffs2-%,jffs2,$(1))) $(call Image/Build/Chk,$(1),wnr3500v2,U12H127T00_NETGEAR,2,$(patsubst jffs2-%,jffs2,$(1))) # $(call Image/Build/Chk,$(1),wnr3500v2_VC,U12H127T70_NETGEAR,2,$(patsubst jffs2-%,jffs2,$(1))) +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) + $(call Image/Build/Initramfs) +endif endef $(eval $(call BuildImage)) diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile index 4928010280..362738cd97 100755 --- a/target/linux/brcm63xx/image/Makefile +++ b/target/linux/brcm63xx/image/Makefile @@ -159,7 +159,7 @@ endef define Image/Build/Initramfs # Netgear CVG834G - $(call Image/Build/HCS,initramfs,cvg834g,a020,0001,0022,$(KDIR)/vmlinux) + $(call Image/Build/HCS,initramfs,cvg834g,a020,0001,0022,$(KDIR)/vmlinux-initramfs) endef define Image/Build diff --git a/target/linux/cns21xx/Makefile b/target/linux/cns21xx/Makefile index 5970906be8..a08679589a 100644 --- a/target/linux/cns21xx/Makefile +++ b/target/linux/cns21xx/Makefile @@ -24,4 +24,6 @@ define Target/Description Build firmware images for Cavium Networks CNS21XX based boards. endef +KERNELNAME:="zImage uImage" + $(eval $(call BuildTarget)) diff --git a/target/linux/cns21xx/image/Makefile b/target/linux/cns21xx/image/Makefile index dd2d5d0c16..45dab986de 100644 --- a/target/linux/cns21xx/image/Makefile +++ b/target/linux/cns21xx/image/Makefile @@ -40,7 +40,7 @@ endef define prepare_zimage echo -en "\x$(2)\x1c\xa0\xe3\x$(3)\x10\x81\xe3" > $(KDIR)/$(call zimage_name,$(1)) - cat $(LINUX_DIR)/arch/arm/boot/zImage >> $(KDIR)/$(call zimage_name,$(1)) + cat $(KDIR)/zImage >> $(KDIR)/$(call zimage_name,$(1)) endef define prepare_uimage diff --git a/target/linux/cns3xxx/Makefile b/target/linux/cns3xxx/Makefile index 4e8d6115f7..96d6ab137c 100644 --- a/target/linux/cns3xxx/Makefile +++ b/target/linux/cns3xxx/Makefile @@ -22,7 +22,7 @@ define Target/Description eg. the Gateworks Laguna family endef -KERNELNAME:="uImage" +KERNELNAME:="zImage uImage" DEFAULT_PACKAGES += kmod-ath9k kmod-usb2 wpad-mini diff --git a/target/linux/cns3xxx/image/Makefile b/target/linux/cns3xxx/image/Makefile index 6f13fbaf60..7fa0b35e06 100644 --- a/target/linux/cns3xxx/image/Makefile +++ b/target/linux/cns3xxx/image/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk define mkimage - mkimage -A arm -O linux -T kernel -C none -a $(2) -e $(2) -n 'OpenWrt Linux-$(LINUX_VERSION)' -d $(LINUX_DIR)/arch/arm/boot/zImage $(KDIR)/uImage-$(1) + mkimage -A arm -O linux -T kernel -C none -a $(2) -e $(2) -n 'OpenWrt Linux-$(LINUX_VERSION)' -d $(KDIR)/zImage $(KDIR)/uImage-$(1) endef define Image/Prepare diff --git a/target/linux/ep93xx/image/Makefile b/target/linux/ep93xx/image/Makefile index f4064e1bbe..0d5a289e69 100644 --- a/target/linux/ep93xx/image/Makefile +++ b/target/linux/ep93xx/image/Makefile @@ -13,22 +13,12 @@ fs_all:=all fs_4k:=4k fs_64k:=64k fs_128k:=128k -ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) - fs_squash:=initramfs - fs_all:=initramfs - fs_4k:=initramfs - fs_64k:=initramfs - fs_128k:=initramfs - UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage-initramfs -endif - - -define Image/Prepare - cp $(LINUX_DIR)/arch/arm/boot/uImage $(KDIR)/uImage -endef define Image/BuildKernel cp $(KDIR)/uImage $(UIMAGE) +ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) + cp $(KDIR)/uImage-initramfs $(UIMAGE)-initramfs +endif endef define Image/Build/jffs2-64k diff --git a/target/linux/gemini/Makefile b/target/linux/gemini/Makefile index 3f3f8d5e6b..0fcc13ae2c 100644 --- a/target/linux/gemini/Makefile +++ b/target/linux/gemini/Makefile @@ -15,6 +15,8 @@ MAINTAINER:=Imre Kaloz LINUX_VERSION:=3.9.4 +KERNELNAME:="zImage" + include $(INCLUDE_DIR)/target.mk $(eval $(call BuildTarget)) diff --git a/target/linux/gemini/image/Makefile b/target/linux/gemini/image/Makefile index 5ef900b452..85da8886c8 100644 --- a/target/linux/gemini/image/Makefile +++ b/target/linux/gemini/image/Makefile @@ -10,10 +10,10 @@ include $(INCLUDE_DIR)/image.mk define Image/Prepare # WBD111: mach id 1690 (0x69a) echo -en "\x06\x1c\xa0\xe3\x9a\x10\x81\xe3" > $(KDIR)/$(IMG_PREFIX)-wbd111-zImage - cat $(LINUX_DIR)/arch/arm/boot/zImage >> $(KDIR)/$(IMG_PREFIX)-wbd111-zImage + cat $(KDIR)/zImage >> $(KDIR)/$(IMG_PREFIX)-wbd111-zImage # WBD222: mach id 2753 (0xAC1) echo -en "\x0a\x1c\xa0\xe3\xc1\x10\x81\xe3" > $(KDIR)/$(IMG_PREFIX)-wbd222-zImage - cat $(LINUX_DIR)/arch/arm/boot/zImage >> $(KDIR)/$(IMG_PREFIX)-wbd222-zImage + cat $(KDIR)/zImage >> $(KDIR)/$(IMG_PREFIX)-wbd222-zImage endef define Image/BuildKernel diff --git a/target/linux/imx6/image/Makefile b/target/linux/imx6/image/Makefile index 6c647196c1..975328f003 100644 --- a/target/linux/imx6/image/Makefile +++ b/target/linux/imx6/image/Makefile @@ -25,7 +25,7 @@ define Image/BuildKernel $(call mkfit,$(board),0x10008000) cp $(LINUX_DIR)/arch/arm/boot/dts/$(board).dtb $(BIN_DIR) ) - cp $(LINUX_DIR)/arch/arm/boot/zImage $(BIN_DIR)/openwrt-$(BOARD)-zImage + cp $(KDIR)/zImage $(BIN_DIR)/openwrt-$(BOARD)-zImage endef # board-specific sysupgrade image diff --git a/target/linux/iop32x/Makefile b/target/linux/iop32x/Makefile index 90bdc6f2eb..8c66387e6b 100644 --- a/target/linux/iop32x/Makefile +++ b/target/linux/iop32x/Makefile @@ -16,4 +16,6 @@ LINUX_VERSION:=3.3.8 include $(INCLUDE_DIR)/target.mk +KERNELNAME:="zImage" + $(eval $(call BuildTarget)) diff --git a/target/linux/iop32x/image/Makefile b/target/linux/iop32x/image/Makefile index 160067386d..0df51ba5cb 100644 --- a/target/linux/iop32x/image/Makefile +++ b/target/linux/iop32x/image/Makefile @@ -7,10 +7,6 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -define Image/Prepare - cp $(LINUX_DIR)/arch/arm/boot/zImage $(KDIR)/zImage -endef - define Image/BuildKernel cp $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage # diff --git a/target/linux/ixp4xx/Makefile b/target/linux/ixp4xx/Makefile index 58f3ec811e..7cdf7cf665 100644 --- a/target/linux/ixp4xx/Makefile +++ b/target/linux/ixp4xx/Makefile @@ -18,5 +18,6 @@ LINUX_VERSION:=3.3.8 include $(INCLUDE_DIR)/target.mk DEFAULT_PACKAGES += ixp4xx-microcode fconfig +KERNELNAME:="zImage" $(eval $(call BuildTarget)) diff --git a/target/linux/ixp4xx/image/Makefile b/target/linux/ixp4xx/image/Makefile index 30e5b12498..564cafcf34 100644 --- a/target/linux/ixp4xx/image/Makefile +++ b/target/linux/ixp4xx/image/Makefile @@ -31,10 +31,6 @@ define Image/Build/Freecom rm -f $(TARGET_DIR)/zImage endef -define Image/Prepare - cp $(LINUX_DIR)/arch/arm/boot/zImage $(KDIR)/zImage -endef - define Image/BuildKernel cp $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage BIN_DIR=$(BIN_DIR) IMG_PREFIX="$(IMG_PREFIX)" $(TOPDIR)/scripts/arm-magic.sh diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile index 99bf864260..7be27e6dfb 100644 --- a/target/linux/kirkwood/image/Makefile +++ b/target/linux/kirkwood/image/Makefile @@ -9,10 +9,6 @@ include $(INCLUDE_DIR)/image.mk NAND_BLOCKSIZE := 2048:128k -define Image/Prepare - cp $(LINUX_DIR)/arch/arm/boot/uImage $(KDIR)/uImage -endef - define Image/BuildKernel # do mach-id fixup here, if needed cp $(KDIR)/uImage $(BIN_DIR)/$(IMG_PREFIX)-uImage diff --git a/target/linux/mcs814x/image/Makefile b/target/linux/mcs814x/image/Makefile index 7386db0766..1c814fa4fd 100644 --- a/target/linux/mcs814x/image/Makefile +++ b/target/linux/mcs814x/image/Makefile @@ -14,9 +14,6 @@ LOADADDR:=0x00008000 JFFS2_BLOCKSIZE = 128k UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage -ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) - UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage-initramfs -endif define Image/Build/MkuImage mkimage -A arm -O linux -T kernel -a $(LOADADDR) -C none -e $(LOADADDR) \ @@ -24,14 +21,10 @@ define Image/Build/MkuImage endef define Image/Build/DTB - cp $(KDIR)/zImage $(KDIR)/zImage-$(1); - cat $(LINUX_DIR)/arch/$(ARCH)/boot/$(1).dtb >> $(KDIR)/zImage-$(1); - $(call Image/Build/MkuImage,$(KDIR)/zImage-$(1),$(KDIR)/uImage-$(1)) - cp $(KDIR)/uImage-$(1) $(UIMAGE)-$(1); -endef - -define Image/Prepare - cp $(LINUX_DIR)/arch/$(ARCH)/boot/zImage $(KDIR)/zImage + cp $(KDIR)/zImage$(2) $(KDIR)/zImage-$(1); + cat $(LINUX_DIR)/arch/$(ARCH)/boot/$(1).dtb >> $(KDIR)/zImage$(2)-$(1); + $(call Image/Build/MkuImage,$(KDIR)/zImage$(2)-$(1),$(KDIR)/uImage$(2)-$(1)) + cp $(KDIR)/uImage$(2)-$(1) $(UIMAGE)$(2)-$(1); endef define Image/Build/Profile/dLAN_USB_Extender @@ -42,7 +35,10 @@ endef define Image/BuildKernel $(foreach dtb,$(TARGET_DTBS),$(call Image/Build/DTB,$(dtb))) - $(call Image/Build/Initramfs) +endef + +define Image/Build/Initramfs + $(foreach dtb,$(TARGET_DTBS),$(call Image/Build/DTB,$(dtb),-initramfs)) endef define Image/Build/squashfs @@ -53,6 +49,9 @@ define Image/Build $(call Image/Build/$(1)) dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync $(call Image/Build/Profile/$(PROFILE),$(1)) +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) + $(call Image/Build/Initramfs) +endif endef $(eval $(call BuildImage)) diff --git a/target/linux/mpc52xx/Makefile b/target/linux/mpc52xx/Makefile index 0000c34642..d3cf6a2950 100644 --- a/target/linux/mpc52xx/Makefile +++ b/target/linux/mpc52xx/Makefile @@ -20,4 +20,6 @@ define Target/Description Build images for the Freescale MPC52xx based boards. endef +KERNELNAME:="zImage" + $(eval $(call BuildTarget)) diff --git a/target/linux/mpc52xx/image/Makefile b/target/linux/mpc52xx/image/Makefile index b63a78dc57..fc7e9cdce6 100644 --- a/target/linux/mpc52xx/image/Makefile +++ b/target/linux/mpc52xx/image/Makefile @@ -7,10 +7,6 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -define Image/Prepare - cp $(LINUX_DIR)/arch/powerpc/boot/zImage $(KDIR)/zImage -endef - define Image/BuildKernel cp $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage endef diff --git a/target/linux/mpc83xx/Makefile b/target/linux/mpc83xx/Makefile index bc52368f06..2a721dace0 100644 --- a/target/linux/mpc83xx/Makefile +++ b/target/linux/mpc83xx/Makefile @@ -23,4 +23,6 @@ define Target/Description Build firmware images for Freescale MPC83xx based boards (eg. RouterBoard 600). endef +KERNELNAME:="uImage" + $(eval $(call BuildTarget)) diff --git a/target/linux/mpc83xx/image/Makefile b/target/linux/mpc83xx/image/Makefile index aabfbad4d1..c7458f1c24 100644 --- a/target/linux/mpc83xx/image/Makefile +++ b/target/linux/mpc83xx/image/Makefile @@ -15,7 +15,7 @@ endef define Image/BuildKernel cp $(LINUX_DIR)/arch/powerpc/boot/dtbImage.rb600.elf $(BIN_DIR)/openwrt-$(BOARD)-rb600.elf cp $(LINUX_DIR)/arch/powerpc/boot/dtbImage.rb333.elf $(BIN_DIR)/openwrt-$(BOARD)-rb333.elf - cp $(LINUX_DIR)/arch/powerpc/boot/uImage $(BIN_DIR)/openwrt-$(BOARD)-uImage + cp $(KDIR)/uImage $(BIN_DIR)/openwrt-$(BOARD)-uImage endef define Image/Build diff --git a/target/linux/mpc85xx/image/Makefile b/target/linux/mpc85xx/image/Makefile index a5db79ec18..4c80bb777f 100644 --- a/target/linux/mpc85xx/image/Makefile +++ b/target/linux/mpc85xx/image/Makefile @@ -35,7 +35,7 @@ define Image/Prepare endef define Image/BuildKernel - cp $(KDIR)/zImage $(zImage) + cp $(KDIR)/zImage$(IMAGE_SUFFIX) $(zImage) $(foreach dts,$(DTS_TARGETS), $(LINUX_DIR)/scripts/dtc/dtc -I dts -O dtb $(LINUX_DIR)/arch/powerpc/boot/dts/$(dts).dts > $(BIN_DIR)/$(IMG_PREFIX)-$(dts).fdt ) diff --git a/target/linux/mvebu/image/Makefile b/target/linux/mvebu/image/Makefile index bc2dbf6025..af29c2baae 100644 --- a/target/linux/mvebu/image/Makefile +++ b/target/linux/mvebu/image/Makefile @@ -15,9 +15,6 @@ LOADADDR:=0x00008000 JFFS2_BLOCKSIZE = 128k UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage -ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) - UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage-initramfs -endif define Image/Build/MkuImage mkimage -A arm -O linux -T kernel -a $(LOADADDR) -C none -e $(LOADADDR) \ @@ -25,14 +22,10 @@ define Image/Build/MkuImage endef define Image/Build/DTB - cp $(KDIR)/zImage $(KDIR)/zImage-$(1); - cat $(LINUX_DIR)/arch/$(ARCH)/boot/dts/$(1).dtb >> $(KDIR)/zImage-$(1); - $(call Image/Build/MkuImage,$(KDIR)/zImage-$(1),$(KDIR)/uImage-$(1)) - cp $(KDIR)/uImage-$(1) $(UIMAGE)-$(1); -endef - -define Image/Prepare - cp $(LINUX_DIR)/arch/$(ARCH)/boot/zImage $(KDIR)/zImage + cp $(KDIR)/zImage$(2) $(KDIR)/zImage$(2)-$(1); + cat $(LINUX_DIR)/arch/$(ARCH)/boot/dts/$(1).dtb >> $(KDIR)/zImage$(2)-$(1); + $(call Image/Build/MkuImage,$(KDIR)/zImage$(2)-$(1),$(KDIR)/uImage$(2)-$(1)) + cp $(KDIR)/uImage$(2)-$(1) $(UIMAGE)$(2)-$(1); endef define Image/BuildKernel @@ -44,9 +37,16 @@ define Image/Build/squashfs $(STAGING_DIR_HOST)/bin/padjffs2 $(KDIR)/root.squashfs 128 endef +define Image/Build/Initramfs + $(foreach dtb,$(TARGET_DTBS),$(call Image/Build/DTB,$(dtb),-initramfs)) +endef + define Image/Build $(call Image/Build/$(1)) dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) + $(call Image/Build/Initramfs) +endif endef $(eval $(call BuildImage)) diff --git a/target/linux/omap24xx/Makefile b/target/linux/omap24xx/Makefile index 5998b4db7e..a91b0d2d13 100644 --- a/target/linux/omap24xx/Makefile +++ b/target/linux/omap24xx/Makefile @@ -20,6 +20,8 @@ endef CFLAGS:=-Os -pipe -march=armv6 -mtune=arm1136j-s -fno-caller-saves +KERNELNAME:="zImage" + include $(INCLUDE_DIR)/target.mk $(eval $(call BuildTarget)) diff --git a/target/linux/omap24xx/image/Makefile b/target/linux/omap24xx/image/Makefile index 24e9b76744..96dc854231 100644 --- a/target/linux/omap24xx/image/Makefile +++ b/target/linux/omap24xx/image/Makefile @@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/image.mk NAND_BLOCKSIZE=2048:128k define Image/BuildKernel - $(CP) $(LINUX_DIR)/arch/arm/boot/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage + $(CP) $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage chmod 0644 $(BIN_DIR)/$(IMG_PREFIX)-zImage endef diff --git a/target/linux/omap4/image/Makefile b/target/linux/omap4/image/Makefile index 5123c3a0a8..e118122bd4 100644 --- a/target/linux/omap4/image/Makefile +++ b/target/linux/omap4/image/Makefile @@ -7,10 +7,6 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -define Image/Prepare - cp $(LINUX_DIR)/arch/arm/boot/uImage $(KDIR)/uImage -endef - define Image/BuildKernel mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n 'Boot Image' -d boot.script $(BIN_DIR)/boot.scr cp $(KDIR)/uImage $(BIN_DIR)/openwrt-$(BOARD)-uImage diff --git a/target/linux/ppc40x/Makefile b/target/linux/ppc40x/Makefile index 037ede9a1a..39b074a5c7 100644 --- a/target/linux/ppc40x/Makefile +++ b/target/linux/ppc40x/Makefile @@ -21,4 +21,6 @@ define Target/Description Build firmware images for AMCC/IBM PPC40x based boards. endef +KERNELNAME:="uImage cuImage.magicbox cuImage.openrb" + $(eval $(call BuildTarget)) diff --git a/target/linux/ppc40x/image/Makefile b/target/linux/ppc40x/image/Makefile index dae5de5dff..86c238a6af 100644 --- a/target/linux/ppc40x/image/Makefile +++ b/target/linux/ppc40x/image/Makefile @@ -10,7 +10,6 @@ include $(INCLUDE_DIR)/image.mk JFFS2_BLOCKSIZE=128k 64k define Image/Prepare - cp $(LINUX_DIR)/arch/powerpc/boot/uImage $(KDIR)/uImage $(LINUX_DIR)/scripts/dtc/dtc -O dtb -R 4 -S 0x20000 $(LINUX_DIR)/arch/powerpc/boot/dts/kilauea.dts > $(KDIR)/openwrt-kilauea.dtb endef @@ -29,7 +28,7 @@ endef define Image/Build/jffs2-128k ( \ - dd if=$(LINUX_DIR)/arch/powerpc/boot/uImage bs=1920k conv=sync; \ + dd if=$(KDIR)/uImage bs=1920k conv=sync; \ dd if=$(KDIR)/openwrt-kilauea.dtb bs=128k conv=sync; \ dd if=$(KDIR)/root.$(1) bs=128k conv=sync; \ ) > $(BIN_DIR)/$(IMG_PREFIX)-kilauea-jffs2.img @@ -37,11 +36,11 @@ endef define Image/Build/jffs2-64k ( \ - dd if=$(LINUX_DIR)/arch/powerpc/boot/cuImage.magicbox bs=1408k conv=sync; \ + dd if=$(KDIR)/cuImage.magicbox bs=1408k conv=sync; \ dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \ ) > $(BIN_DIR)/$(IMG_PREFIX)-magicbox-jffs2.img ( \ - dd if=$(LINUX_DIR)/arch/powerpc/boot/cuImage.openrb bs=1408k conv=sync; \ + dd if=$(KDIR)/cuImage.openrb bs=1408k conv=sync; \ dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \ ) > $(BIN_DIR)/$(IMG_PREFIX)-openrb-jffs2.img endef @@ -49,24 +48,24 @@ endef define Image/Build/squashfs $(call prepare_generic_squashfs,$(KDIR)/root.squashfs) ( \ - dd if=$(LINUX_DIR)/arch/powerpc/boot/uImage bs=1920k conv=sync; \ + dd if=$(KDIR)/uImage bs=1920k conv=sync; \ dd if=$(KDIR)/openwrt-kilauea.dtb bs=128k conv=sync; \ dd if=$(KDIR)/root.$(1) bs=128k conv=sync; \ ) > $(BIN_DIR)/$(IMG_PREFIX)-kilauea-$(1).img ( \ - dd if=$(LINUX_DIR)/arch/powerpc/boot/cuImage.magicbox bs=1408k conv=sync; \ + dd if=$(KDIR)/cuImage.magicbox bs=1408k conv=sync; \ dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \ ) > $(BIN_DIR)/$(IMG_PREFIX)-magicbox-$(1).img ( \ - dd if=$(LINUX_DIR)/arch/powerpc/boot/cuImage.openrb bs=1408k conv=sync; \ + dd if=$(KDIR)/cuImage.openrb bs=1408k conv=sync; \ dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \ ) > $(BIN_DIR)/$(IMG_PREFIX)-openrb-$(1).img endef ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) define Image/Build/Initramfs - cp $(LINUX_DIR)/arch/powerpc/boot/cuImage.magicbox $(BIN_DIR)/openwrt-$(BOARD)-magicbox-initramfs.bin - cp $(LINUX_DIR)/arch/powerpc/boot/cuImage.openrb $(BIN_DIR)/openwrt-$(BOARD)-openrb-initramfs.bin + cp $(KDIR)/cuImage.magicbox-initramfs $(BIN_DIR)/openwrt-$(BOARD)-magicbox-initramfs.bin + cp $(KDIR)/cuImage.openrb-initramfs $(BIN_DIR)/openwrt-$(BOARD)-openrb-initramfs.bin endef endif diff --git a/target/linux/ppc44x/Makefile b/target/linux/ppc44x/Makefile index 1ca1f7876d..45512b55cc 100644 --- a/target/linux/ppc44x/Makefile +++ b/target/linux/ppc44x/Makefile @@ -23,4 +23,6 @@ define Target/Description Build firmware images for AMCC/IBM PPC44x based boards. endef +KERNELNAME:="uImage cuImage.taishan" + $(eval $(call BuildTarget)) diff --git a/target/linux/ppc44x/image/Makefile b/target/linux/ppc44x/image/Makefile index af4b26c537..47a7aedc14 100644 --- a/target/linux/ppc44x/image/Makefile +++ b/target/linux/ppc44x/image/Makefile @@ -10,7 +10,6 @@ include $(INCLUDE_DIR)/image.mk JFFS2_BLOCKSIZE=256k define Image/Prepare - cp $(LINUX_DIR)/arch/powerpc/boot/cuImage.taishan $(KDIR)/uImage $(LINUX_DIR)/scripts/dtc/dtc -O dtb -R 4 -S 0x20000 $(LINUX_DIR)/arch/powerpc/boot/dts/canyonlands.dts > $(KDIR)/openwrt-canyonlands.dtb endef @@ -32,11 +31,11 @@ endef define Image/Build/squashfs $(call prepare_generic_squashfs,$(KDIR)/root.squashfs) ( \ - dd if=$(KDIR)/uImage bs=2048k conv=sync; \ + dd if=$(KDIR)/cuImage.taishan bs=2048k conv=sync; \ dd if=$(KDIR)/root.$(1) bs=256k conv=sync; \ ) > $(BIN_DIR)/$(IMG_PREFIX)-taishan-$(1).img ( \ - dd if=$(LINUX_DIR)/arch/powerpc/boot/uImage bs=1920k conv=sync; \ + dd if=$(KDIR)/uImage bs=1920k conv=sync; \ dd if=$(KDIR)/openwrt-canyonlands.dtb bs=128k conv=sync; \ dd if=$(KDIR)/root.$(1) bs=256k conv=sync; \ ) > $(BIN_DIR)/$(IMG_PREFIX)-canyonlands-$(1).img diff --git a/target/linux/pxa/image/Makefile b/target/linux/pxa/image/Makefile index 7f2b5d4123..b8723363da 100644 --- a/target/linux/pxa/image/Makefile +++ b/target/linux/pxa/image/Makefile @@ -7,10 +7,6 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -define Image/Prepare - cp $(LINUX_DIR)/arch/arm/boot/uImage $(KDIR)/uImage -endef - define Image/BuildKernel cp $(KDIR)/uImage $(BIN_DIR)/$(IMG_PREFIX)-uImage endef diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 5f2c3113d2..49394692f0 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -19,8 +19,6 @@ VMLINUX:=$(IMG_PREFIX)-vmlinux UIMAGE:=$(IMG_PREFIX)-uImage ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) -VMLINUX:=$(IMG_PREFIX)-vmlinux-initramfs -UIMAGE:=$(IMG_PREFIX)-uImage-initramfs define Image/Build/Initramfs $(call Image/Build/Profile/$(PROFILE),initramfs) endef @@ -541,6 +539,13 @@ define Image/BuildKernel $(call CompressLzma,$(KDIR)/vmlinux,$(KDIR)/vmlinux.bin.lzma) $(call MkImage,lzma,$(KDIR)/vmlinux.bin.lzma,$(KDIR)/uImage.lzma) cp $(KDIR)/uImage.lzma $(BIN_DIR)/$(UIMAGE).bin +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) + cp $(KDIR)/vmlinux-initramfs.elf $(BIN_DIR)/$(VMLINUX)-initramfs.elf + cp $(KDIR)/vmlinux-initramfs $(BIN_DIR)/$(VMLINUX)-initramfs.bin + $(call CompressLzma,$(KDIR)/vmlinux-initramfs,$(KDIR)/vmlinux-initramfs.bin.lzma) + $(call MkImage,lzma,$(KDIR)/vmlinux-initramfs.bin.lzma,$(KDIR)/uImage-initramfs.lzma) + cp $(KDIR)/uImage-initramfs.lzma $(BIN_DIR)/$(UIMAGE)-initramfs.bin +endif $(call Image/Build/Initramfs) endef diff --git a/target/linux/rb532/image/Makefile b/target/linux/rb532/image/Makefile index da4baaa48a..d1236410db 100644 --- a/target/linux/rb532/image/Makefile +++ b/target/linux/rb532/image/Makefile @@ -29,12 +29,12 @@ define Image/Prepare endef VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux-kernel -ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) - VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux-initramfs -endif define Image/BuildKernel $(CP) $(KDIR)/loader.elf $(VMLINUX) +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) + $(CP) $(KDIR)/loader.elf $(BIN_DIR)/$(IMG_PREFIX)-vmlinux-initramfs +endif endef define Image/cmdline/jffs2-64k @@ -65,9 +65,10 @@ endef ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) define Image/Prepare - $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux '$(strip $(call Image/cmdline/yaffs2)) ' - cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma + $(STAGING_DIR_HOST)/bin/patch-cmdline $(KDIR)/vmlinux-initramfs '$(strip $(call Image/cmdline/yaffs2)) ' + cat $(KDIR)/vmlinux-initramfs | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux-initramfs.lzma $(MAKE) -C $(GENERIC_PLATFORM_DIR)/image/lzma-loader $(LOADER_MAKEOPTS) clean compile + $(CP) $(KDIR)/loader.elf $(KDIR)/loader-initramfs.elf endef endif diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile index 920f946254..0d4fe4764f 100644 --- a/target/linux/x86/Makefile +++ b/target/linux/x86/Makefile @@ -15,6 +15,8 @@ SUBTARGETS=generic olpc xen_domu ep80579 net5501 kvm_guest geos alix2 thincan \ LINUX_VERSION:=3.3.8 +KERNELNAME:=bzImage + include $(INCLUDE_DIR)/target.mk $(eval $(call BuildTarget)) diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index 62d4c73055..039d70ab82 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -246,7 +246,7 @@ define Image/Prepare endef define Image/Build/Initramfs - $(CP) $(KDIR)/bzImage $(BIN_DIR)/$(IMG_PREFIX)-ramfs.bzImage + $(CP) $(KDIR)/bzImage-initramfs $(BIN_DIR)/$(IMG_PREFIX)-ramfs.bzImage endef define Image/Build