ath79: GL-AR300M: provide NAND support; increase to 4 MB kernel
[openwrt/openwrt.git] / target / linux / ath79 / image / nand.mk
1 include ./common-netgear.mk # for netgear-uImage
2
3 # attention: only zlib compression is allowed for the boot fs
4 define Build/zyxel-buildkerneljffs
5 rm -rf $(KDIR_TMP)/zyxelnbg6716
6 mkdir -p $(KDIR_TMP)/zyxelnbg6716/image/boot
7 cp $@ $(KDIR_TMP)/zyxelnbg6716/image/boot/vmlinux.lzma.uImage
8 $(STAGING_DIR_HOST)/bin/mkfs.jffs2 \
9 --big-endian --squash-uids -v -e 128KiB -q -f -n -x lzma -x rtime \
10 -o $@ \
11 -d $(KDIR_TMP)/zyxelnbg6716/image
12 rm -rf $(KDIR_TMP)/zyxelnbg6716
13 endef
14
15 define Build/zyxel-factory
16 let \
17 maxsize="$(subst k,* 1024,$(RAS_ROOTFS_SIZE))"; \
18 let size="$$(stat -c%s $@)"; \
19 if [ $$size -lt $$maxsize ]; then \
20 $(STAGING_DIR_HOST)/bin/mkrasimage \
21 -b $(RAS_BOARD) \
22 -v $(RAS_VERSION) \
23 -r $@ \
24 -s $$maxsize \
25 -o $@.new \
26 -l 131072 \
27 && mv $@.new $@ ; \
28 fi
29 endef
30
31 define Device/aerohive_hiveap-121
32 ATH_SOC := ar9344
33 DEVICE_VENDOR := Aerohive
34 DEVICE_MODEL := HiveAP 121
35 DEVICE_PACKAGES := kmod-usb2
36 BLOCKSIZE := 128k
37 PAGESIZE := 2048
38 IMAGE_SIZE := 116m
39 KERNEL_SIZE := 5120k
40 UBINIZE_OPTS := -E 5
41 SUPPORTED_DEVICES += hiveap-121
42 IMAGES += factory.bin
43 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
44 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
45 endef
46 TARGET_DEVICES += aerohive_hiveap-121
47
48 define Device/glinet_gl-ar300m-common-nand
49 ATH_SOC := qca9531
50 DEVICE_VENDOR := GL.iNet
51 DEVICE_MODEL := GL-AR300M
52 DEVICE_PACKAGES := kmod-usb2
53 KERNEL_SIZE := 4096k
54 IMAGE_SIZE := 16000k
55 PAGESIZE := 2048
56 VID_HDR_OFFSET := 2048
57 endef
58
59 define Device/glinet_gl-ar300m-nand
60 $(Device/glinet_gl-ar300m-common-nand)
61 DEVICE_VARIANT := NAND
62 BLOCKSIZE := 128k
63 IMAGES += factory.img
64 IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
65 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
66 SUPPORTED_DEVICES += glinet,gl-ar300m-nor
67 endef
68 TARGET_DEVICES += glinet_gl-ar300m-nand
69
70 define Device/glinet_gl-ar300m-nor
71 $(Device/glinet_gl-ar300m-common-nand)
72 DEVICE_VARIANT := NOR
73 BLOCKSIZE := 64k
74 SUPPORTED_DEVICES += glinet,gl-ar300m-nand gl-ar300m
75 endef
76 TARGET_DEVICES += glinet_gl-ar300m-nor
77
78 # fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + 0xff)
79 define Device/netgear_ath79_nand
80 DEVICE_VENDOR := NETGEAR
81 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
82 KERNEL_SIZE := 2048k
83 BLOCKSIZE := 128k
84 PAGESIZE := 2048
85 IMAGE_SIZE := 25600k
86 KERNEL := kernel-bin | append-dtb | lzma -d20 | \
87 pad-offset $$(KERNEL_SIZE) 129 | \
88 netgear-uImage lzma | append-string -e '\xff' | \
89 append-uImage-fakehdr filesystem $$(NETGEAR_KERNEL_MAGIC)
90 KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma -d20 | netgear-uImage lzma
91 IMAGES := sysupgrade.bin factory.img
92 IMAGE/factory.img := append-kernel | append-ubi | netgear-dni | check-size $$$$(IMAGE_SIZE)
93 IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | check-size $$$$(IMAGE_SIZE)
94 UBINIZE_OPTS := -E 5
95 endef
96
97 define Device/netgear_wndr4300
98 ATH_SOC := ar9344
99 DEVICE_MODEL := WNDR4300
100 NETGEAR_KERNEL_MAGIC := 0x33373033
101 NETGEAR_BOARD_ID := WNDR4300
102 NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
103 SUPPORTED_DEVICES += wndr4300
104 $(Device/netgear_ath79_nand)
105 endef
106 TARGET_DEVICES += netgear_wndr4300
107
108 define Device/zyxel_nbg6716
109 ATH_SOC := qca9558
110 DEVICE_VENDOR := ZyXEL
111 DEVICE_MODEL := NBG6716
112 DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct ath10k-firmware-qca988x-ct
113 RAS_BOARD := NBG6716
114 RAS_ROOTFS_SIZE := 29696k
115 RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
116 KERNEL_SIZE := 4096k
117 BLOCKSIZE := 128k
118 PAGESIZE := 2048
119 KERNEL := kernel-bin | append-dtb | uImage none | \
120 zyxel-buildkerneljffs | check-size 4096k
121 IMAGES := sysupgrade.tar sysupgrade-4M-Kernel.bin factory.bin
122 IMAGE/sysupgrade.tar/squashfs := append-rootfs | pad-to $$$$(BLOCKSIZE) | sysupgrade-tar rootfs=$$$$@ | append-metadata
123 IMAGE/sysupgrade-4M-Kernel.bin/squashfs := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to 263192576 | gzip
124 IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | zyxel-factory
125 UBINIZE_OPTS := -E 5
126 endef
127 TARGET_DEVICES += zyxel_nbg6716
128 DEVICE_VARS += RAS_ROOTFS_SIZE RAS_BOARD RAS_VERSION