[OpenWrt-Devel] [PATCH 2/2] gemini: add basic nas4220 board support

Roman Yeryomin leroi.lists at gmail.com
Tue Oct 21 17:48:24 EDT 2014


Few notes:
- redboot partitions are unusable
- redboot declares only 16M of RAM, hence the mem arg in cmdline and separate kernel config
- boots fine but only ethernet works for now
- split wiliboard and raidsonic boards into different subtargets

Signed-off-by: Roman Yeryomin <roman at advem.lv>
---
 target/linux/gemini/Makefile               |  1 +
 target/linux/gemini/image/ImageInfo-ib4220 | 19 ++++++++++++++++++
 target/linux/gemini/image/Makefile         | 32 ++++++++++++++++++++++++++++--
 target/linux/gemini/raidsonic/config-3.10  |  5 +++++
 target/linux/gemini/raidsonic/target.mk    | 11 ++++++++++
 target/linux/gemini/wiligear/target.mk     | 10 ++++++++++
 6 files changed, 76 insertions(+), 2 deletions(-)
 create mode 100644 target/linux/gemini/image/ImageInfo-ib4220
 create mode 100644 target/linux/gemini/raidsonic/config-3.10
 create mode 100644 target/linux/gemini/raidsonic/target.mk
 create mode 100644 target/linux/gemini/wiligear/target.mk

diff --git a/target/linux/gemini/Makefile b/target/linux/gemini/Makefile
index 45ae97e..82338f4 100644
--- a/target/linux/gemini/Makefile
+++ b/target/linux/gemini/Makefile
@@ -9,6 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=arm
 BOARD:=gemini
 BOARDNAME:=Cortina Systems CS351x
+SUBTARGETS:=raidsonic wiligear
 FEATURES:=squashfs pci
 CPU_TYPE:=fa526
 MAINTAINER:=Imre Kaloz <kaloz at openwrt.org>
diff --git a/target/linux/gemini/image/ImageInfo-ib4220 b/target/linux/gemini/image/ImageInfo-ib4220
new file mode 100644
index 0000000..68fca5b
--- /dev/null
+++ b/target/linux/gemini/image/ImageInfo-ib4220
@@ -0,0 +1,19 @@
+Distribution="OpenWrt"
+Layout="Compact"
+UpgradeImages="zImage rd.gz hddapp.tgz"
+productName="IB-NAS4220-B"
+hardwareName="MP-LNU23SL"
+productVendor="   "
+VendorID="macpower"
+ProductID="pddlan"
+UpgradeVersion="300"
+ExtraVersion=""
+manufacturerURL="   "
+Description="IB-NAS4220-B"
+hostname="IB-NAS4220-B"
+softwareVersion="3.0"
+TSS="enabled"
+DIRECT_MODE="disabled"
+Raid_Support="raid0_raid1_raid5_linear"
+RaidTestDiskSize="0"
+Raid_Show_Disk="2"
diff --git a/target/linux/gemini/image/Makefile b/target/linux/gemini/image/Makefile
index 85da888..d4d0aac 100644
--- a/target/linux/gemini/image/Makefile
+++ b/target/linux/gemini/image/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2009-2010 OpenWrt.org
+# Copyright (C) 2009-2014 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -7,6 +7,7 @@
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
+ifeq ($(SUBTARGET),wiligear)
 define Image/Prepare
 # WBD111: mach id 1690 (0x69a)
 	echo -en "\x06\x1c\xa0\xe3\x9a\x10\x81\xe3" > $(KDIR)/$(IMG_PREFIX)-wbd111-zImage
@@ -15,7 +16,17 @@ define Image/Prepare
 	echo -en "\x0a\x1c\xa0\xe3\xc1\x10\x81\xe3" > $(KDIR)/$(IMG_PREFIX)-wbd222-zImage
 	cat $(KDIR)/zImage >> $(KDIR)/$(IMG_PREFIX)-wbd222-zImage
 endef
+endif
 
+ifeq ($(SUBTARGET),raidsonic)
+define Image/Prepare
+# NAS4220: mach id 2038 (0x7F6)
+	echo -en "\x07\x1c\xa0\xe3\xf6\x10\x81\xe3" > $(BIN_DIR)/$(IMG_PREFIX)-nas4220-zImage
+	cat $(KDIR)/zImage >> $(BIN_DIR)/$(IMG_PREFIX)-nas4220-zImage
+endef
+endif
+
+ifeq ($(SUBTARGET),wiligear)
 define Image/BuildKernel
 # workaround the bootloader's bug with extra nops
 	echo -en "\x00\x00\xa0\xe1\x00\x00\xa0\xe1\x00\x00\xa0\xe1\x00\x00\xa0\xe1" > $(BIN_DIR)/$(IMG_PREFIX)-wbd111-zImage
@@ -23,6 +34,7 @@ define Image/BuildKernel
 	echo -en "\x00\x00\xa0\xe1\x00\x00\xa0\xe1\x00\x00\xa0\xe1\x00\x00\xa0\xe1" > $(BIN_DIR)/$(IMG_PREFIX)-wbd222-zImage
 	cat $(KDIR)/$(IMG_PREFIX)-wbd222-zImage >> $(BIN_DIR)/$(IMG_PREFIX)-wbd222-zImage
 endef
+endif
 
 define Image/Build/jffs2-64k
 	dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img bs=64k conv=sync
@@ -37,9 +49,9 @@ define Image/Build/squashfs
 	dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img bs=128k conv=sync
 endef
 
+ifeq ($(SUBTARGET),wiligear)
 define Image/Build
 	$(call Image/Build/$(1),$(1))
-
 	-$(STAGING_DIR_HOST)/bin/mkfwimage2 \
 		-m GEOS -f 0x30000000 -z \
 		-v WILI-S.WILIBOARD.v5.00.SL3512.OpenWrt.00000.000000.000000 \
@@ -54,5 +66,21 @@ define Image/Build
 		-p Kernel:0x020000:0x100000:0:0:$(BIN_DIR)/$(IMG_PREFIX)-wbd222-zImage \
 		-p Ramdisk:0x120000:0x500000:0:0:$(BIN_DIR)/$(IMG_PREFIX)-$(1).img
 endef
+endif
+
+ifeq ($(SUBTARGET),raidsonic)
+define Image/Build
+	$(call Image/Build/$(1),$(1))
+	dd if=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img of=$(BIN_DIR)/rd.gz bs=6M count=1
+#	dd if=/dev/zero of=$(BIN_DIR)/hddapp.tgz bs=6M count=1
+	dd if=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img of=$(BIN_DIR)/hddapp.tgz bs=6M count=1 seek=1
+	cp $(BIN_DIR)/$(IMG_PREFIX)-nas4220-zImage $(BIN_DIR)/zImage
+	cp ./ImageInfo-ib4220 $(BIN_DIR)/ImageInfo
+	(cd $(BIN_DIR); tar -czf sysupgrade-ib4220.tar.gz ImageInfo zImage rd.gz hddapp.tgz)
+	mv $(BIN_DIR)/rd.gz $(BIN_DIR)/$(IMG_PREFIX)-nas4220-rd.gz
+	mv $(BIN_DIR)/hddapp.tgz $(BIN_DIR)/$(IMG_PREFIX)-nas4220-hddapp.tgz
+	rm -f $(BIN_DIR)/zImage $(BIN_DIR)/ImageInfo
+endef
+endif
 
 $(eval $(call BuildImage))
diff --git a/target/linux/gemini/raidsonic/config-3.10 b/target/linux/gemini/raidsonic/config-3.10
new file mode 100644
index 0000000..9160523
--- /dev/null
+++ b/target/linux/gemini/raidsonic/config-3.10
@@ -0,0 +1,5 @@
+CONFIG_CMDLINE="rootfstype=squashfs,jffs2 noinitrd console=ttyS0,19200 mem=128M mtdparts=physmap-flash.0:128k(BOOT),3072k(Kern),6144k(Ramdisk),6144k(Application),128k(VCTL),640k(CurConf),128k(FIS-directory),12288k at 0x320000(rootfs),15360k at 0x20000(firmware) root=/dev/mtdblock7"
+CONFIG_MACH_NAS4220B=y
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_SPLIT_FIRMWARE=y
diff --git a/target/linux/gemini/raidsonic/target.mk b/target/linux/gemini/raidsonic/target.mk
new file mode 100644
index 0000000..1e4320e
--- /dev/null
+++ b/target/linux/gemini/raidsonic/target.mk
@@ -0,0 +1,11 @@
+#
+# Copyright (C) 2014 OpenWrt.org
+#
+
+SUBTARGET:=raidsonic
+BOARDNAME:=Raidsonic NAS42x0
+FEATURES+=jffs2
+
+define Target/Description
+	Build firmware images for Raidsonic NAS4220.
+endef
diff --git a/target/linux/gemini/wiligear/target.mk b/target/linux/gemini/wiligear/target.mk
new file mode 100644
index 0000000..97cab18
--- /dev/null
+++ b/target/linux/gemini/wiligear/target.mk
@@ -0,0 +1,10 @@
+#
+# Copyright (C) 2014 OpenWrt.org
+#
+
+SUBTARGET:=wiligear
+BOARDNAME:=Wiligear WBD-222/111
+
+define Target/Description
+	Build firmware images for Wiligear WBD-222 and WBD-111 boards.
+endef
-- 
1.9.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list