d4d0aac0a6e426c1afd72724c1076622b6ffb3f3
[openwrt.git] / target / linux / gemini / image / Makefile
1 #
2 # Copyright (C) 2009-2014 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 ifeq ($(SUBTARGET),wiligear)
11 define Image/Prepare
12 # WBD111: mach id 1690 (0x69a)
13         echo -en "\x06\x1c\xa0\xe3\x9a\x10\x81\xe3" > $(KDIR)/$(IMG_PREFIX)-wbd111-zImage
14         cat $(KDIR)/zImage >> $(KDIR)/$(IMG_PREFIX)-wbd111-zImage
15 # WBD222: mach id 2753 (0xAC1)
16         echo -en "\x0a\x1c\xa0\xe3\xc1\x10\x81\xe3" > $(KDIR)/$(IMG_PREFIX)-wbd222-zImage
17         cat $(KDIR)/zImage >> $(KDIR)/$(IMG_PREFIX)-wbd222-zImage
18 endef
19 endif
20
21 ifeq ($(SUBTARGET),raidsonic)
22 define Image/Prepare
23 # NAS4220: mach id 2038 (0x7F6)
24         echo -en "\x07\x1c\xa0\xe3\xf6\x10\x81\xe3" > $(BIN_DIR)/$(IMG_PREFIX)-nas4220-zImage
25         cat $(KDIR)/zImage >> $(BIN_DIR)/$(IMG_PREFIX)-nas4220-zImage
26 endef
27 endif
28
29 ifeq ($(SUBTARGET),wiligear)
30 define Image/BuildKernel
31 # workaround the bootloader's bug with extra nops
32         echo -en "\x00\x00\xa0\xe1\x00\x00\xa0\xe1\x00\x00\xa0\xe1\x00\x00\xa0\xe1" > $(BIN_DIR)/$(IMG_PREFIX)-wbd111-zImage
33         cat $(KDIR)/$(IMG_PREFIX)-wbd111-zImage >> $(BIN_DIR)/$(IMG_PREFIX)-wbd111-zImage
34         echo -en "\x00\x00\xa0\xe1\x00\x00\xa0\xe1\x00\x00\xa0\xe1\x00\x00\xa0\xe1" > $(BIN_DIR)/$(IMG_PREFIX)-wbd222-zImage
35         cat $(KDIR)/$(IMG_PREFIX)-wbd222-zImage >> $(BIN_DIR)/$(IMG_PREFIX)-wbd222-zImage
36 endef
37 endif
38
39 define Image/Build/jffs2-64k
40         dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img bs=64k conv=sync
41 endef
42
43 define Image/Build/jffs2-128k
44         dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img bs=128k conv=sync
45 endef
46
47 define Image/Build/squashfs
48         $(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
49         dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img bs=128k conv=sync
50 endef
51
52 ifeq ($(SUBTARGET),wiligear)
53 define Image/Build
54         $(call Image/Build/$(1),$(1))
55         -$(STAGING_DIR_HOST)/bin/mkfwimage2 \
56                 -m GEOS -f 0x30000000 -z \
57                 -v WILI-S.WILIBOARD.v5.00.SL3512.OpenWrt.00000.000000.000000 \
58                 -o $(BIN_DIR)/$(IMG_PREFIX)-wbd111-$(1).bin \
59                 -p Kernel:0x020000:0x100000:0:0:$(BIN_DIR)/$(IMG_PREFIX)-wbd111-zImage \
60                 -p Ramdisk:0x120000:0x500000:0:0:$(BIN_DIR)/$(IMG_PREFIX)-$(1).img
61
62         -$(STAGING_DIR_HOST)/bin/mkfwimage2 \
63                 -m GEOS -f 0x30000000 -z \
64                 -v WILI-S.WBD222.v5.00.SL3512.OpenWrt.00000.000000.000000 \
65                 -o $(BIN_DIR)/$(IMG_PREFIX)-wbd222-$(1).bin \
66                 -p Kernel:0x020000:0x100000:0:0:$(BIN_DIR)/$(IMG_PREFIX)-wbd222-zImage \
67                 -p Ramdisk:0x120000:0x500000:0:0:$(BIN_DIR)/$(IMG_PREFIX)-$(1).img
68 endef
69 endif
70
71 ifeq ($(SUBTARGET),raidsonic)
72 define Image/Build
73         $(call Image/Build/$(1),$(1))
74         dd if=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img of=$(BIN_DIR)/rd.gz bs=6M count=1
75 #       dd if=/dev/zero of=$(BIN_DIR)/hddapp.tgz bs=6M count=1
76         dd if=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img of=$(BIN_DIR)/hddapp.tgz bs=6M count=1 seek=1
77         cp $(BIN_DIR)/$(IMG_PREFIX)-nas4220-zImage $(BIN_DIR)/zImage
78         cp ./ImageInfo-ib4220 $(BIN_DIR)/ImageInfo
79         (cd $(BIN_DIR); tar -czf sysupgrade-ib4220.tar.gz ImageInfo zImage rd.gz hddapp.tgz)
80         mv $(BIN_DIR)/rd.gz $(BIN_DIR)/$(IMG_PREFIX)-nas4220-rd.gz
81         mv $(BIN_DIR)/hddapp.tgz $(BIN_DIR)/$(IMG_PREFIX)-nas4220-hddapp.tgz
82         rm -f $(BIN_DIR)/zImage $(BIN_DIR)/ImageInfo
83 endef
84 endif
85
86 $(eval $(call BuildImage))