diff options
Diffstat (limited to 'target/linux/octeon/image/Makefile')
-rw-r--r-- | target/linux/octeon/image/Makefile | 79 |
1 files changed, 35 insertions, 44 deletions
diff --git a/target/linux/octeon/image/Makefile b/target/linux/octeon/image/Makefile index e74b06dd4b..9e35a7dee2 100644 --- a/target/linux/octeon/image/Makefile +++ b/target/linux/octeon/image/Makefile @@ -7,59 +7,50 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -define Image/Prepare - # Workaround pre-SDK-1.9.0 u-boot versions not handling the .notes section - $(TARGET_CROSS)strip -R .notes $(KDIR)/vmlinux.elf -o $(KDIR)/vmlinux.elf.stripped +DEVICE_VARS += KERNEL_PREFIX + +define Device/Default + PROFILES = Default $$(DEVICE_NAME) + KERNEL_NAME := vmlinux.elf + KERNEL_INITRAMFS_NAME := vmlinux-initramfs.elf + KERNEL := kernel-bin | strip-kernel | patch-cmdline + IMAGES := sysupgrade.tar + FILESYSTEMS := squashfs + IMAGE/sysupgrade.tar := tar-file $$(FILESYSTEMS) +endef + +define Build/tar-file + mkdir -p $(KDIR)/sysupgrade-$(DEVICE_NAME)/ + echo "BOARD=$(BOARD)" > $(KDIR)/sysupgrade-$(DEVICE_NAME)/CONTROL + $(CP) $(KDIR)/$(KERNEL_IMAGE) $(KDIR)/sysupgrade-$(DEVICE_NAME)/kernel + $(CP) $(KDIR)/root.$(1) $(KDIR)/sysupgrade-$(DEVICE_NAME)/root + (cd $(KDIR); $(TAR) cvf \ + $@ sysupgrade-$(DEVICE_NAME)) endef -define Image/BuildKernel/Template - $(CP) $(KDIR)/vmlinux.elf.stripped $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux.64 - $(STAGING_DIR_HOST)/bin/patch-cmdline $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux.64 '$(strip $(2))' - md5sum $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux.64 | cut -d " " -f 1 | tee $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux.64.md5 +define Build/strip-kernel + # Workaround pre-SDK-1.9.0 u-boot versions not handling the .notes section + $(TARGET_CROSS)strip -R .notes $@ -o $@.stripped && mv $@.stripped $@ endef -define Image/BuildKernel/Initramfs/Template - $(TARGET_CROSS)strip -R .notes $(KDIR)/vmlinux-initramfs.elf -o $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux-initramfs.elf - $(STAGING_DIR_HOST)/bin/patch-cmdline $(BIN_DIR)/$(IMG_PREFIX)-$(1)-vmlinux-initramfs.elf '$(strip $(2))' +define Device/generic + FILESYSTEMS := ext4 + DEVICE_TITLE := Generic endef +TARGET_DEVICES += generic ER_CMDLINE:=-mtdparts=phys_mapped_flash:640k(boot0)ro,640k(boot1)ro,64k(eeprom)ro block2mtd.block2mtd=/dev/mmcblk0p2,65536,rootfs,5 root=/dev/mtdblock3 rootfstype=squashfs rootwait -ERLITE_CMDLINE:=-mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@1024k(eeprom) block2mtd.block2mtd=/dev/sda2,65536,rootfs,5 root=/dev/mtdblock3 rootfstype=squashfs rootwait - -define Image/BuildKernel - $(call Image/BuildKernel/Template,generic,) - $(call Image/BuildKernel/Template,er,$(ER_CMDLINE)) - $(call Image/BuildKernel/Template,erlite,$(ERLITE_CMDLINE)) -endef - -define Image/BuildKernel/Initramfs - $(call Image/BuildKernel/Initramfs/Template,generic,) - $(call Image/BuildKernel/Initramfs/Template,er,$(ER_CMDLINE)) - $(call Image/BuildKernel/Initramfs/Template,erlite,$(ERLITE_CMDLINE)) +define Device/er + CMDLINE := $(ER_CMDLINE) + DEVICE_TITLE := Ubiquiti EdgeRouter endef +TARGET_DEVICES += er -define Image/Build/sysupgrade - mkdir -p $(KDIR)/sysupgrade-$(1)/ - echo "BOARD=$(1)" > $(KDIR)/sysupgrade-$(1)/CONTROL - $(CP) $(BIN_DIR)/$(IMG_PREFIX)-$(2)-vmlinux.64 $(KDIR)/sysupgrade-$(1)/kernel - $(CP) $(KDIR)/root.$(3) $(KDIR)/sysupgrade-$(1)/root - (cd $(KDIR); $(TAR) cvf \ - $(BIN_DIR)/$(IMG_PREFIX)-$(1)-$(3)-sysupgrade.tar sysupgrade-$(1)) -endef - -define Image/Build/ext4 - $(call Image/Build/sysupgrade,erlite,generic,ext4) -endef - -define Image/Build/squashfs - $(call prepare_generic_squashfs,$(KDIR)/root.squashfs) - $(call Image/Build/sysupgrade,er,er,squashfs) - $(call Image/Build/sysupgrade,erlite,erlite,squashfs) -endef - -define Image/Build - $(call Image/Build/$(1)) - dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync +ERLITE_CMDLINE:=-mtdparts=phys_mapped_flash:512k(boot0),512k(boot1),64k@1024k(eeprom) block2mtd.block2mtd=/dev/sda2,65536,rootfs,5 root=/dev/mtdblock3 rootfstype=squashfs rootwait +define Device/erlite + CMDLINE := $(ERLITE_CMDLINE) + DEVICE_TITLE := Ubiquiti EdgeRouter Lite endef +TARGET_DEVICES += erlite $(eval $(call BuildImage)) |