OpenWrt – Blame information for rev 4
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
4 | office | 1 | # |
2 | # Copyright (C) 2006-2015 OpenWrt.org |
||
3 | # |
||
4 | # This is free software, licensed under the GNU General Public License v2. |
||
5 | # See /LICENSE for more information. |
||
6 | # |
||
7 | include $(TOPDIR)/rules.mk |
||
8 | include $(INCLUDE_DIR)/image.mk |
||
9 | |||
10 | DROP_SECTIONS:=.reginfo .mdebug .comment .note .pdr .options .MIPS.options |
||
11 | OBJCOPY_SREC:=$(TARGET_CROSS)objcopy -S -O srec $(addprefix --remove-section=,$(DROP_SECTIONS)) |
||
12 | |||
13 | LOADADDR:=0x94600000 |
||
14 | KERNEL_ENTRY:=0x94100000 |
||
15 | RAMSTART:=0x94000000 |
||
16 | RAMSIZE:=0x00100000 |
||
17 | |||
18 | EVA_LOADADDR := 0x94100000 |
||
19 | |||
20 | LOADER_MAKEOPTS= \ |
||
21 | KDIR=$(KDIR) \ |
||
22 | LOADADDR=$(LOADADDR) \ |
||
23 | KERNEL_ENTRY=$(KERNEL_ENTRY) \ |
||
24 | RAMSTART=$(RAMSTART) \ |
||
25 | RAMSIZE=$(RAMSIZE) |
||
26 | |||
27 | CFLAGS := -D__KERNEL__ -Wall -Wstrict-prototypes -Wno-trigraphs -Os \ |
||
28 | -fno-strict-aliasing -fno-common -fomit-frame-pointer -G 0 -mno-abicalls -fno-pic \ |
||
29 | -pipe -mlong-calls -fno-common \ |
||
30 | -mabi=32 -march=mips32 -Wa,-32 -Wa,-march=mips32 -Wa,-mips32 -Wa,--trap \ |
||
31 | -DLOADADDR=$(LOADADDR) |
||
32 | |||
33 | define Build/Clean |
||
34 | $(MAKE) -C $(GENERIC_PLATFORM_DIR)/image/lzma-loader $(LOADER_MAKEOPTS) clean |
||
35 | endef |
||
36 | |||
37 | define Image/Prepare |
||
38 | cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma |
||
39 | $(STAGING_DIR_HOST)/bin/lzma2eva $(EVA_LOADADDR) 0x$${shell $(TARGET_CROSS)nm $(KDIR)/vmlinux | grep -w kernel_entry | cut -d' ' -f1} $(KDIR)/vmlinux.lzma $(KDIR)/loader.eva |
||
40 | |||
41 | $(MAKE) -C $(GENERIC_PLATFORM_DIR)/image/lzma-loader \ |
||
42 | $(LOADER_MAKEOPTS) \ |
||
43 | clean compile |
||
44 | $(OBJCOPY_SREC) $(KDIR)/loader.elf $(KDIR)/loader.srec |
||
45 | $(OBJCOPY_SREC) $(KDIR)/vmlinux.elf $(KDIR)/vmlinux.srec |
||
46 | srec2bin $(KDIR)/loader.srec $(KDIR)/loader.bin |
||
47 | srec2bin $(KDIR)/vmlinux.srec $(KDIR)/vmlinux.bin |
||
48 | ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),) |
||
49 | $(OBJCOPY_SREC) $(KDIR)/vmlinux-initramfs.elf \ |
||
50 | $(KDIR)/vmlinux-initramfs.srec |
||
51 | srec2bin $(KDIR)/vmlinux-initramfs.srec $(KDIR)/vmlinux-initramfs.bin |
||
52 | endif |
||
53 | endef |
||
54 | |||
55 | define align/jffs2-64k |
||
56 | bs=65536 conv=sync |
||
57 | endef |
||
58 | |||
59 | define align/jffs2-128k |
||
60 | bs=131072 conv=sync |
||
61 | endef |
||
62 | |||
63 | define align/squashfs |
||
64 | endef |
||
65 | |||
66 | define Image/Build/CyberTAN |
||
67 | (dd if=/dev/zero bs=16 count=1; cat $(BIN_DIR)/$(IMG_PREFIX)-$(1).bin) | \ |
||
68 | $(STAGING_DIR_HOST)/bin/addpattern -p $(3) -o $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(4)-code.bin |
||
69 | endef |
||
70 | |||
71 | define Image/Build/Titan |
||
72 | $(STAGING_DIR_HOST)/bin/mktitanimg -o $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(4)-code.bin -i $(KDIR)/loader.bin $(KDIR)/root.$(1) -a 0x10000 0x10000 -h 2 -p 0x4C575943 -s 0x0b010000 |
||
73 | $(STAGING_DIR_HOST)/bin/mktitanimg -o $(BIN_DIR)/$(IMG_PREFIX)-$(2)-na-$(4)-code.bin -i $(KDIR)/loader.bin $(KDIR)/root.$(1) -a 0x10000 0x10000 -h 2 -p 0x4D575943 -s 0x0b010000 |
||
74 | endef |
||
75 | |||
76 | define Image/Build/AudioCodes |
||
77 | ( dd if=$(KDIR)/vmlinux.elf bs=64k conv=sync ; dd if=$(KDIR)/root.$(1) ) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1).bin |
||
78 | endef |
||
79 | |||
80 | #define Image/Build/sErCoMm |
||
81 | # cat sercomm/adam2.bin "$(BIN_DIR)/$(IMG_PREFIX)-$(1).bin" > "$(KDIR)/dgfw.tmp" |
||
82 | # dd if=sercomm/$(2) of="$(KDIR)/dgfw.tmp" bs=$$$$((0x3e0000 - 80)) seek=1 conv=notrunc |
||
83 | # $(STAGING_DIR_HOST)/bin/dgfirmware -f -w "$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(3).img" "$(KDIR)/dgfw.tmp" |
||
84 | # rm -f "$(KDIR)/dgfw.tmp" |
||
85 | #endef |
||
86 | |||
87 | define Image/Build/EVA |
||
88 | dd if=$(KDIR)/loader.eva $(call align/$(1)) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(KERNEL)-$(1).bin |
||
89 | cat $(KDIR)/root.$(1) >> $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(KERNEL)-$(1).bin |
||
90 | $(call prepare_generic_squashfs,$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(KERNEL)-$(1).bin) |
||
91 | endef |
||
92 | |||
93 | define Image/Build/Initramfs |
||
94 | $(CP) $(KDIR)/vmlinux-initramfs.bin $(BIN_DIR)/$(IMG_PREFIX)-initramfs.bin |
||
95 | endef |
||
96 | |||
97 | ifeq ($(CONFIG_AR7_TI),y) |
||
98 | define Image/Build |
||
99 | dd if=$(KDIR)/loader.bin $(call align/$(1)) > $(BIN_DIR)/$(IMG_PREFIX)-$(1).bin |
||
100 | cat $(KDIR)/root.$(1) >> $(BIN_DIR)/$(IMG_PREFIX)-$(1).bin |
||
101 | $(call prepare_generic_squashfs,$(BIN_DIR)/$(IMG_PREFIX)-$(1).bin) |
||
102 | $(call Image/Build/CyberTAN,$(1),AG1B,AG1B,$(1)) |
||
103 | $(call Image/Build/CyberTAN,$(1),AG1A,AG1A,$(1)) |
||
104 | $(call Image/Build/CyberTAN,$(1),WA21,WA21,$(1)) |
||
105 | $(call Image/Build/CyberTAN,$(1),WA22,WA22,$(1)) |
||
106 | $(call Image/Build/CyberTAN,$(1),WAG2,WAG2,$(1)) |
||
107 | $(call Image/Build/CyberTAN,$(1),AG310,AV2A -b -r 1.0,$(1)) |
||
108 | $(call Image/Build/CyberTAN,$(1),AG241v2,AG3A -b -r 2.0,$(1)) |
||
109 | $(call Image/Build/CyberTAN,$(1),AG241v2b,AG3B -b -r 2.0,$(1)) |
||
110 | $(call Image/Build/CyberTAN,$(1),AG241v1,AG3A -b,$(1)) |
||
111 | $(call Image/Build/CyberTAN,$(1),WAG54GP2v1,ATWL -b,$(1)) |
||
112 | $(call Image/Build/CyberTAN,$(1),WAG54GP2v2,CTWL -b,$(1)) |
||
113 | $(call Image/Build/CyberTAN,$(1),WA31,WA31 -b,$(1)) |
||
114 | $(call Image/Build/CyberTAN,$(1),WA32,WA32 -b,$(1)) |
||
115 | $(call Image/Build/CyberTAN,$(1),WA7A,WA7A -b,$(1)) |
||
116 | $(call Image/Build/CyberTAN,$(1),WA7B,WA7B -b,$(1)) |
||
117 | # $(call Image/Build/sErCoMm,$(1),dg834,$(1)) |
||
118 | # $(call Image/Build/sErCoMm,$(1),jdr454wb,$(1)) |
||
119 | $(call Image/Build/EVA,$(1),EVA) |
||
120 | $(call Image/Build/Titan,$(1),Titan,Titan,$(1)) |
||
121 | ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) |
||
122 | $(call Image/Build/Initramfs) |
||
123 | endif |
||
124 | endef |
||
125 | endif |
||
126 | |||
127 | ifeq ($(CONFIG_AR7_AC49X),y) |
||
128 | define Image/Build |
||
129 | # $(call prepare_generic_squashfs,$(BIN_DIR)/$(IMG_PREFIX)-$(1).bin) |
||
130 | $(call Image/Build/AudioCodes,$(1),mp202,$(1)) |
||
131 | ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) |
||
132 | $(call Image/Build/Initramfs) |
||
133 | endif |
||
134 | endef |
||
135 | endif |
||
136 | |||
137 | $(eval $(call BuildImage)) |