Makefile 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994
  1. #
  2. # Copyright (C) 2006-2016 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. USB1_PACKAGES := kmod-usb-ohci
  10. USB2_PACKAGES := $(USB1_PACKAGES) kmod-usb2
  11. define Build/Clean
  12. $(MAKE) -C lzma-loader clean
  13. endef
  14. define Image/Prepare
  15. # Optimized LZMA compression (with dictionary), handled by lzma-loader.
  16. cat $(KDIR)/vmlinux | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux.lzma
  17. # Less optimal LZMA compression (no dictionary), handled by CFE.
  18. $(STAGING_DIR_HOST)/bin/lzma e -so -d16 $(KDIR)/vmlinux > $(KDIR)/vmlinux-nodictionary.lzma
  19. gzip -nc9 $(KDIR)/vmlinux > $(KDIR)/vmlinux.gz
  20. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  21. cat $(KDIR)/vmlinux-initramfs | $(STAGING_DIR_HOST)/bin/lzma e -si -so -eos -lc1 -lp2 -pb2 > $(KDIR)/vmlinux-initramfs.lzma
  22. $(STAGING_DIR_HOST)/bin/lzma e -so -d16 $(KDIR)/vmlinux-initramfs > $(KDIR)/vmlinux-initramfs-nodictionary.lzma
  23. endif
  24. rm -f $(KDIR)/loader.gz
  25. $(MAKE) -C lzma-loader \
  26. BUILD_DIR="$(KDIR)" \
  27. TARGET="$(KDIR)" \
  28. clean install
  29. echo -ne "\\x00" >> $(KDIR)/loader.gz
  30. rm -f $(KDIR)/fs_mark
  31. echo -ne '\xde\xad\xc0\xde' > $(KDIR)/fs_mark
  32. $(call prepare_generic_squashfs,$(KDIR)/fs_mark)
  33. endef
  34. define trxalign/jffs2-128k
  35. -a 0x20000 -f $(KDIR)/root.$(1)
  36. endef
  37. define trxalign/jffs2-64k
  38. -a 0x10000 -f $(KDIR)/root.$(1)
  39. endef
  40. define trxalign/squashfs
  41. -a 1024 -f $(1) $(if $(2),-f $(2)) -a 0x10000 -A $(KDIR)/fs_mark
  42. endef
  43. #################################################
  44. # Images
  45. #################################################
  46. define Build/trx-with-loader
  47. $(STAGING_DIR_HOST)/bin/trx \
  48. -m 33554432 \
  49. -o [email protected] \
  50. -f $(KDIR)/loader.gz \
  51. -f $(IMAGE_KERNEL) \
  52. $(call trxalign/$(FILESYSTEM),$@)
  53. mv [email protected] $@
  54. endef
  55. define Build/trx-v2-with-loader
  56. $(STAGING_DIR_HOST)/bin/trx \
  57. -2 \
  58. -m 33554432 \
  59. -o [email protected] \
  60. -f $(KDIR)/loader.gz \
  61. -f $(KDIR)/vmlinux.lzma \
  62. $(call trxalign/$(FILESYSTEM),$@,[email protected])
  63. mv [email protected] $@
  64. endef
  65. define Build/trx-without-loader
  66. $(STAGING_DIR_HOST)/bin/trx \
  67. -m 33554432 \
  68. -o [email protected] \
  69. -f $(IMAGE_KERNEL) \
  70. $(call trxalign/$(FILESYSTEM),$@)
  71. mv [email protected] $@
  72. endef
  73. define Build/asus-trx
  74. $(STAGING_DIR_HOST)/bin/asustrx -p $(PRODUCTID) -i $@ -o [email protected]
  75. mv [email protected] $@
  76. endef
  77. define Build/edimax-bin
  78. $(STAGING_DIR_HOST)/bin/trx2edips $@ [email protected]
  79. mv [email protected] $@
  80. endef
  81. define Build/huawei-bin
  82. dd if=/dev/zero [email protected] bs=92 count=1
  83. echo -ne 'HDR0\x08\x00\x00\x00' >> [email protected]
  84. cat $@ >> [email protected]
  85. mv [email protected] $@
  86. endef
  87. define Build/linksys-bin
  88. $(STAGING_DIR_HOST)/bin/addpattern -4 -p $(DEVICE_ID) -v v$(VERSION) $(if $(SERIAL),-s $(SERIAL)) -i $@ -o [email protected]
  89. mv [email protected] $@
  90. endef
  91. define Build/linksys-pattern-partition
  92. $(STAGING_DIR_HOST)/bin/addpattern -5 -p $(DEVICE_ID) -v v$(VERSION) $(if $(SERIAL),-s $(SERIAL)) -i /dev/null -o [email protected]
  93. endef
  94. define Build/motorola-bin
  95. $(STAGING_DIR_HOST)/bin/motorola-bin -$(MOTOROLA_DEVICE) $@ [email protected]
  96. mv [email protected] $@
  97. endef
  98. define Build/prepend-with-elf
  99. mv $@ [email protected]
  100. dd if=$(KDIR)/loader.elf of=$@ bs=131072 conv=sync
  101. cat [email protected] >> $@
  102. endef
  103. define Build/tailed-bin
  104. echo $(BIN_TAIL) >> $@
  105. endef
  106. define Build/usrobotics-bin
  107. $(STAGING_DIR_HOST)/bin/trx2usr $@ [email protected]
  108. mv [email protected] $@
  109. endef
  110. #################################################
  111. # Devices
  112. #################################################
  113. DEVICE_VARS += PRODUCTID
  114. DEVICE_VARS += DEVICE_ID VERSION SERIAL
  115. DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION
  116. DEVICE_VARS += MOTOROLA_DEVICE
  117. DEVICE_VARS += BIN_TAIL
  118. define Device/Default
  119. KERNEL := kernel-bin
  120. IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1).$$(2)
  121. KERNEL_NAME = vmlinux.lzma
  122. KERNEL_INITRAMFS_NAME = vmlinux-initramfs.lzma
  123. FILESYSTEMS := $(FS_64K)
  124. IMAGES := trx
  125. IMAGE/trx := append-rootfs | trx-with-loader
  126. endef
  127. define Device/standard
  128. DEVICE_TITLE := Image with LZMA loader and LZMA compressed kernel
  129. endef
  130. define Device/standard-noloader-gz
  131. DEVICE_TITLE := Image with gzipped kernel
  132. KERNEL_NAME = vmlinux.gz
  133. IMAGE/trx := append-rootfs | trx-without-loader
  134. endef
  135. define Device/standard-noloader-nodictionarylzma
  136. DEVICE_TITLE := Image with LZMA compressed kernel matching CFE decompressor
  137. KERNEL_NAME = vmlinux-nodictionary.lzma
  138. IMAGE/trx := append-rootfs | trx-without-loader
  139. endef
  140. define Device/asus
  141. IMAGES := trx
  142. IMAGE/trx := append-rootfs | trx-with-loader | asus-trx
  143. endef
  144. define Device/linksys
  145. IMAGES := bin
  146. IMAGE/bin := append-rootfs | trx-with-loader | linksys-bin
  147. endef
  148. define Device/motorola
  149. IMAGES := bin
  150. IMAGE/bin := append-rootfs | trx-with-loader | motorola-bin
  151. endef
  152. define Device/netgear
  153. IMAGES := chk
  154. IMAGE/chk := append-rootfs | trx-with-loader | netgear-chk
  155. endef
  156. #################################################
  157. # Subtarget generic
  158. #################################################
  159. ifeq ($(SUBTARGET),generic)
  160. # BCM4705 with tg3
  161. define Device/linksys-wrt300n-v1.1
  162. DEVICE_TITLE := Linksys WRT300N v1.1
  163. DEVICE_PACKAGES := kmod-tg3 kmod-b43
  164. $(Device/linksys)
  165. DEVICE_ID := EWC2
  166. VERSION := 1.51.2
  167. endef
  168. TARGET_DEVICES += linksys-wrt300n-v1.1
  169. define Device/linksys-wrt310n-v1
  170. DEVICE_TITLE := Linksys WRT310N v1
  171. DEVICE_PACKAGES := kmod-tg3 kmod-b43
  172. $(Device/linksys)
  173. DEVICE_ID := 310N
  174. VERSION := 1.0.10
  175. endef
  176. TARGET_DEVICES += linksys-wrt310n-v1
  177. define Device/linksys-wrt350n-v1
  178. DEVICE_TITLE := Linksys WRT350N v1
  179. DEVICE_PACKAGES := kmod-tg3 kmod-b43 $(USB2_PACKAGES)
  180. $(Device/linksys)
  181. DEVICE_ID := EWCG
  182. VERSION := 1.04.1
  183. endef
  184. TARGET_DEVICES += linksys-wrt350n-v1
  185. define Device/linksys-wrt610n-v1
  186. DEVICE_TITLE := Linksys WRT610N v1
  187. DEVICE_PACKAGES := kmod-tg3 kmod-b43 $(USB2_PACKAGES)
  188. $(Device/linksys)
  189. DEVICE_ID := 610N
  190. VERSION := 1.0.1
  191. endef
  192. TARGET_DEVICES += linksys-wrt610n-v1
  193. # BCMA SoC with SSB WiFi
  194. define Device/linksys-wrt610n-v2
  195. DEVICE_TITLE := Linksys WRT610N v2
  196. DEVICE_PACKAGES := kmod-bgmac kmod-b43 $(USB2_PACKAGES)
  197. $(Device/linksys)
  198. DEVICE_ID := 610N
  199. VERSION := 2.0.0
  200. endef
  201. TARGET_DEVICES += linksys-wrt610n-v2
  202. define Device/linksys-e3000-v1
  203. DEVICE_TITLE := Linksys E3000 v1
  204. DEVICE_PACKAGES := kmod-bgmac kmod-b43 $(USB2_PACKAGES)
  205. $(Device/linksys)
  206. DEVICE_ID := 61XN
  207. VERSION := 1.0.3
  208. endef
  209. TARGET_DEVICES += linksys-e3000-v1
  210. # generic has Ethernet drivers as modules so overwrite standard image
  211. define Device/standard
  212. DEVICE_TITLE := Image with LZMA loader and LZMA compressed kernel
  213. DEVICE_PACKAGES := kmod-b44 kmod-bgmac kmod-tg3
  214. endef
  215. TARGET_DEVICES += standard
  216. endif
  217. #################################################
  218. # Subtarget legacy
  219. #################################################
  220. ifeq ($(SUBTARGET),legacy)
  221. define Device/asus-wl-300g
  222. DEVICE_TITLE := Asus WL-300g
  223. DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
  224. $(Device/asus)
  225. PRODUCTID := "WL300g "
  226. endef
  227. TARGET_DEVICES += asus-wl-300g
  228. define Device/asus-wl-320gp
  229. DEVICE_TITLE := Asus WL-320gP
  230. DEVICE_PACKAGES := kmod-b43
  231. $(Device/asus)
  232. PRODUCTID := "WL320gP "
  233. endef
  234. TARGET_DEVICES += asus-wl-320gp
  235. define Device/asus-wl-330ge
  236. DEVICE_TITLE := Asus WL-330gE
  237. DEVICE_PACKAGES := kmod-b43
  238. $(Device/asus)
  239. PRODUCTID := "WL-330gE "
  240. endef
  241. TARGET_DEVICES += asus-wl-330ge
  242. define Device/asus-wl-500gp-v1
  243. DEVICE_TITLE := Asus WL-500gP v1
  244. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  245. $(Device/asus)
  246. PRODUCTID := "WL500gp "
  247. endef
  248. TARGET_DEVICES += asus-wl-500gp-v1
  249. define Device/asus-wl-500gp-v2
  250. DEVICE_TITLE := Asus WL-500gP v2
  251. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  252. $(Device/asus)
  253. PRODUCTID := "WL500gpv2 "
  254. endef
  255. TARGET_DEVICES += asus-wl-500gp-v2
  256. define Device/asus-wl-500w
  257. DEVICE_TITLE := Asus WL-500W
  258. DEVICE_PACKAGES := kmod-b43 kmod-usb-uhci kmod-usb2-pci
  259. $(Device/asus)
  260. PRODUCTID := "WL500W "
  261. endef
  262. TARGET_DEVICES += asus-wl-500w
  263. define Device/asus-wl-520gu
  264. DEVICE_TITLE := Asus WL-520gU
  265. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  266. $(Device/asus)
  267. PRODUCTID := "WL520gu "
  268. endef
  269. TARGET_DEVICES += asus-wl-520gu
  270. define Device/asus-wl-550ge
  271. DEVICE_TITLE := Asus WL-550gE
  272. DEVICE_PACKAGES := kmod-b43
  273. $(Device/asus)
  274. PRODUCTID := "WL550gE "
  275. endef
  276. TARGET_DEVICES += asus-wl-550ge
  277. define Device/asus-wl-hdd25
  278. DEVICE_TITLE := Asus WL-HDD25
  279. DEVICE_PACKAGES := kmod-b43 kmod-b43legacy $(USB1_PACKAGES)
  280. $(Device/asus)
  281. PRODUCTID := "WLHDD "
  282. endef
  283. TARGET_DEVICES += asus-wl-hdd25
  284. define Device/dlink-dwl-3150
  285. DEVICE_TITLE := D-Link DWL-3150
  286. IMAGES := bin
  287. IMAGE/bin := append-rootfs | trx-with-loader | tailed-bin
  288. BIN_TAIL := BCM-5352-2050-0000000-01
  289. endef
  290. TARGET_DEVICES += dlink-dwl-3150
  291. define Device/edimax-ps1208-mfg
  292. DEVICE_TITLE := Edimax PS-1208MFg
  293. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  294. IMAGES := bin
  295. IMAGE/bin := append-rootfs | trx-with-loader | edimax-bin
  296. endef
  297. TARGET_DEVICES += edimax-ps1208-mfg
  298. define Device/huawei-e970
  299. DEVICE_TITLE := Huawei E970
  300. DEVICE_PACKAGES := kmod-b43
  301. KERNEL_NAME = vmlinux.gz
  302. IMAGES := bin
  303. IMAGE/bin := append-rootfs | trx-without-loader | huawei-bin
  304. endef
  305. TARGET_DEVICES += huawei-e970
  306. define Device/linksys-wrt54g3g
  307. DEVICE_TITLE := Linksys WRT54G3G
  308. DEVICE_PACKAGES := kmod-b43
  309. $(Device/linksys)
  310. DEVICE_ID := W54F
  311. VERSION := 2.20.1
  312. endef
  313. TARGET_DEVICES += linksys-wrt54g3g
  314. define Device/linksys-wrt54g3g-em
  315. DEVICE_TITLE := Linksys WRT54G3G-EM
  316. $(Device/linksys)
  317. DEVICE_ID := W3GN
  318. VERSION := 2.20.1
  319. endef
  320. TARGET_DEVICES += linksys-wrt54g3g-em
  321. define Device/linksys-wrt54g3gv2-vf
  322. DEVICE_TITLE := Linksys WRT54G3GV2-VF
  323. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  324. FILESYSTEMS := $(FS_128K)
  325. IMAGES := noheader.bin bin
  326. IMAGE/noheader.bin := linksys-pattern-partition | append-rootfs | trx-v2-with-loader
  327. IMAGE/bin := linksys-pattern-partition | append-rootfs | trx-v2-with-loader | linksys-bin
  328. DEVICE_ID := 3G2V
  329. VERSION := 3.00.24
  330. SERIAL := 6
  331. endef
  332. TARGET_DEVICES += linksys-wrt54g3gv2-vf
  333. define Device/linksys-wrt54g
  334. DEVICE_TITLE := Linksys WRT54G
  335. DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
  336. $(Device/linksys)
  337. DEVICE_ID := W54G
  338. VERSION := 4.71.1
  339. endef
  340. TARGET_DEVICES += linksys-wrt54g
  341. define Device/linksys-wrt54gs
  342. DEVICE_TITLE := Linksys WRT54GS
  343. DEVICE_PACKAGES := kmod-b43
  344. $(Device/linksys)
  345. FILESYSTEMS := $(FS_128K)
  346. DEVICE_ID := W54S
  347. VERSION := 4.80.1
  348. endef
  349. TARGET_DEVICES += linksys-wrt54gs
  350. define Device/linksys-wrt54gs-v4
  351. DEVICE_TITLE := Linksys WRT54GS v4
  352. DEVICE_PACKAGES := kmod-b43
  353. $(Device/linksys)
  354. DEVICE_ID := W54s
  355. VERSION := 1.09.1
  356. endef
  357. TARGET_DEVICES += linksys-wrt54gs-v4
  358. define Device/linksys-wrtsl54gs
  359. DEVICE_TITLE := Linksys WRTSL54GS
  360. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  361. $(Device/linksys)
  362. FILESYSTEMS := $(FS_128K)
  363. DEVICE_ID := W54U
  364. VERSION := 2.08.1
  365. endef
  366. TARGET_DEVICES += linksys-wrtsl54gs
  367. define Device/linksys-wrt150n
  368. DEVICE_TITLE := Linksys WRT150N
  369. DEVICE_PACKAGES := kmod-b43
  370. $(Device/linksys)
  371. DEVICE_ID := N150
  372. VERSION := 1.51.3
  373. endef
  374. TARGET_DEVICES += linksys-wrt150n
  375. define Device/linksys-wrt160n-v1
  376. DEVICE_TITLE := Linksys WRT160N v1
  377. DEVICE_PACKAGES := kmod-b43
  378. $(Device/linksys)
  379. DEVICE_ID := N150
  380. VERSION := 1.50.1
  381. endef
  382. TARGET_DEVICES += linksys-wrt160n-v1
  383. define Device/linksys-wrt300n-v1
  384. DEVICE_TITLE := Linksys WRT300N v1
  385. DEVICE_PACKAGES := kmod-b43
  386. $(Device/linksys)
  387. IMAGES := bin trx
  388. DEVICE_ID := EWCB
  389. VERSION := 1.03.6
  390. endef
  391. TARGET_DEVICES += linksys-wrt300n-v1
  392. define Device/motorola-wa840g
  393. DEVICE_TITLE := Motorola WA840G
  394. DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
  395. $(Device/motorola)
  396. MOTOROLA_DEVICE := 2
  397. endef
  398. TARGET_DEVICES += motorola-wa840g
  399. define Device/motorola-we800g
  400. DEVICE_TITLE := Motorola WE800G
  401. DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
  402. $(Device/motorola)
  403. MOTOROLA_DEVICE := 3
  404. endef
  405. TARGET_DEVICES += motorola-we800g
  406. define Device/motorola-wr850g
  407. DEVICE_TITLE := Motorola WR850G
  408. DEVICE_PACKAGES := kmod-b43 kmod-b43legacy
  409. $(Device/motorola)
  410. MOTOROLA_DEVICE := 1
  411. endef
  412. TARGET_DEVICES += motorola-wr850g
  413. define Device/netgear-wgr614-v8
  414. DEVICE_TITLE := Netgear WGR614 v8
  415. DEVICE_PACKAGES := kmod-b43
  416. $(Device/netgear)
  417. NETGEAR_BOARD_ID := U12H072T00_NETGEAR
  418. NETGEAR_REGION := 2
  419. endef
  420. TARGET_DEVICES += netgear-wgr614-v8
  421. define Device/netgear-wgt634u
  422. DEVICE_TITLE := Netgear WGT634U
  423. DEVICE_PACKAGES := kmod-ath5k $(USB2_PACKAGES)
  424. FILESYSTEMS := $(FS_128K)
  425. IMAGES := bin
  426. IMAGE/bin := append-rootfs | trx-with-loader | prepend-with-elf
  427. endef
  428. TARGET_DEVICES += netgear-wgt634u
  429. define Device/netgear-wndr3300-v1
  430. DEVICE_TITLE := Netgear WNDR3300 v1
  431. DEVICE_PACKAGES := kmod-b43
  432. $(Device/netgear)
  433. NETGEAR_BOARD_ID := U12H093T00_NETGEAR
  434. NETGEAR_REGION := 2
  435. endef
  436. TARGET_DEVICES += netgear-wndr3300-v1
  437. define Device/netgear-wnr834b-v2
  438. DEVICE_TITLE := Netgear WNR834B v2
  439. DEVICE_PACKAGES := kmod-b43
  440. $(Device/netgear)
  441. NETGEAR_BOARD_ID := U12H081T00_NETGEAR
  442. NETGEAR_REGION := 2
  443. endef
  444. TARGET_DEVICES += netgear-wnr834b-v2
  445. define Device/usrobotics-usr5461
  446. DEVICE_TITLE := USRobotics USR5461
  447. DEVICE_PACKAGES := kmod-b43 $(USB1_PACKAGES)
  448. IMAGES := bin
  449. IMAGE/bin := append-rootfs | trx-with-loader | usrobotics-bin
  450. endef
  451. TARGET_DEVICES += usrobotics-usr5461
  452. TARGET_DEVICES += standard standard-noloader-gz
  453. endif
  454. #################################################
  455. # Subtarget mips74k
  456. #################################################
  457. ifeq ($(SUBTARGET),mips74k)
  458. define Device/asus-rt-ac53u
  459. DEVICE_TITLE := Asus RT-AC53U
  460. DEVICE_PACKAGES := $(USB2_PACKAGES)
  461. $(Device/asus)
  462. PRODUCTID := RT-AC53U
  463. endef
  464. TARGET_DEVICES += asus-rt-ac53u
  465. define Device/asus-rt-ac66u
  466. DEVICE_TITLE := Asus RT-AC66U
  467. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  468. $(Device/asus)
  469. PRODUCTID := RT-AC66U
  470. endef
  471. # TARGET_DEVICES += asus-rt-ac66u
  472. define Device/asus-rt-n10
  473. DEVICE_TITLE := Asus RT-N10
  474. DEVICE_PACKAGES := kmod-b43
  475. $(Device/asus)
  476. PRODUCTID := "RT-N10 "
  477. endef
  478. TARGET_DEVICES += asus-rt-n10
  479. define Device/asus-rt-n10p
  480. DEVICE_TITLE := Asus RT-N10P
  481. DEVICE_PACKAGES := kmod-b43
  482. $(Device/asus)
  483. PRODUCTID := RT-N10P
  484. endef
  485. TARGET_DEVICES += asus-rt-n10p
  486. define Device/asus-rt-n10p-v2
  487. DEVICE_TITLE := Asus RT-N10P v2
  488. $(Device/asus)
  489. PRODUCTID := RT-N10PV2
  490. endef
  491. TARGET_DEVICES += asus-rt-n10p-v2
  492. define Device/asus-rt-n10u
  493. DEVICE_TITLE := Asus RT-N10U
  494. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  495. $(Device/asus)
  496. PRODUCTID := RT-N10U
  497. endef
  498. TARGET_DEVICES += asus-rt-n10u
  499. define Device/asus-rt-n10u-b
  500. DEVICE_TITLE := Asus RT-N10U B
  501. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  502. $(Device/asus)
  503. PRODUCTID := RT-N10U
  504. endef
  505. TARGET_DEVICES += asus-rt-n10u-b
  506. define Device/asus-rt-n12
  507. DEVICE_TITLE := Asus RT-N12
  508. DEVICE_PACKAGES := kmod-b43
  509. $(Device/asus)
  510. PRODUCTID := "RT-N12 "
  511. endef
  512. TARGET_DEVICES += asus-rt-n12
  513. define Device/asus-rt-n12-b1
  514. DEVICE_TITLE := Asus RT-N12 B1
  515. $(Device/asus)
  516. PRODUCTID := RT-N12B1
  517. endef
  518. TARGET_DEVICES += asus-rt-n12-b1
  519. define Device/asus-rt-n12-c1
  520. DEVICE_TITLE := Asus RT-N12 C1
  521. $(Device/asus)
  522. PRODUCTID := RT-N12C1
  523. endef
  524. TARGET_DEVICES += asus-rt-n12-c1
  525. define Device/asus-rt-n12-d1
  526. DEVICE_TITLE := Asus RT-N12 D1
  527. $(Device/asus)
  528. PRODUCTID := RT-N12D1
  529. endef
  530. TARGET_DEVICES += asus-rt-n12-d1
  531. define Device/asus-rt-n12hp
  532. DEVICE_TITLE := Asus RT-N12HP
  533. $(Device/asus)
  534. PRODUCTID := RT-N12HP
  535. endef
  536. TARGET_DEVICES += asus-rt-n12hp
  537. define Device/asus-rt-n14uhp
  538. DEVICE_TITLE := Asus RT-N14UHP
  539. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  540. $(Device/asus)
  541. PRODUCTID := RT-N14UHP
  542. endef
  543. TARGET_DEVICES += asus-rt-n14uhp
  544. define Device/asus-rt-n15u
  545. DEVICE_TITLE := Asus RT-N15U
  546. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  547. $(Device/asus)
  548. PRODUCTID := RT-N15U
  549. endef
  550. TARGET_DEVICES += asus-rt-n15u
  551. define Device/asus-rt-n16
  552. DEVICE_TITLE := Asus RT-N16
  553. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  554. $(Device/asus)
  555. PRODUCTID := RT-N16
  556. endef
  557. TARGET_DEVICES += asus-rt-n16
  558. define Device/asus-rt-n53
  559. DEVICE_TITLE := Asus RT-N53
  560. DEVICE_PACKAGES := kmod-b43
  561. $(Device/asus)
  562. PRODUCTID := RT-N53
  563. endef
  564. TARGET_DEVICES += asus-rt-n53
  565. define Device/asus-rt-n66u
  566. DEVICE_TITLE := Asus RT-N66U
  567. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  568. $(Device/asus)
  569. PRODUCTID := RT-N66U
  570. endef
  571. TARGET_DEVICES += asus-rt-n66u
  572. define Device/asus-rt-n66w
  573. DEVICE_TITLE := Asus RT-N66W
  574. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  575. $(Device/asus)
  576. PRODUCTID := RT-N66U
  577. endef
  578. TARGET_DEVICES += asus-rt-n66w
  579. define Device/linksys-wrt160n-v3
  580. DEVICE_TITLE := Linksys WRT160N v3
  581. DEVICE_PACKAGES := kmod-b43
  582. $(Device/linksys)
  583. DEVICE_ID := N150
  584. VERSION := 3.0.3
  585. endef
  586. TARGET_DEVICES += linksys-wrt160n-v3
  587. define Device/linksys-wrt310n-v2
  588. DEVICE_TITLE := Linksys WRT310N v2
  589. DEVICE_PACKAGES := kmod-b43
  590. $(Device/linksys)
  591. DEVICE_ID := 310N
  592. VERSION := 2.0.1
  593. endef
  594. TARGET_DEVICES += linksys-wrt310n-v2
  595. define Device/linksys-wrt320n-v1
  596. DEVICE_TITLE := Linksys WRT320N v1
  597. DEVICE_PACKAGES := kmod-b43
  598. $(Device/linksys)
  599. DEVICE_ID := 320N
  600. VERSION := 1.0.5
  601. endef
  602. TARGET_DEVICES += linksys-wrt320n-v1
  603. define Device/linksys-e900-v1
  604. DEVICE_TITLE := Linksys E900 v1
  605. $(Device/linksys)
  606. DEVICE_ID := E900
  607. VERSION := 1.0.4
  608. endef
  609. TARGET_DEVICES += linksys-e900-v1
  610. define Device/linksys-e1000-v1-v2-v2.1
  611. DEVICE_TITLE := Linksys E1000 v1 v2 v2.1
  612. DEVICE_PACKAGES := kmod-b43
  613. $(Device/linksys)
  614. DEVICE_ID := E100
  615. VERSION := 1.1.3
  616. endef
  617. TARGET_DEVICES += linksys-e1000-v1-v2-v2.1
  618. define Device/linksys-e1200-v1
  619. DEVICE_TITLE := Linksys E1200 v1
  620. $(Device/linksys)
  621. DEVICE_ID := E120
  622. VERSION := 1.0.3
  623. endef
  624. TARGET_DEVICES += linksys-e1200-v1
  625. define Device/linksys-e1200-v2
  626. DEVICE_TITLE := Linksys E1200 v2
  627. $(Device/linksys)
  628. DEVICE_ID := E122
  629. VERSION := 1.0.4
  630. endef
  631. TARGET_DEVICES += linksys-e1200-v2
  632. define Device/linksys-e1500-v1
  633. DEVICE_TITLE := Linksys E1500 v1
  634. $(Device/linksys)
  635. DEVICE_ID := E150
  636. VERSION := 1.0.5
  637. endef
  638. TARGET_DEVICES += linksys-e1500-v1
  639. define Device/linksys-e1550-v1
  640. DEVICE_TITLE := Linksys E1550 v1
  641. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  642. $(Device/linksys)
  643. DEVICE_ID := 1550
  644. VERSION := 1.0.3
  645. endef
  646. TARGET_DEVICES += linksys-e1550-v1
  647. define Device/linksys-e2000-v1
  648. DEVICE_TITLE := Linksys E2000 v1
  649. DEVICE_PACKAGES := kmod-b43
  650. $(Device/linksys)
  651. DEVICE_ID := 32XN
  652. VERSION := 1.0.4
  653. endef
  654. TARGET_DEVICES += linksys-e2000-v1
  655. define Device/linksys-e2500-v1
  656. DEVICE_TITLE := Linksys E2500 v1
  657. DEVICE_PACKAGES := kmod-b43
  658. $(Device/linksys)
  659. DEVICE_ID := E25X
  660. VERSION := 1.0.7
  661. endef
  662. TARGET_DEVICES += linksys-e2500-v1
  663. define Device/linksys-e2500-v2
  664. DEVICE_TITLE := Linksys E2500 v2
  665. DEVICE_PACKAGES := kmod-b43
  666. $(Device/linksys)
  667. DEVICE_ID := E25X
  668. VERSION := 2.0.0
  669. endef
  670. TARGET_DEVICES += linksys-e2500-v2
  671. define Device/linksys-e2500-v2.1
  672. DEVICE_TITLE := Linksys E2500 v2.1
  673. DEVICE_PACKAGES := kmod-b43
  674. $(Device/linksys)
  675. DEVICE_ID := 25RU
  676. VERSION := 2.1.0
  677. endef
  678. TARGET_DEVICES += linksys-e2500-v2.1
  679. define Device/linksys-e2500-v3
  680. DEVICE_TITLE := Linksys E2500 v3
  681. DEVICE_PACKAGES := kmod-b43
  682. $(Device/linksys)
  683. DEVICE_ID := 25V3
  684. VERSION := 3.0.0
  685. endef
  686. TARGET_DEVICES += linksys-e2500-v3
  687. define Device/linksys-e3200-v1
  688. DEVICE_TITLE := Linksys E3200 v1
  689. DEVICE_PACKAGES := kmod-b43
  690. $(Device/linksys)
  691. DEVICE_ID := 3200
  692. VERSION := 1.0.1
  693. endef
  694. TARGET_DEVICES += linksys-e3200-v1
  695. define Device/linksys-e4200-v1
  696. DEVICE_TITLE := Linksys E4200 v1
  697. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  698. $(Device/linksys)
  699. DEVICE_ID := 4200
  700. VERSION := 1.0.5
  701. endef
  702. TARGET_DEVICES += linksys-e4200-v1
  703. define Device/netgear-wgr614-v10_north-america
  704. DEVICE_TITLE := Netgear WGR614 v10 North America
  705. $(Device/netgear)
  706. NETGEAR_BOARD_ID := U12H139T01_NETGEAR
  707. NETGEAR_REGION := 2
  708. endef
  709. TARGET_DEVICES += netgear-wgr614-v10_north-america
  710. define Device/netgear-wgr614-v10_other-regions
  711. DEVICE_TITLE := Netgear WGR614 v10 Other Regions
  712. $(Device/netgear)
  713. NETGEAR_BOARD_ID := U12H139T01_NETGEAR
  714. NETGEAR_REGION := 1
  715. endef
  716. TARGET_DEVICES += netgear-wgr614-v10_other-regions
  717. define Device/netgear-wn2500rp-v1
  718. DEVICE_TITLE := Netgear WN2500RP v1
  719. DEVICE_PACKAGES := kmod-b43
  720. $(Device/netgear)
  721. NETGEAR_BOARD_ID := U12H197T00_NETGEAR
  722. NETGEAR_REGION := 1
  723. endef
  724. TARGET_DEVICES += netgear-wn2500rp-v1
  725. define Device/netgear-wn3000rp
  726. DEVICE_TITLE := Netgear WN3000RP
  727. $(Device/netgear)
  728. NETGEAR_BOARD_ID := U12H163T01_NETGEAR
  729. NETGEAR_REGION := 1
  730. endef
  731. TARGET_DEVICES += netgear-wn3000rp
  732. define Device/netgear-wndr3400-v1
  733. DEVICE_TITLE := Netgear WNDR3400 v1
  734. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  735. $(Device/netgear)
  736. NETGEAR_BOARD_ID := U12H155T00_NETGEAR
  737. NETGEAR_REGION := 2
  738. endef
  739. TARGET_DEVICES += netgear-wndr3400-v1
  740. define Device/netgear-wndr3400-v2
  741. DEVICE_TITLE := Netgear WNDR3400 v2
  742. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  743. $(Device/netgear)
  744. NETGEAR_BOARD_ID := U12H187T00_NETGEAR
  745. NETGEAR_REGION := 2
  746. endef
  747. TARGET_DEVICES += netgear-wndr3400-v2
  748. define Device/netgear-wndr3400-v3
  749. DEVICE_TITLE := Netgear WNDR3400 v3
  750. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  751. $(Device/netgear)
  752. NETGEAR_BOARD_ID := U12H208T00_NETGEAR
  753. NETGEAR_REGION := 1
  754. endef
  755. TARGET_DEVICES += netgear-wndr3400-v3
  756. define Device/netgear-wndr3700-v3
  757. DEVICE_TITLE := Netgear WNDR3700 v3
  758. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  759. $(Device/netgear)
  760. NETGEAR_BOARD_ID := U12H194T00_NETGEAR
  761. NETGEAR_REGION := 2
  762. endef
  763. TARGET_DEVICES += netgear-wndr3700-v3
  764. define Device/netgear-wndr3400-vcna
  765. DEVICE_TITLE := Netgear WNDR3400 vcna
  766. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  767. $(Device/netgear)
  768. NETGEAR_BOARD_ID := U12H155T01_NETGEAR
  769. NETGEAR_REGION := 2
  770. endef
  771. # TARGET_DEVICES += netgear-wndr3400-vcna
  772. define Device/netgear-wndr4000
  773. DEVICE_TITLE := Netgear WNDR4000
  774. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  775. $(Device/netgear)
  776. NETGEAR_BOARD_ID := U12H181T00_NETGEAR
  777. NETGEAR_REGION := 2
  778. endef
  779. TARGET_DEVICES += netgear-wndr4000
  780. define Device/netgear-wnr1000-v3
  781. DEVICE_TITLE := Netgear WNR1000 v3
  782. $(Device/netgear)
  783. NETGEAR_BOARD_ID := U12H139T00_NETGEAR
  784. NETGEAR_REGION := 2
  785. endef
  786. TARGET_DEVICES += netgear-wnr1000-v3
  787. define Device/netgear-wnr2000v2
  788. DEVICE_TITLE := Netgear WNR2000 v2
  789. DEVICE_PACKAGES := kmod-b43
  790. $(Device/netgear)
  791. NETGEAR_BOARD_ID := U12H114T00_NETGEAR
  792. NETGEAR_REGION := 2
  793. endef
  794. TARGET_DEVICES += netgear-wnr2000v2
  795. define Device/netgear-wnr3500l-v1-north-america
  796. DEVICE_TITLE := Netgear WNR3500L v1 North America
  797. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  798. $(Device/netgear)
  799. NETGEAR_BOARD_ID := U12H136T99_NETGEAR
  800. NETGEAR_REGION := 2
  801. endef
  802. TARGET_DEVICES += netgear-wnr3500l-v1-north-america
  803. define Device/netgear-wnr3500l-v1-other-regions
  804. DEVICE_TITLE := Netgear WNR3500L v1 Other Regions
  805. DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
  806. $(Device/netgear)
  807. NETGEAR_BOARD_ID := U12H136T99_NETGEAR
  808. NETGEAR_REGION := 1
  809. endef
  810. TARGET_DEVICES += netgear-wnr3500l-v1-other-regions
  811. define Device/netgear-wnr3500l-v2
  812. DEVICE_TITLE := Netgear WNR3500L v2
  813. DEVICE_PACKAGES := $(USB2_PACKAGES)
  814. $(Device/netgear)
  815. NETGEAR_BOARD_ID := U12H172T00_NETGEAR
  816. NETGEAR_REGION := 1
  817. endef
  818. TARGET_DEVICES += netgear-wnr3500l-v2
  819. define Device/netgear-wnr3500u
  820. DEVICE_TITLE := Netgear WNR3500U
  821. DEVICE_PACKAGES := $(USB2_PACKAGES)
  822. $(Device/netgear)
  823. NETGEAR_BOARD_ID := U12H136T00_NETGEAR
  824. NETGEAR_REGION := 2
  825. endef
  826. # TARGET_DEVICES += netgear-wnr3500u
  827. define Device/netgear-wnr3500-v2
  828. DEVICE_TITLE := Netgear WNR3500 v2
  829. DEVICE_PACKAGES := kmod-b43
  830. $(Device/netgear)
  831. NETGEAR_BOARD_ID := U12H127T00_NETGEAR
  832. NETGEAR_REGION := 2
  833. endef
  834. TARGET_DEVICES += netgear-wnr3500-v2
  835. define Device/netgear-wnr3500-v2-vc
  836. DEVICE_TITLE := Netgear WNR3500 v2 vc
  837. DEVICE_PACKAGES := kmod-b43
  838. $(Device/netgear)
  839. NETGEAR_BOARD_ID := U12H127T70_NETGEAR
  840. NETGEAR_REGION := 2
  841. endef
  842. # TARGET_DEVICES += netgear-wnr3500-v2-vc
  843. TARGET_DEVICES += standard standard-noloader-nodictionarylzma
  844. endif
  845. #################################################
  846. # Shared BuildImage defines
  847. #################################################
  848. define Image/Build/Initramfs
  849. $(STAGING_DIR_HOST)/bin/trx \
  850. -m 33554432 \
  851. -o $(BIN_DIR)/$(IMG_PREFIX)-initramfs.trx \
  852. -f $(KDIR)/loader.gz \
  853. -f $(KDIR)/vmlinux-initramfs.lzma
  854. $(STAGING_DIR_HOST)/bin/trx \
  855. -m 33554432 \
  856. -o $(BIN_DIR)/$(IMG_PREFIX)-initramfs-noloader-nodictionary.trx \
  857. -f $(KDIR)/vmlinux-initramfs-nodictionary.lzma
  858. endef
  859. # $(1): filesystem type.
  860. define Image/Build
  861. # TODO: Move it to Device/*
  862. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  863. $(call Image/Build/Initramfs)
  864. endif
  865. endef
  866. $(eval $(call BuildImage))