gemini: add basic nas4220 board support

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@advem.lv>

SVN-Revision: 43319
This commit is contained in:
John Crispin 2014-11-19 14:09:10 +00:00
parent 6521f53c65
commit da5001475c
6 changed files with 76 additions and 2 deletions

View file

@ -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@openwrt.org>

View file

@ -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"

View file

@ -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))

View file

@ -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@0x320000(rootfs),15360k@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

View file

@ -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

View file

@ -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