ath25: fix ELF image generation
[openwrt/openwrt.git] / target / linux / ath25 / image / Makefile
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Copyright (C) 2006-2010 OpenWrt.org
4
5 include $(TOPDIR)/rules.mk
6 include $(INCLUDE_DIR)/image.mk
7
8 define Build/mkfwimage
9 $(STAGING_DIR_HOST)/bin/mkfwimage \
10 -B $(1).$(VERSION_DIST).$(REVISION) \
11 -k $(IMAGE_KERNEL) \
12 -r $(IMAGE_ROOTFS) \
13 -o $@.new && \
14 mv $@.new $@
15 endef
16
17 define Build/combined-image
18 -sh $(TOPDIR)/scripts/combined-image.sh \
19 "$(IMAGE_KERNEL)" \
20 "$(IMAGE_ROOTFS)" \
21 "$@.new" && \
22 mv $@.new $@
23 endef
24
25 define Build/mkmylofw
26 $(STAGING_DIR_HOST)/bin/mkmylofw -B $(1) \
27 -p0x020000:0x130000:ah:0x80041000:linux:$(IMAGE_KERNEL) \
28 -p0x150000:0x2a0000:::rootfs:$(IMAGE_ROOTFS) \
29 $@.new && \
30 mv $@.new $@
31 endef
32
33 define Build/gzip-kernel
34 gzip -9n -c $@ > $@.gz
35 dd if=$@.gz of=$@ bs=65536 conv=sync
36 endef
37
38 define Build/lzma-kernel
39 $(STAGING_DIR_HOST)/bin/lzma e $@ $@.l7
40 dd if=$@.l7 of=$@ bs=65536 conv=sync
41 endef
42
43 define Build/copy-kernel
44 rm -f $@ $@.elf
45 cp $< $@
46 cp $<.elf $@.elf
47 endef
48
49 define Build/elf-kernel
50 cp $(IMAGE_KERNEL).elf $@
51 endef
52
53
54 define Device/Default
55 PROFILES = Default $$(DEVICE_NAME)
56 KERNEL := copy-kernel | lzma-kernel
57 IMAGES := sysupgrade.bin
58 FILESYSTEMS := squashfs
59 endef
60
61 define Device/generic
62 DEVICE_VENDOR := Atheros
63 DEVICE_MODEL := Generic AR2xxx board
64 IMAGES := kernel.lzma kernel.elf kernel.gz rootfs.bin sysupgrade.bin
65 IMAGE/kernel.gz := elf-kernel | gzip-kernel
66 IMAGE/kernel.elf := elf-kernel
67 IMAGE/kernel.lzma := elf-kernel | lzma-kernel
68 IMAGE/rootfs.bin := append-rootfs | pad-rootfs | pad-to 128k
69 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | combined-image
70 DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(if $$(findstring kernel,$$(2)),,$$(1)-)$$(2)
71 endef
72 TARGET_DEVICES += generic
73
74 define Device/ubnt_picostation-2
75 DEVICE_VENDOR := Ubiquiti
76 DEVICE_MODEL := Picostation 2 (XS2-8)
77 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkfwimage XS2-8 -v XS2.ar2316
78 endef
79 TARGET_DEVICES += ubnt_picostation-2
80
81 define Device/ubnt_nanostation-2
82 DEVICE_VENDOR := Ubiquiti
83 DEVICE_MODEL := Nanostation 2 (XS2)
84 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkfwimage XS2 -v XS2.ar2316
85 DEFAULT := n
86 endef
87 TARGET_DEVICES += ubnt_nanostation-2
88
89 define Device/ubnt_nanostation-5
90 DEVICE_VENDOR := Ubiquiti
91 DEVICE_MODEL := Nanostation 5 (XS5)
92 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkfwimage XS5 -v XS5.ar2313
93 DEFAULT := n
94 endef
95 TARGET_DEVICES += ubnt_nanostation-5
96
97 define Device/compex_np25g
98 DEVICE_VENDOR := Compex
99 DEVICE_MODEL := NP25G
100 KERNEL := kernel-bin | gzip-kernel
101 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkmylofw np25g
102 BROKEN := y
103 endef
104 TARGET_DEVICES += compex_np25g
105
106 define Device/compex_wpe53g
107 DEVICE_VENDOR := Compex
108 DEVICE_MODEL := WPE53G
109 KERNEL := kernel-bin | gzip-kernel
110 IMAGE/sysupgrade.bin := append-rootfs | pad-rootfs | pad-to 128k | mkmylofw wpe53g
111 BROKEN := y
112 endef
113 TARGET_DEVICES += compex_wpe53g
114
115 $(eval $(call BuildImage))