X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;f=target%2Flinux%2Fbcm63xx%2Fimage%2FMakefile;h=9137971fa57e8a2f73ae55e2b1ab7b6f2385f11a;hb=2630e5063df0240eb0d05cd6e953b2bd412e3215;hp=7c3091fb66835dc56d6444b1c41bea92733eef0d;hpb=c93cdf536a086deab0fa696989263a97b4d6c417;p=openwrt%2Fstaging%2Fstintel.git diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile index 7c3091fb66..9137971fa5 100644 --- a/target/linux/bcm63xx/image/Makefile +++ b/target/linux/bcm63xx/image/Makefile @@ -1,10 +1,8 @@ +# SPDX-License-Identifier: GPL-2.0-only # # Copyright (C) 2006-2015 OpenWrt.org # Copyright (C) 2016 LEDE project -# -# 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 @@ -13,13 +11,6 @@ LOADER_ENTRY = 0x80a00000 # RAM start + 10M, for relocate RAMSIZE = 0x02000000 # 32MB LZMA_TEXT_START = 0x81800000 # 32MB - 8MB -LOADER_MAKEOPTS= \ - KDIR=$(KDIR) \ - LOADADDR=$(KERNEL_LOADADDR) \ - RAMSIZE=$(RAMSIZE) \ - LZMA_TEXT_START=$(LZMA_TEXT_START) \ - CHIP_ID=$(CHIP_ID) - RELOCATE_MAKEOPTS= \ CACHELINE_SIZE=16 \ KERNEL_ADDR=$(KERNEL_LOADADDR) \ @@ -43,7 +34,12 @@ endef define Build/loader-lzma rm -rf $@.src $(MAKE) -C lzma-loader \ - $(LOADER_MAKEOPTS) \ + KDIR=$(KDIR) \ + LOADER_ADDR=$(if $(DEVICE_LOADADDR),$(DEVICE_LOADADDR),$(LOADER_ENTRY)) \ + KERNEL_ADDR=$(KERNEL_LOADADDR) \ + RAMSIZE=$(RAMSIZE) \ + LZMA_TEXT_START=$(LZMA_TEXT_START) \ + CHIP_ID=$(CHIP_ID) \ PKG_BUILD_DIR="$@.src" \ TARGET_DIR="$(dir $@)" \ LOADER_DATA="$@" \ @@ -88,44 +84,15 @@ endef define rootfspad/squashfs endef -define Image/LimitName16 -$(shell expr substr "$(1)" 1 16) -endef - define Image/FileSystemStrip $(firstword $(subst +,$(space),$(subst root.,,$(notdir $(1))))) endef -define Build/ad1018-jffs2-cferam - mv $@ $@.kernel - - rm -rf $@-cferam - mkdir -p $@-cferam - - # CFE RAM JFFS2 partition - cp $(KDIR)/bcm63xx-cfe/$(CFE_RAM_FILE) $@-cferam/$(CFE_RAM_JFFS2_NAME) - $(call Build/cfe-jffs2,$@-cferam) - mv $@ $@.cferam - - # First block of CFE RAM 1 will be destroyed by MMAP - dd if=$@.cferam bs=$(BLOCKSIZE) count=1 > $@ - dd if=$@.cferam >> $@ - $(call Build/pad-to,896k) - - # CFE RAM 2 - dd if=$@.cferam >> $@ - - # Append kernel @ 4M - $(call Build/pad-to,4096k) - dd if=$@.kernel >> $@ - rm -f $@.kernel -endef - define Build/cfe-bin $(STAGING_DIR_HOST)/bin/imagetag -i $(IMAGE_KERNEL) -f $(IMAGE_ROOTFS) \ --output $@ --boardid $(CFE_BOARD_ID) --chipid $(CHIP_ID) \ --entry $(LOADER_ENTRY) --load-addr $(LOADER_ENTRY) \ - --info1 "$(call Image/LimitName16,$(DEVICE_NAME))" \ + --info1 "$(call ModelNameLimit16,$(DEVICE_NAME))" \ --info2 "$(call Image/FileSystemStrip,$(IMAGE_ROOTFS))" \ $(call rootfspad/$(call Image/FileSystemStrip,$(IMAGE_ROOTFS))) \ $(CFE_EXTRAS) $(1) @@ -168,6 +135,9 @@ define Build/cfe-jffs2-cferam # Some devices need padding between CFE RAM and kernel $(if $(CFE_RAM_JFFS2_PAD),$(call Build/pad-to,$(CFE_RAM_JFFS2_PAD))) + # Add CFE partition tag + $(if $(CFE_PART_ID),$(call Build/cfe-part-tag)) + # Append kernel dd if=$@.kernel >> $@ rm -f $@.kernel @@ -193,8 +163,8 @@ define Build/cfe-jffs2-kernel $(TOPDIR)/scripts/cfe-bin-header.py \ --input-file $@ \ --output-file $@-kernel/vmlinux.lz \ - --load-addr $(LOADER_ENTRY) \ - --entry-addr $(LOADER_ENTRY) + --load-addr $(if $(DEVICE_LOADADDR),$(DEVICE_LOADADDR),$(LOADER_ENTRY)) \ + --entry-addr $(if $(DEVICE_LOADADDR),$(DEVICE_LOADADDR),$(LOADER_ENTRY)) # The JFFS2 partition creation should result in the following # layout: @@ -204,6 +174,69 @@ define Build/cfe-jffs2-kernel $(call Build/cfe-jffs2,$@-kernel) endef +define Build/cfe-part-tag + mv $@ $@.part + + $(TOPDIR)/scripts/cfe-partition-tag.py \ + --input-file $@.part \ + --output-file $@ \ + --flags $(CFE_PART_FLAGS) \ + --id $(CFE_PART_ID) \ + --name $(VERSION_CODE) \ + --version $(DEVICE_NAME) + + $(call Build/pad-to,$(BLOCKSIZE)) + + dd if=$@.part >> $@ +endef + +define Build/cfe-sercomm-part + $(TOPDIR)/scripts/sercomm-partition-tag.py \ + --input-file $@ \ + --output-file $@.kernel_rootfs \ + --part-name kernel_rootfs \ + --part-version OpenWrt \ + --rootfs-version $(SERCOMM_VERSION) + + rm -rf $@-rootfs_lib + mkdir -p $@-rootfs_lib + echo $(SERCOMM_VERSION) > $@-rootfs_lib/lib_ver + $(call Build/cfe-jffs2,$@-rootfs_lib) + $(call Build/pad-to,$(BLOCKSIZE)) + $(TOPDIR)/scripts/sercomm-partition-tag.py \ + --input-file $@ \ + --output-file $@.rootfs_lib \ + --part-name rootfs_lib \ + --part-version $(SERCOMM_VERSION) + + mv $@.kernel_rootfs $@ + dd if=$@.rootfs_lib >> $@ +endef + +define Build/cfe-sercomm-load + $(TOPDIR)/scripts/sercomm-payload.py \ + --input-file $@ \ + --output-file $@.new \ + --pid "$(SERCOMM_PID)" + + mv $@.new $@ +endef + +define Build/cfe-sercomm-crypto + $(TOPDIR)/scripts/sercomm-crypto.py \ + --input-file $@ \ + --key-file $@.key \ + --output-file $@.ser \ + --version OpenWrt + $(STAGING_DIR_HOST)/bin/openssl enc -md md5 -aes-256-cbc \ + -in $@ -out $@.enc \ + -K `cat $@.key` \ + -iv 00000000000000000000000000000000 + dd if=$@.enc >> $@.ser + mv $@.ser $@ + rm -f $@.enc $@.key +endef + define Build/cfe-old-bin $(TOPDIR)/scripts/brcmImage.pl -t -p \ -o $@ -b $(CFE_BOARD_ID) -c $(CHIP_ID) \ @@ -268,15 +301,16 @@ define Device/Default CHIP_ID := SOC = bcm$$(CHIP_ID) DEVICE_DTS = $$(SOC)-$(subst _,-,$(1)) + DEVICE_LOADADDR := endef -DEVICE_VARS += CHIP_ID +DEVICE_VARS += CHIP_ID DEVICE_LOADADDR -ATH5K_PACKAGES := kmod-ath5k wpad-basic -ATH9K_PACKAGES := kmod-ath9k wpad-basic -B43_PACKAGES := kmod-b43 wpad-basic +ATH5K_PACKAGES := kmod-ath5k wpad-basic-mbedtls +ATH9K_PACKAGES := kmod-ath9k wpad-basic-mbedtls +B43_PACKAGES := kmod-b43 wpad-basic-mbedtls BRCMWL_PACKAGES := kmod-brcm-wl nas wlc -RT28_PACKAGES := kmod-rt2800-pci wpad-basic -RT61_PACKAGES := kmod-rt61-pci wpad-basic +RT28_PACKAGES := kmod-rt2800-pci wpad-basic-mbedtls +RT61_PACKAGES := kmod-rt61-pci wpad-basic-mbedtls USB1_PACKAGES := kmod-usb-ohci kmod-usb-ledtrig-usbport USB2_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport