Dual-slot NAS based on Marvell Kirkwood.
Specifications:
- Marvell 88F6281 @1GHz
- 128Mb RAM
- 256Mb NAND
- 1x GbE LAN (Marvell 88E1116)
- 1x USB 2.0
- 2x SATA
- PCF8563 RTC
- LM75 sensor
- TC654 PWM fan controller
- Serial on J2 (115200,8n1)
- Newer bootROM so kwboot-ing via serial is possible
Installation:
1. Serial console
- Connect your levelshifter to the serial console
on J2 (refer to the wiki page for pinout)
2. Update u-boot
- Download the u-boot.kwb image for the device
- Powercycle the NAS
- Run "kwboot -b ./u-boot.kwb /dev/ttyUSB0 -p"
- Connect to the serial console with minicom
- tftp 0x0800000 netgear_stora-u-boot.kwb
- nand erase 0x0 100000
- nand write 0x0800000 0x0 0x100000
- reset
3. Install OpenWrt
- Boot up the initramfs image
- tftpboot 0x800000 openwrt-kirkwood-netgear_stora-initramfs-uImage; bootm 0x800000
- Download the sysupgrade image and perform sysupgrade
The fan is controlled in 3 stages by a script running every minute
from cron, measuring the CPU temperature.
Snippets taken from bodhi <mibodhi@gmail.com>
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Based on Paul Fertser <fercerpav@gmail.com>'s guidance:
Change AUTORELEASE in rules.mk to:
```
AUTORELEASE = $(if $(DUMP),0,$(shell sed -i "s/\$$(AUTORELEASE)/$(call commitcount,1)/" $(CURDIR)/Makefile))
```
then update all affected packages by:
```
for i in $(git grep -l PKG_RELEASE:=.*AUTORELEASE | sed 's^.*/\([^/]*\)/Makefile^\1^';);
do
make package/$i/clean
done
```
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
This is only cosmetic, but the next one adding a patch here would
have to do it anyway, and thus will get a smaller diff for review
now.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
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>
This reverts commit 930f3c0148.
The build fails with the following build error:
arm-openwrt-linux-muslgnueabi-ld.bfd: drivers/built-in.o: in function `ide_init':
build_dir/target-arm_xscale_musl_eabi/u-boot-nsa310/u-boot-2020.04/drivers/block/ide.c:750: undefined reference to `ide_preinit'
make[4]: *** [Makefile:1700: u-boot] Error 1
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
the uboot of nsa310 cannot use the network chip
as it is a realtek on the PCIe lanes and not a
Marvell ethernet from the SoC.
Therefore tftp is not possible on this device
and the only way to install is by loading files
from a USB drive.
If the USB subsystem is dead there is no way to
install OpenWrt.
Enable sata support and commands so it can be
used as a fallback in case of USB issues.
Signed-off-by: Alberto Bursi <bobafetthotmail@gmail.com>
Update U-Boot to current 2020.04 release for kirkwood platform.
Catch up with upstream and move some configuration options from
the header files to the corresponding defconfig files.
Compile tested: all devices
Run tested: nsa310, pogoplugv4
Tested-by: Cezary Jackiewicz <cezary@eko.one.pl> [nsa310]
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
With current uboot default configuration the bootloader will
fail to start the OpenWrt firmware with the following error:
-----
unexpected character 'b' at the end of partition
Error initializing mtdparts!
incorrect device type in ubi
Partition ubi not found!
Error, no UBI device/partition selected!
Wrong Image Format for bootm command
Error occured, error code = 112
-----
If the uboot configuration is examined with printenv
I can see that mdtparts line (on a nsa310) is wrong:
-----
mtdparts=mtdparts=orion_nand:0x0c0000(uboot),
0x80000(uboot_env),0x7ec0000(ubi)bootargs_root=
----
The "bootargs_root=" that was appended to it should not be there.
Fix the issue by adding a \0 line terminator at the end of affected lines,
mimicking what is also done by uboot upstream.
This issue was detected and confirmed on a nsa310, nsa325 and
a pogoplug v4, but it's not hardware-specific, so apply the same fix
to other devices as well.
Note that the issue is with the uboot's integrated boot configuration,
which is not used unless the uboot configuration in flash is unavailable
(erased or corrupted), which happens only on first time installation,
or if the user deletes the uboot configuration when upgrading uboot.
People just upgrading from an older uboot without erasing their previous
uboot configuration stored in flash would not have noticed this issue.
Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
U-Boot now requires GCC > 5
Catch up with upstream and move some configuration options from
the header files to the corresponding defconfig files.
Also move some options of patch 010 affecting the whole platform
to 010's device only.
Signed-off-by: Paul Wassi <p.wassi@gmx.at>
add an uboot able to boot a kernel in an ubi partition
This uboot also has a "recovery" feature, before
booting from flash it will try to boot a initramfs
image called "initramfs.bin" from a FAT32-formatted
USB drive connected to the USB 2.0 port.
(u-boot lacks drivers for usb 3.0 controllers)
Just rename the initramfs image and place it on
the usb drive, the uboot will load it.
In case there is no USB drive or no such file
is found, the uboot will boot from internal flash.
The whole check takes less than a second, boot times
are not impacted.
Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
Use <manufacturer>_<modelname> as image name.
Use the BOARD_NAME variable to ensure that the former used boardname is
still used as the subdirectory name for the sysupgrade-tar image, to
not break sysupgrade from earlier versions.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Build the Seagate GoFlexHome u-boot for the Seagate GoFlexNet as well. The
name clearly indicates that the u-boot can be used for both boards
Build the Zyxel NSA310 u-boot if the NSA310B image is selected.
Signed-off-by: Mathias Kresin <dev@kresin.me>
No image build code for the Guruplug, Sheevaplug and NSA310S exists. Drop
support for the boards for now.
Signed-off-by: Mathias Kresin <dev@kresin.me>
Upgrade uboot-kirkwood to upstream release 2017.09
Catch up with upstream and move configuration options from
simple defines to Kconfig, as otherwise dependencies would
not be resolved and code would not compile.
Tested-by: Alberto Bursi <alberto.bursi@outlook.it>
Signed-off-by: Paul Wassi <p.wassi@gmx.at>
With upstream changes, the last update to U-Boot 2017.03
broke the nsa310 and nsa325 targets. Also fix some redefines.
Signed-off-by: Paul Wassi <p.wassi@gmx.at>
fixes issue "nsa 310b u-boot can initialize usb but cannot
use usb storage so it cannot load files from usb"
Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
Goflexhome/net use uImage, and to boot an uImage the u-boot
must use bootm command, not bootz.
Fixes the "i cannot boot LEDE with this u-boot" issue that I
found out myself with my goflexnet.
Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
all patches for CONFIG_SYS_GENERIC_BOARD are obsolete for
uboot 2016 sources.
Run-tested with the uboot of goflexnet, also the md5sum of
all other uboots is the same with or without these patches.
Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
this commit allows to make a standalone u-boot for nsa310b.
While both first-stage and second-stage u-boot work fine if
installed to flash or loaded with kwboot,
I could not get stock u-boot nor bodhi's u-boot to chainload
any second stage u-boot (I also tried with dockstar's uboot
that works fine on this device if loaded with kwboot).
Signed-off-by: Alberto Bursi <alberto.bursi@outlook.it>
Fix the default value for the 'bootcmd' environment variable.
Therefore make the default bootcmd work for buildbot's images.
Signed-off-by: Paul Wassi <p.wassi@gmx.at>
Explicit sets the size of the mtdparts, because the kernel has also an explicit value.
If they have diffent sizes the ubi won't be detected.
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
SVN-Revision: 49018
otherwise the uboot is missing important commands like bootz
Signed-off-by: Martin Mueller <mm@sig21.net>
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
SVN-Revision: 49017
Since switching to new ubi(kernel,squashfs,ubifs) layout, the kernel lies in a
ubi volume. Dropping the mtd parts because the mtd layout is saved in the
device-tree, which is appended to the zImage.
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
SVN-Revision: 49016
Note, that licensing stuff is a nightmare: many packages does not clearly
state their licenses, and often multiple source files are simply copied
together - each with different licensing information in the file headers.
I tried hard to ensure, that the license information extracted into the OpenWRT's
makefiles fit the "spirit" of the packages, e.g. such small packages which
come without a dedicated source archive "inherites" the OpenWRT's own license
in my opinion.
However, I can not garantee that I always picked the correct information
and/or did not miss license information.
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
SVN-Revision: 43155
This patch modifies the u-boot config for the Pogoplug E02 to work with
OpenWrt. It also enables building a second stage bootloader image.
Signed-off-by: Felix Kaechele <heffer@fedoraproject.org>
SVN-Revision: 40828
Tested on:
* Cloud Engines Pogoplug E02
* RaidSonic ICY BOX IB-NAS62x0
* Iomega Iconnect
Some users are avoiding to replace their bootloader, because of that add
support for second stage u-boot image. Having ubifs capable bootloader is
required in order to boot current OpenWrt trunk.
Sample ib62x0 commands for running second stage bootloader:
tftpboot 0x800000 uboot-kirkwood-ib62x0_second_stage/openwrt-kirkwood-ib62x0_second_stage-u-boot.img
bootm 0x800000
Sample ib62x0 commands for flashing second stage bootloader:
tftpboot 0x800000 uboot-kirkwood-ib62x0_second_stage/openwrt-kirkwood-ib62x0_second_stage-u-boot.img
nand erase 0x100000 0x100000 ; nand write 0x800000 0x100000 0x${filesize}
nand read 0x800000 0x100000 0x100000 ; bootm 0x800000
While at it include parallel build support, use alphabetic order of the boards
and introduce common OpenWrt configuration.
Signed-off-by: Luka Perkov <luka@openwrt.org>
Tested-by (on ib62x0): Luka Perkov <luka@openwrt.org>
Tested-by (on dockstar): Alexander Couzens <lynxis@fe80.eu>
Tested-by (on iconnect): Wojciech Dubowik <wojciech.dubowik@neratec.com>
CC: Felix Kaechele <heffer@fedoraproject.org>
CC: Wojciech Dubowik <wojciech.dubowik@neratec.com>
CC: Alexander Couzens <lynxis@fe80.eu>
CC: Daniel Engberg <daniel.engberg@pyret.net>
CC: Imre Kaloz <kaloz@openwrt.org>
SVN-Revision: 39590