2 # Copyright (C) 2006 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
10 define Image
/BuildKernel
11 cp
$(KDIR
)/vmlinux.elf
$(BIN_DIR
)/openwrt-
$(BOARD
)-vmlinux.elf
12 gzip
-9 -c
$(KDIR
)/vmlinux
> $(KDIR
)/vmlinux.bin.gz
13 $(STAGING_DIR_HOST
)/bin
/lzma e
$(KDIR
)/vmlinux
$(KDIR
)/vmlinux.bin.l7
14 dd if
=$(KDIR
)/vmlinux.bin.l7 of
=$(BIN_DIR
)/openwrt-
$(BOARD
)-vmlinux.lzma bs
=65536 conv
=sync
15 dd if
=$(KDIR
)/vmlinux.bin.gz of
=$(BIN_DIR
)/openwrt-
$(BOARD
)-vmlinux.gz bs
=65536 conv
=sync
18 define Image
/Build
/squashfs
19 $(call prepare_generic_squashfs
,$(KDIR
)/root.squashfs
)
23 $(call Image
/Build
/$(1))
24 dd if
=$(KDIR
)/root.
$(1) of
=$(BIN_DIR
)/openwrt-
$(BOARD
)-root.
$(1) bs
=128k conv
=sync
26 echo
-en
"kernel\t\t0x01\t0xBE030000\t0x" > $(BIN_DIR
)/ls5-parts
27 echo
-en
"$(shell printf "%08X
\n" $(shell cat $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma | wc -c))" >> $(BIN_DIR
)/ls5-parts
28 echo
-e
"\t0x80041000\t0x80041000\t$(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma" >> $(BIN_DIR
)/ls5-parts
29 echo
-en
"rootfs\t\t0x02\t0x" >> $(BIN_DIR
)/ls5-parts
30 echo
-en
"$(shell printf "%08X
\n" $(shell expr $(shell cat $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma | wc -c) + 3187867648 ) )" >> $(BIN_DIR
)/ls5-parts
31 echo
-en
"\t0x$(shell printf "%08X
\n" $(shell expr 3735552 - $(shell cat $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma | wc -c) ) )" >> $(BIN_DIR
)/ls5-parts
32 echo
-e
"\t0x00000000\t0x00000000\t$(BIN_DIR)/openwrt-$(BOARD)-root.$(1)" >> $(BIN_DIR
)/ls5-parts
34 echo
-en
"kernel\t\t0x01\t0xBFC30000\t0x" > $(BIN_DIR
)/ls2-parts
35 echo
-en
"$(shell printf "%08X
\n" $(shell cat $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma | wc -c))" >> $(BIN_DIR
)/ls2-parts
36 echo
-e
"\t0x80041000\t0x80041000\t$(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma" >> $(BIN_DIR
)/ls2-parts
37 echo
-en
"rootfs\t\t0x02\t0x" >> $(BIN_DIR
)/ls2-parts
38 echo
-en
"$(shell printf "%08X
\n" $(shell expr $(shell cat $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma | wc -c) + 3217227776 ) )" >> $(BIN_DIR
)/ls2-parts
39 echo
-en
"\t0x$(shell printf "%08X
\n" $(shell expr 3866624 - $(shell cat $(BIN_DIR)/openwrt-$(BOARD)-vmlinux.lzma | wc -c) ) )" >> $(BIN_DIR
)/ls2-parts
40 echo
-e
"\t0x00000000\t0x00000000\t$(BIN_DIR)/openwrt-$(BOARD)-root.$(1)" >> $(BIN_DIR
)/ls2-parts
42 $(STAGING_DIR_HOST
)/bin
/mkfwimage
-i
$(BIN_DIR
)/ls2-parts
-v XS2.ar2316.OpenWRT
-o
$(BIN_DIR
)/openwrt-
$(BOARD
)-ubnt-
$(1).bin
43 $(STAGING_DIR_HOST
)/bin
/mkfwimage
-i
$(BIN_DIR
)/ls5-parts
-v XS5.ar2313.OpenWRT
-o
$(BIN_DIR
)/openwrt-
$(BOARD
)-ubnt-
$(1).bin
44 rm $(BIN_DIR
)/ls2-parts
$(BIN_DIR
)/ls5-parts
47 $(eval
$(call BuildImage
))