mirror of
				https://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 22:46:17 +00:00 
			
		
		
		
	Remove use of DEVICE_TITLE in favor of the DEVICE_VENDOR and DEVICE_MODEL as used by all other targets. Signed-off-by: Moritz Warning <moritzwarning@web.de>
		
			
				
	
	
		
			222 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			222 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| # SPDX-License-Identifier: GPL-2.0-only
 | |
| #
 | |
| # Copyright (C) 2006-2016 OpenWrt.org
 | |
| 
 | |
| include $(TOPDIR)/rules.mk
 | |
| include $(INCLUDE_DIR)/image.mk
 | |
| 
 | |
| USB1_PACKAGES := kmod-usb-ohci
 | |
| USB2_PACKAGES := $(USB1_PACKAGES) kmod-usb2
 | |
| 
 | |
| define Build/Clean
 | |
| 	$(MAKE) -C lzma-loader clean
 | |
| endef
 | |
| 
 | |
| define Image/Prepare
 | |
| 	# Optimized LZMA compression (with dictionary), handled by lzma-loader.
 | |
| 	cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma
 | |
| 
 | |
| 	# Less optimal LZMA compression (no dictionary), handled by CFE.
 | |
| 	$(STAGING_DIR_HOST)/bin/lzma e -so -d16 $(KDIR)/vmlinux > $(KDIR)/vmlinux-nodictionary.lzma
 | |
| 
 | |
| 	gzip -nc9 $(KDIR)/vmlinux > $(KDIR)/vmlinux.gz
 | |
| 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
 | |
| 	$(STAGING_DIR_HOST)/bin/lzma e -so -d16 $(KDIR)/vmlinux-initramfs > $(KDIR)/vmlinux-initramfs-nodictionary.lzma
 | |
| endif
 | |
| 	rm -f $(KDIR)/loader.gz
 | |
| 	$(MAKE) -C lzma-loader \
 | |
| 		BUILD_DIR="$(KDIR)" \
 | |
| 		TARGET="$(KDIR)" \
 | |
| 		clean install
 | |
| 	echo -ne "\\x00" >> $(KDIR)/loader.gz
 | |
| 	rm -f $(KDIR)/fs_mark
 | |
| 	echo -ne '\xde\xad\xc0\xde' > $(KDIR)/fs_mark
 | |
| 	$(call prepare_generic_squashfs,$(KDIR)/fs_mark)
 | |
| endef
 | |
| 
 | |
| define trxalign/jffs2-128k
 | |
| -a 0x20000 -f $(KDIR)/root.$(1)
 | |
| endef
 | |
| define trxalign/jffs2-64k
 | |
| -a 0x10000 -f $(KDIR)/root.$(1)
 | |
| endef
 | |
| define trxalign/squashfs
 | |
| -a 1024 -f $(1) $(if $(2),-f $(2)) -a 0x10000 -A $(KDIR)/fs_mark
 | |
| endef
 | |
| 
 | |
| #################################################
 | |
| # Images
 | |
| #################################################
 | |
| 
 | |
| define Build/trx-with-loader
 | |
| 	$(STAGING_DIR_HOST)/bin/trx \
 | |
| 		-m 33554432 \
 | |
| 		-o $@.new \
 | |
| 		-f $(KDIR)/loader.gz \
 | |
| 		-f $(IMAGE_KERNEL) \
 | |
| 		$(call trxalign/$(FILESYSTEM),$@)
 | |
| 	mv $@.new $@
 | |
| endef
 | |
| 
 | |
| define Build/trx-v2-with-loader
 | |
| 	$(STAGING_DIR_HOST)/bin/trx \
 | |
| 		-2 \
 | |
| 		-m 33554432 \
 | |
| 		-o $@.new \
 | |
| 		-f $(KDIR)/loader.gz \
 | |
| 		-f $(KDIR)/vmlinux.lzma \
 | |
| 		$(call trxalign/$(FILESYSTEM),$@,$@.pattern)
 | |
| 	mv $@.new $@
 | |
| endef
 | |
| 
 | |
| define Build/trx-without-loader
 | |
| 	$(STAGING_DIR_HOST)/bin/trx \
 | |
| 		-m 33554432 \
 | |
| 		-o $@.new \
 | |
| 		-f $(IMAGE_KERNEL) \
 | |
| 		$(call trxalign/$(FILESYSTEM),$@)
 | |
| 	mv $@.new $@
 | |
| endef
 | |
| 
 | |
| define Build/asus-trx
 | |
| 	$(STAGING_DIR_HOST)/bin/asustrx -p $(PRODUCTID) -i $@ -o $@.new
 | |
| 	mv $@.new $@
 | |
| endef
 | |
| 
 | |
| define Build/edimax-bin
 | |
| 	$(STAGING_DIR_HOST)/bin/trx2edips $@ $@.new
 | |
| 	mv $@.new $@
 | |
| endef
 | |
| 
 | |
| define Build/huawei-bin
 | |
| 	dd if=/dev/zero of=$@.new bs=92 count=1
 | |
| 	echo -ne 'HDR0\x08\x00\x00\x00' >> $@.new
 | |
| 	cat $@ >> $@.new
 | |
| 	mv $@.new $@
 | |
| endef
 | |
| 
 | |
| define Build/linksys-bin
 | |
| 	$(STAGING_DIR_HOST)/bin/addpattern -4 -p $(DEVICE_ID) -v v$(VERSION) $(if $(SERIAL),-s $(SERIAL)) -i $@ -o $@.new
 | |
| 	mv $@.new $@
 | |
| endef
 | |
| 
 | |
| define Build/linksys-pattern-partition
 | |
| 	$(STAGING_DIR_HOST)/bin/addpattern -5 -p $(DEVICE_ID) -v v$(VERSION) $(if $(SERIAL),-s $(SERIAL)) -i /dev/null -o $@.pattern
 | |
| endef
 | |
| 
 | |
| define Build/motorola-bin
 | |
| 	$(STAGING_DIR_HOST)/bin/motorola-bin -$(MOTOROLA_DEVICE) $@ $@.new
 | |
| 	mv $@.new $@
 | |
| endef
 | |
| 
 | |
| define Build/prepend-with-elf
 | |
| 	mv $@ $@.old
 | |
| 	dd if=$(KDIR)/loader.elf of=$@ bs=131072 conv=sync
 | |
| 	cat $@.old >> $@
 | |
| endef
 | |
| 
 | |
| define Build/tailed-bin
 | |
| 	echo $(BIN_TAIL) >> $@
 | |
| endef
 | |
| 
 | |
| define Build/usrobotics-bin
 | |
| 	$(STAGING_DIR_HOST)/bin/trx2usr $@ $@.new
 | |
| 	mv $@.new $@
 | |
| endef
 | |
| 
 | |
| #################################################
 | |
| # Devices
 | |
| #################################################
 | |
| 
 | |
| DEVICE_VARS += PRODUCTID
 | |
| DEVICE_VARS += DEVICE_ID VERSION SERIAL
 | |
| DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION
 | |
| DEVICE_VARS += MOTOROLA_DEVICE
 | |
| DEVICE_VARS += BIN_TAIL
 | |
| 
 | |
| define Device/Default
 | |
| 	KERNEL := kernel-bin
 | |
| 	DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1).$$(2)
 | |
| 	KERNEL_NAME = vmlinux.lzma
 | |
| 	KERNEL_INITRAMFS_NAME = vmlinux-initramfs.lzma
 | |
| 	FILESYSTEMS := $(FS_64K)
 | |
| 	IMAGES := trx
 | |
| 	IMAGE/trx := append-rootfs | trx-with-loader
 | |
| endef
 | |
| 
 | |
| define Device/standard
 | |
|   DEVICE_VENDOR := Generic
 | |
|   DEVICE_MODEL := Image with LZMA loader and LZMA compressed kernel
 | |
| endef
 | |
| 
 | |
| define Device/standard-noloader-gz
 | |
|   DEVICE_VENDOR := Generic
 | |
|   DEVICE_MODEL := Image with gzipped kernel
 | |
|   KERNEL_NAME = vmlinux.gz
 | |
|   IMAGE/trx := append-rootfs | trx-without-loader
 | |
| endef
 | |
| 
 | |
| define Device/standard-noloader-nodictionarylzma
 | |
|   DEVICE_VENDOR := Generic
 | |
|   DEVICE_MODEL := Image with LZMA compressed kernel matching CFE decompressor
 | |
|   KERNEL_NAME = vmlinux-nodictionary.lzma
 | |
|   IMAGE/trx := append-rootfs | trx-without-loader
 | |
| endef
 | |
| 
 | |
| define Device/asus
 | |
| 	DEVICE_VENDOR := ASUS
 | |
| 	IMAGES := trx
 | |
| 	IMAGE/trx := append-rootfs | trx-with-loader | asus-trx
 | |
| endef
 | |
| 
 | |
| define Device/linksys
 | |
| 	DEVICE_VENDOR := Linksys
 | |
| 	IMAGES := bin
 | |
| 	IMAGE/bin := append-rootfs | trx-with-loader | linksys-bin
 | |
| endef
 | |
| 
 | |
| define Device/motorola
 | |
| 	DEVICE_VENDOR := Motorola
 | |
| 	IMAGES := bin
 | |
| 	IMAGE/bin := append-rootfs | trx-with-loader | motorola-bin
 | |
| endef
 | |
| 
 | |
| define Device/netgear
 | |
| 	DEVICE_VENDOR := NETGEAR
 | |
| 	IMAGES := chk
 | |
| 	IMAGE/chk := append-rootfs | trx-with-loader | netgear-chk
 | |
| endef
 | |
| 
 | |
| #################################################
 | |
| # Subtarget devices
 | |
| #################################################
 | |
| 
 | |
| include $(SUBTARGET).mk
 | |
| 
 | |
| #################################################
 | |
| # Shared BuildImage defines
 | |
| #################################################
 | |
| 
 | |
| define Image/Build/Initramfs
 | |
| 	$(STAGING_DIR_HOST)/bin/trx \
 | |
| 		-m 33554432 \
 | |
| 		-o $(BIN_DIR)/$(IMG_PREFIX)-initramfs.trx \
 | |
| 		-f $(KDIR)/loader.gz \
 | |
| 		-f $(KDIR)/vmlinux-initramfs.lzma
 | |
| 	$(STAGING_DIR_HOST)/bin/trx \
 | |
| 		-m 33554432 \
 | |
| 		-o $(BIN_DIR)/$(IMG_PREFIX)-initramfs-noloader-nodictionary.trx \
 | |
| 		-f $(KDIR)/vmlinux-initramfs-nodictionary.lzma
 | |
| endef
 | |
| 
 | |
| # $(1): filesystem type.
 | |
| define Image/Build
 | |
| 	# TODO: Move it to Device/*
 | |
| ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
 | |
| 	$(call Image/Build/Initramfs)
 | |
| endif
 | |
| endef
 | |
| 
 | |
| $(eval $(call BuildImage))
 |