openwrt/package/boot/uboot-kirkwood/Makefile
Kip Porterfield 6ffe8a473e kirkwood: add support for Seagate BlackArmor NAS220
The Seagate BlackArmor NAS220 is a consumer NAS
with two internal drive bays. The stock OS runs
RAID 1 over the disks via mdadm.

Device specification:
- SoC: Marvell 88F6192 800 MHz
- RAM: 128 MB
- Flash: 32 MB
- 2 x internal SATA II drives
- Ethernet: 10/100/1000 Mbps (single port, no switch)
- WLAN: None
- LED: Power, Status, Sata Activity
- Key: Power, Reset
- Serial: 10 pin header, (115200,8,N,1), 3.3V TTL
	9|x  -   x|10
	7|x  -   x|8
	5|x  - GND|6
	3|x  -  RX|4
	1|TX -   x|2
	front of case
- USB ports: 2 x USB 2.0

Flash instruction:

NOTE: this process uses a serial connection. It will upgrade the
bootloader and reset the bootloader environment variables

TFTP server setup
- Setup PC with TFTP server set the PC IP to 10.4.50.5 as TFTP server
- Copy these files to TFTP server location
    - u-boot.kwb
    - seagate_blackarmor-nas220-initramfs-uImage
    - seagate_blackarmor-nas220-squashfs-sysupgrade.bin
    - seagate_blackarmor-nas220-squashfs-factory.bin

Seagate NAS setup
- Connect LAN cable between PC and seagate device
- Connect to serial to seagate device

Install u-boot
- Boot seagate device and stop in bootloader by pressing any key
- run 'printenv' from u-boot and save the values
- tftpboot 0x2000000 u-boot.kwb
- nand erase.part uboot
- nand write 0x2000000 0x0 ${filesize}
- reset

Update MAC address in u-boot env
- Stop in u-boot by pressing any key
- Get your MAC address from your saved printenv. Is also on chassis
- setenv ethaddr <your MAC>
- saveenv

Option 1 (recommended) - Install OpenWrt via initramfs and sysupgrade
- tftpboot 0x2000000 seagate_blackarmor-nas220-initramfs-uImage
- bootm 0x2000000
- *OpenWrt should be running now, however it is not written to flash yet*
- From the running instance of OpenWrt use Luci's "flash image" feature
    from the web site or use sysupgrade from the console to write
    seagate_blackarmor-nas220-squashfs-sysupgrade.bin to flash

Option 2 - Install OpenWrt by flashing factory image from u-boot
- nand erase.part ubi
- tftpboot 0x2000000 seagate_blackarmor-nas220-squashfs-factory.bin
- nand write 0x2000000 ubi ${filesize}
- reset

Signed-off-by: Kip Porterfield <kip.porterfield@gmail.com>
2020-12-22 19:11:50 +01:00

145 lines
3.2 KiB
Makefile

#
# Copyright (C) 2010-2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_VERSION:=2020.04
PKG_RELEASE:=1
PKG_HASH:=fe732aaf037d9cc3c0909bad8362af366ae964bbdac6913a34081ff4ad565372
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
define U-Boot/Default
BUILD_TARGET:=kirkwood
endef
define U-Boot/dockstar
NAME:=Seagate DockStar
BUILD_DEVICES:=seagate_dockstar
endef
define U-Boot/dockstar_second_stage
NAME:=Seagate DockStar (second stage)
BUILD_DEVICES:=seagate_dockstar
endef
define U-Boot/goflexhome
NAME:=the Seagate GoFlexHome/GoFlexNet
BUILD_DEVICES:=seagate_goflexhome seagate_goflexnet
endef
define U-Boot/ib62x0
NAME:=RaidSonic ICY BOX NAS6210 and NAS6220
BUILD_DEVICES:=raidsonic_ib-nas62x0
endef
define U-Boot/ib62x0_second_stage
NAME:=RaidSonic ICY BOX NAS6210 and NAS6220 (second stage)
BUILD_DEVICES:=raidsonic_ib-nas62x0
endef
define U-Boot/iconnect
NAME:=Iomega iConnect Wireless
BUILD_DEVICES:=iom_iconnect-1.1
endef
define U-Boot/iconnect_second_stage
NAME:=Iomega iConnect Wireless (second stage)
BUILD_DEVICES:=iom_iconnect-1.1
endef
define U-Boot/l-50
NAME:=CheckPoint L-50
BUILD_DEVICES:=checkpoint_l-50
endef
define U-Boot/nas220
NAME:=Seagate Blackarmor NAS220
BUILD_DEVICES:=seagate_blackarmor-nas220
endef
define U-Boot/nsa310
NAME:=Zyxel NSA310
BUILD_DEVICES:=zyxel_nsa310b
endef
define U-Boot/nsa310s
NAME:=Zyxel NSA310S
BUILD_DEVICES:=zyxel_nsa310s
endef
define U-Boot/nsa325
NAME:=Zyxel NSA325v1 and v2
BUILD_DEVICES:=zyxel_nsa325
endef
define U-Boot/pogo_e02
NAME:=Cloud Engines Pogoplug E02
BUILD_DEVICES:=cloudengines_pogoe02
endef
define U-Boot/pogo_e02_second_stage
NAME:=Cloud Engines Pogoplug E02 (second stage)
BUILD_DEVICES:=cloudengines_pogoe02
endef
define U-Boot/pogoplugv4
NAME:=Cloud Engines Pogoplug V4
BUILD_DEVICES:=cloudengines_pogoplugv4
endef
UBOOT_TARGETS := \
dockstar dockstar_second_stage \
goflexhome \
ib62x0 ib62x0_second_stage \
iconnect iconnect_second_stage \
l-50 \
nas220 \
nsa310 \
nsa310s \
nsa325 \
pogo_e02 pogo_e02_second_stage \
pogoplugv4
define Build/Configure
$(if $(findstring _second_stage,$(BUILD_VARIANT)),
$(CP) \
$(PKG_BUILD_DIR)/configs/$(subst _second_stage,,$(BUILD_VARIANT))_defconfig \
$(PKG_BUILD_DIR)/configs/$(BUILD_VARIANT)_defconfig
echo CONFIG_SECOND_STAGE=y >> $(PKG_BUILD_DIR)/configs/$(BUILD_VARIANT)_defconfig
)
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
$(BUILD_VARIANT)_config V=1
endef
define Build/Compile
+$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) \
u-boot.kwb \
CROSS_COMPILE=$(TARGET_CROSS)
mkimage -A $(ARCH) -O linux -T kernel -C none \
-a 0x600000 -e 0x600000 \
-n 'U-Boot uImage' \
-d $(PKG_BUILD_DIR)/u-boot.bin $(PKG_BUILD_DIR)/u-boot.img
endef
define Package/u-boot/install
$(CP) \
$(PKG_BUILD_DIR)/u-boot.bin \
$(PKG_BUILD_DIR)/u-boot.kwb \
$(PKG_BUILD_DIR)/u-boot.img \
$(1)/
endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_HOST)/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/tools/kwboot $(STAGING_DIR_HOST)/bin/
endef
$(eval $(call BuildPackage/U-Boot))