aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath25/image/Makefile
blob: 9cdcdf9e9572e47ec102cb72cbf455bfc8052648 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 2006-2010 OpenWrt.org

include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk

define Build/mkfwimage
	$(STAGING_DIR_HOST)/bin/mkfwimage \
		-B $(1).$(VERSION_DIST).$(REVISION) \
		-k $(IMAGE_KERNEL) \
		-r $(IMAGE_ROOTFS) \
		-o $@.new && \
	mv $@.new $@
endef

define Build/combined-image
	-sh $(TOPDIR)/scripts/combined-image.sh \
		"$(IMAGE_KERNEL)" \
		"$(IMAGE_ROOTFS)" \
		"$@.new" && \
	mv $@.new $@
endef

define Build/mkmylofw
	$(STAGING_DIR_HOST)/bin/mkmylofw -B $(1) \
		-p0x020000:0x130000:ah:0x80041000:linux:$(IMAGE_KERNEL) \
		-p0x150000:0x2a0000:::rootfs:$(IMAGE_ROOTFS) \
		$@.new && \
	mv $@.new $@
endef

define Build/gzip-kernel
	gzip -9n -c $@ > $@.gz
	dd if=$@.gz of=$@ bs=65536 conv=sync
endef

define Build/lzma-kernel
	$(STAGING_DIR_HOST)/bin/lzma e $@ $@.l7
	dd if=$@.l7 of=$@ bs=65536 conv=sync
endef

define Build/copy-kernel
	rm -f $@ $@.elf
	cp $< $@
	cp $<.elf $@.elf
endef

define Build/elf-kernel
	cp $(IMAGE_KERNEL).elf $@
endef


define Device/Default
  PROFILES = Default $$(DEVICE_NAME)
  KERNEL := copy-kernel | lzma-kernel
  KERNEL_INITRAMFS = kernel-bin
  KERNEL_INITRAMFS_NAME := vmlinux-initramfs.elf
  KERNEL_INITRAMFS_SUFFIX := -kernel.elf
  IMAGES := sysupgrade.bin
  FILESYSTEMS := squashfs
endef

define Device/generic
  DEVICE_VENDOR := Atheros
  DEVICE_MODEL := Generic AR2xxx board
  IMAGES := kernel.lzma kernel.elf kernel.gz rootfs.bin sysupgrade.bin
  IMAGE/kernel.gz := elf-kernel | gzip-kernel
  IMAGE/kernel.elf := elf-kernel
  IMAGE/kernel.lzma := elf-kernel | lzma-kernel
  IMAGE/rootfs.bin := append-rootfs | pad-rootfs | pad-to 128k
  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | combined-image
  DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(if $$(findstring kernel,$$(2)),,$$(1)-)$$(2)
endef
TARGET_DEVICES += generic

define Device/ubnt_picostation-2
  DEVICE_VENDOR := Ubiquiti
  DEVICE_MODEL := Picostation 2 (XS2-8)
  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkfwimage XS2-8 -v XS2.ar2316
endef
TARGET_DEVICES += ubnt_picostation-2

define Device/ubnt_nanostation-2
  DEVICE_VENDOR := Ubiquiti
  DEVICE_MODEL := Nanostation 2 (XS2)
  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkfwimage XS2 -v XS2.ar2316
  DEFAULT := n
endef
TARGET_DEVICES += ubnt_nanostation-2

define Device/ubnt_nanostation-5
  DEVICE_VENDOR := Ubiquiti
  DEVICE_MODEL := Nanostation 5 (XS5)
  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkfwimage XS5 -v XS5.ar2313
  DEFAULT := n
endef
TARGET_DEVICES += ubnt_nanostation-5

define Device/compex_np25g
  DEVICE_VENDOR := Compex
  DEVICE_MODEL := NP25G
  KERNEL := kernel-bin | gzip-kernel
  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkmylofw np25g
  BROKEN := y
endef
TARGET_DEVICES += compex_np25g

define Device/compex_wpe53g
  DEVICE_VENDOR := Compex
  DEVICE_MODEL := WPE53G
  KERNEL := kernel-bin | gzip-kernel
  IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkmylofw wpe53g
  BROKEN := y
endef
TARGET_DEVICES += compex_wpe53g

$(eval $(call BuildImage))