2 # Copyright (C) 2013 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
8 include $(INCLUDE_DIR
)/image.mk
12 echo
-ne
'\xde\xad\xc0\xde' > $(KDIR
)/fs_mark
13 $(call prepare_generic_squashfs
,$(KDIR
)/fs_mark
)
15 $(CP
) .
/ubinize.cfg
$(KDIR
)
18 define trx2ndpart
/serial
19 -a
1024 -f
$(KDIR
)/root.squashfs
-a
0x10000 -A
$(KDIR
)/fs_mark
22 define trx2ndpart
/nand-0x20000-0x800
23 -a
0x20000 -f
$(KDIR
)/root-block-0x20000-min-0x800.ubi
-a
0x20000 -A
$(KDIR
)/fs_mark
26 # $(1): dts filename (also used for the firmware file).
27 # $(2): flash type (not used).
28 define Image
/Build
/initramfs
/DTB
29 $(call Image
/Build
/DTB
,zImage-initramfs
,$(1))
30 $(STAGING_DIR_HOST
)/bin
/trx
-o
$(KDIR
)/$(IMG_PREFIX
)-$(1)-initramfs.trx \
31 -f
$(KDIR
)/zImage-initramfs-
$(1).lzma
34 # $(1): dts filename (also used for the firmware file).
36 define Image
/Build
/squashfs
/DTB
37 $(call Image
/Build
/DTB
,zImage
,$(1))
38 $(STAGING_DIR_HOST
)/bin
/trx
-o
$(KDIR
)/$(IMG_PREFIX
)-$(1)-squashfs.trx \
39 -f
$(KDIR
)/zImage-
$(1).lzma \
40 $(call trx2ndpart
/$(2))
43 # $(1): kernel (Linux) image file
44 # $(2): dts filename (also used for the firmware file).
45 define Image
/Build
/DTB
46 rm -f
$(KDIR
)/$(1)-$(2).lzma
47 rm -f
$(KDIR
)/$(1)-$(2).dts
48 cat
$(KDIR
)/$(1) $(DTS_DIR
)/$(2).dtb
> $(KDIR
)/$(1)-$(2).dts
;
49 $(STAGING_DIR_HOST
)/bin
/lzma e
$(KDIR
)/$(1)-$(2).dts
$(KDIR
)/$(1)-$(2).lzma
-d16
52 # $(1): filesystem type (e.g. squashfs, initramfs).
53 # $(2): dts filename (also used for the firmware file).
55 # $(4): device specific magic.
56 define Image
/Build
/AsusTrx
57 $(call Image
/Build
/$(1)/DTB
,$(2),$(3))
58 # TODO: Put magic in TRX file
59 cp
$(KDIR
)/$(IMG_PREFIX
)-$(2)-$(1).trx
$(BIN_DIR
)/
62 # $(1): filesystem type (e.g. squashfs, initramfs).
63 # $(2): dts filename (also used for the firmware file).
65 define Image
/Build
/Trx
66 $(call Image
/Build
/$(1)/DTB
,$(2),$(3))
67 cp
$(KDIR
)/$(IMG_PREFIX
)-$(2)-$(1).trx
$(BIN_DIR
)/
70 # $(1): filesystem type (e.g. squashfs, initramfs).
71 # $(2): dts filename (also used for the firmware file).
73 # $(4): board_id (device specific magic).
75 define Image
/Build
/Chk
76 $(call Image
/Build
/$(1)/DTB
,$(2),$(3))
77 $(STAGING_DIR_HOST
)/bin
/mkchkimg
-o
$(BIN_DIR
)/$(IMG_PREFIX
)-$(2)-$(1).chk
-k
$(KDIR
)/$(IMG_PREFIX
)-$(2)-$(1).trx
-b
$(4) -r
$(5)
80 # $(1): filesystem type (e.g. squashfs, initramfs).
82 ( cd
$(KDIR
); $(STAGING_DIR_HOST
)/bin
/ubinize
-p
128KiB
-m
2048 -o
$(KDIR
)/root-block-0x20000-min-0x800.ubi ubinize.cfg
)
84 $(call Image
/Build
/AsusTrx
,$(1),bcm4708-asus-rt-ac68u
,nand-0x20000-0x800
,RT-AC68U
)
85 $(call Image
/Build
/AsusTrx
,$(1),bcm47081-asus-rt-n18u
,nand-0x20000-0x800
,RT-N18U
)
86 $(call Image
/Build
/AsusTrx
,$(1),bcm4709-asus-rt-ac87u
,nand-0x20000-0x800
,RT-AC87U
)
88 $(call Image
/Build
/Chk
,$(1),bcm4708-netgear-r6250
,nand-0x20000-0x800
,U12H245T00_NETGEAR
,1)
89 $(call Image
/Build
/Chk
,$(1),bcm4708-netgear-r6300-v2
,nand-0x20000-0x800
,U12H240T00_NETGEAR
,1)
90 $(call Image
/Build
/Chk
,$(1),bcm4709-netgear-r8000
,nand-0x20000-0x800
,U12H315T00_NETGEAR
,1)
92 $(call Image
/Build
/Trx
,$(1),bcm4708-buffalo-wzr-1750dhp
,nand-0x20000-0x800
)
93 $(call Image
/Build
/Trx
,$(1),bcm47081-buffalo-wzr-600dhp2
,nand-0x20000-0x800
)
94 $(call Image
/Build
/Trx
,$(1),bcm47081-buffalo-wzr-900dhp
,nand-0x20000-0x800
)
97 define Image
/Build
/Initramfs
98 $(call Image
/Build
,initramfs
)
101 $(eval
$(call BuildImage
))