X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=blobdiff_plain;f=target%2Flinux%2Focteon%2Fimage%2FMakefile;h=f77159e1f93b32a812aa241d183929ce0447bdb3;hp=f06dd6bcfe4e818d10087032c97d3ce872c5453a;hb=6ee3680614047f7732731ebbaac946a93ab4f693;hpb=90cbc9a04fce0bee57bd7b2983e6ae570edfb189 diff --git a/target/linux/octeon/image/Makefile b/target/linux/octeon/image/Makefile index f06dd6bcfe..f77159e1f9 100644 --- a/target/linux/octeon/image/Makefile +++ b/target/linux/octeon/image/Makefile @@ -1,41 +1,85 @@ +# SPDX-License-Identifier: GPL-2.0-only # # Copyright (C) 2009-2010 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# + include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -define Image/BuildKernel +define Build/append-dtb-to-elf + $(TARGET_CROSS)objcopy --update-section .appended_dtb=$(KDIR)/image-$(DEVICE_DTS).dtb $@ +endef + +define Build/strip-kernel # Workaround pre-SDK-1.9.0 u-boot versions not handling the .notes section - $(TARGET_CROSS)strip -R .notes $(KDIR)/vmlinux.elf -o $(BIN_DIR)/$(IMG_PREFIX)-vmlinux.elf - $(STAGING_DIR_HOST)/bin/lzma e $(KDIR)/vmlinux $(KDIR)/vmlinux.bin.l7 - dd if=$(KDIR)/vmlinux.bin.l7 of=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux.lzma bs=65536 conv=sync - $(CP) $(KDIR)/vmlinux.elf $(BIN_DIR)/vmlinux.64 - md5sum $(BIN_DIR)/vmlinux.64 | cut -d " " -f 1 | tee $(BIN_DIR)/vmlinux.64.md5 + $(TARGET_CROSS)strip -R .notes $@ -o $@.stripped && mv $@.stripped $@ +endef + +DTS_DIR := $(DTS_DIR)/cavium-octeon + +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 + IMAGE/sysupgrade.tar/squashfs := append-rootfs | pad-extra 128k | sysupgrade-tar rootfs=$$$$@ + IMAGE/sysupgrade.tar := sysupgrade-tar +endef + +define Device/generic + DEVICE_VENDOR := Generic + DEVICE_MODEL := Octeon + FILESYSTEMS := ext4 +endef +TARGET_DEVICES += generic + +ITUSROUTER_CMDLINE:=console=ttyS0,115200 root=/dev/mmcblk1p2 rootfstype=squashfs,ext4,f2fs rootwait +define Device/itus_shield-router + DEVICE_VENDOR := Itus Networks + DEVICE_MODEL := Shield Router + CMDLINE := $(ITUSROUTER_CMDLINE) + IMAGE/sysupgrade.tar/squashfs += | append-metadata +endef +TARGET_DEVICES += itus_shield-router + +ER_CMDLINE:=-mtdparts=phys_mapped_flash:640k(boot0)ro,640k(boot1)ro,64k(eeprom)ro root=/dev/mmcblk0p2 rootfstype=squashfs,ext4 rootwait +define Device/ubnt_edgerouter + DEVICE_VENDOR := Ubiquiti + DEVICE_MODEL := EdgeRouter + BOARD_NAME := er + CMDLINE := $(ER_CMDLINE) endef +TARGET_DEVICES += ubnt_edgerouter -define Image/Build/squashfs - $(call prepare_generic_squashfs,$(KDIR)/root.squashfs) +define Device/ubnt_edgerouter-e300 + DEVICE_VENDOR := Ubiquiti + DEVICE_PACKAGES += kmod-gpio-button-hotplug kmod-leds-gpio kmod-of-mdio kmod-sfp kmod-usb3 kmod-usb-dwc3 kmod-usb-storage-uas + KERNEL := kernel-bin | patch-cmdline | append-dtb-to-elf + KERNEL_DEPENDS := $$(wildcard $(DTS_DIR)/$(DEVICE_DTS).dts) + CMDLINE := root=/dev/mmcblk0p2 rootfstype=squashfs,ext4 rootwait endef -define Image/Build/ext4/erlite - mkdir -p $(KDIR)/sysupgrade-erlite/ - echo "BOARD=erlite" > $(KDIR)/sysupgrade-erlite/CONTROL - $(CP) $(KDIR)/vmlinux.elf $(KDIR)/sysupgrade-erlite/kernel - $(CP) $(KDIR)/root.ext4 $(KDIR)/sysupgrade-erlite/root - (cd $(KDIR); $(TAR) cvf \ - $(BIN_DIR)/$(IMG_PREFIX)-erlite-sysupgrade.tar sysupgrade-erlite) +define Device/ubnt_edgerouter-4 + $(Device/ubnt_edgerouter-e300) + DEVICE_MODEL := EdgeRouter 4 + DEVICE_DTS := cn7130_ubnt_edgerouter-4 endef +TARGET_DEVICES += ubnt_edgerouter-4 -define Image/Build/ext4 - $(call Image/Build/ext4/erlite) +define Device/ubnt_edgerouter-6p + $(Device/ubnt_edgerouter-e300) + DEVICE_MODEL := EdgeRouter 6P + DEVICE_DTS := cn7130_ubnt_edgerouter-6p endef +TARGET_DEVICES += ubnt_edgerouter-6p -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)ro,512k(boot1)ro,64k(eeprom)ro root=/dev/sda2 rootfstype=squashfs,ext4 rootwait +define Device/ubnt_edgerouter-lite + DEVICE_VENDOR := Ubiquiti + DEVICE_MODEL := EdgeRouter Lite + BOARD_NAME := erlite + CMDLINE := $(ERLITE_CMDLINE) endef +TARGET_DEVICES += ubnt_edgerouter-lite $(eval $(call BuildImage))