Seagate BlackArmor NAS 220

Hello there!
I am trying to install lede/openwrt on an abandoned NAS 220 I found on a shelf. Both 17.01 and 15.05.01 boot perfectly out of the 32MB nand chip but I cannot get ethernet to work.
I always get:

platform mv643xx_eth_port.0: Driver mv643xx_eth_port requests probe deferral

which probably means that the ethernet chip is wired differently...

Can anyone point me to the right direction?

For the history:
CPU: 88F6-LG02
Ethernet chip: 88E1116R-NNC1
128MB RAM - 32MB NAND

*updated to the latest u-boot (2018.05) from source
*modified /target/linux/kirkwood/profiles/110-nas.mk to:

GOFLEXHOME_UBIFS_OPTS:="-m 512 -e 15872 -c 4096"

to get a valid ubifs image for this hardware

Which image are you trying out?

You can take a look at https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/tree/arch/arm/boot/dts/kirkwood-iconnect.dts?h=v4.14.48

It uses the same switch and Kirkwood

I tried dockstart image which seemed to be the default built, and gave tries to goflexhome and goflexnet.
You suggest I give a try to iconnect image? Well, why not! I will do immediately and post the results

Well,that wont work.
Image specific to NAS220 is needed

Yes, it didn't work :frowning:
I changed UBFS_OPTS as I did with goflexhome, and the image booted just fine. Unfortunately ethernet didn't work.

The only problem seems to be the ethernet module - which seems to be built-in in the kernel. I can compile my own uimage, but I don't know that to change in order to get the ethernet working.

Well,you cant just go flashing images for other devices.
Partition layout is most likely wrong,you can easily mess up bootloader and then you are in world of pain.
Whole DTS and accompanying stuff needs to be specific for that device.

I can look into GPL to see what they used for ethernet.
But,can you give me full dmesg output?

Of course:

This is u-boot env setting needed to boot properly (also contains the partition layout):

bootargs=console=ttyS0,115200 mtdparts=orion_nand:0xa0000@0x0(uboot),0x010000@0xa0000(env),0x500000@0xc0000(uimage),0x1a40000@0x5c0000(rootfs) ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs

dmesg:

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 3.18.23 (buildbot@builder1) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r47269) ) #1 Sun Jan 31 11:40:01 CET 2016
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=0005397f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine model: Iomega Iconnect
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 32768
[    0.000000] free_area_init_node: node 0, pgdat c0489a20, node_mem_map c7efb000
[    0.000000]   Normal zone: 256 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 32768 pages, LIFO batch:7
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512
[    0.000000] Kernel command line: console=ttyS0,115200 mtdparts=orion_nand:0xa0000@0x0(uboot),0x010000@0xa0000(env),0x500000@0xc0000(uimage),0x1a40000@0x5c0000(rootfs) ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Memory: 121840K/131072K available (3466K kernel code, 151K rwdata, 964K rodata, 136K init, 191K bss, 9232K reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xffe00000   (2048 kB)
[    0.000000]     vmalloc : 0xc8800000 - 0xff000000   ( 872 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc045bd4c   (4432 kB)
[    0.000000]       .init : 0xc045c000 - 0xc047e000   ( 136 kB)
[    0.000000]       .data : 0xc047e000 - 0xc04a3e04   ( 152 kB)
[    0.000000]        .bss : 0xc04a3e04 - 0xc04d3b44   ( 192 kB)
[    0.000000] NR_IRQS:16 nr_irqs:16 16
[    0.000025] sched_clock: 32 bits at 166MHz, resolution 6ns, wraps every 25769803770ns
[    0.000254] Calibrating delay loop... 789.70 BogoMIPS (lpj=3948544)
[    0.040115] pid_max: default: 32768 minimum: 301
[    0.040335] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.040365] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.041103] CPU: Testing write buffer coherency: ok
[    0.041608] Setting up static identity map for 0x108d8 - 0x10914
[    0.042070] mvebu-soc-id: MVEBU SoC ID=0x6281, Rev=0x3
[    0.044799] pinctrl core: initialized pinctrl subsystem
[    0.045429] regulator-dummy: no parameters
[    0.052369] NET: Registered protocol family 16
[    0.053012] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.054375] cpuidle: using governor ladder
[    0.054932] Feroceon L2: Enabling L2
[    0.054993] Feroceon L2: Cache support initialised.
[    0.055458] [Firmware Info]: /ocp@f1000000/ethernet-controller@72000/ethernet0-port@0: local-mac-address is not set
[    0.066449] SCSI subsystem initialized
[    0.066968] usbcore: registered new interface driver usbfs
[    0.067083] usbcore: registered new interface driver hub
[    0.067182] usbcore: registered new device driver usb
[    0.068570] Switched to clocksource orion_clocksource
[    0.070166] NET: Registered protocol family 2
[    0.071215] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.071249] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.071277] TCP: Hash tables configured (established 1024 bind 1024)
[    0.071366] TCP: reno registered
[    0.071383] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.071413] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.071662] NET: Registered protocol family 1
[    0.071733] PCI: CLS 0 bytes, default 32
[    0.071982] Unpacking initramfs...
[    0.072001] Initramfs unpacking failed: junk in compressed archive
[    0.084891] Freeing initrd memory: 3072K (c4500000 - c4800000)
[    0.085833] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.087302] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.087331] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.087698] msgmni has been set to 243
[    0.088799] io scheduler noop registered
[    0.088825] io scheduler deadline registered (default)
[    0.090471] kirkwood-pinctrl f1010000.pin-controller: registered pinctrl driver
[    0.091287] irq: Cannot allocate irq_descs @ IRQ33, assuming pre-allocated
[    0.091761] irq: Cannot allocate irq_descs @ IRQ65, assuming pre-allocated
[    0.092581] mvebu-pcie mbus:pcie-controller: PCI host bridge to bus 0000:00
[    0.092608] pci_bus 0000:00: root bus resource [io  0x1000-0xfffff]
[    0.092626] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xefffffff]
[    0.092645] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.092689] pci 0000:00:01.0: [11ab:6281] type 01 class 0x060400
[    0.093011] PCI: bus0: Fast back to back transfers disabled
[    0.093033] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    0.093224] PCI: bus1: Fast back to back transfers enabled
[    0.093247] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    0.093292] pci 0000:00:01.0: PCI bridge to [bus 01]
[    0.140610] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.145103] console [ttyS0] disabled
[    0.145198] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 27, base_baud = 10416666) is a 16550A
[    0.598705] console [ttyS0] enabled
[    0.603795] nand: device found, Manufacturer ID: 0xec, Chip ID: 0x75
[    0.610165] nand: Samsung NAND 32MiB 3,3V 8-bit
[    0.614682] nand: 32MiB, SLC, page size: 512, OOB size: 16
[    0.620178] Scanning device for bad blocks
[    0.852142] 4 cmdlinepart partitions found on MTD device orion_nand
[    0.858381] Creating 4 MTD partitions on "orion_nand":
[    0.863520] 0x000000000000-0x0000000a0000 : "uboot"
[    0.869535] 0x0000000a0000-0x0000000b0000 : "env"
[    0.875186] 0x0000000c0000-0x0000005c0000 : "uimage"
[    0.881184] 0x0000005c0000-0x000002000000 : "rootfs"
[    0.887631] mtd: device 3 (rootfs) set to be root filesystem
[    0.893481] mtdsplit: no squashfs found in "rootfs"
[    0.898341] mtdsplit: no squashfs found in "orion_nand"
[    0.904260] libphy: orion_mdio_bus: probed
[    0.914786] mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4
[    0.922205] platform mv643xx_eth_port.0: Driver mv643xx_eth_port requests probe deferral
[    0.930363] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.936872] ehci-pci: EHCI PCI platform driver
[    0.941419] ehci-platform: EHCI generic platform driver
[    0.946797] ehci-orion: EHCI orion driver
[    0.951021] orion-ehci f1050000.ehci: EHCI Host Controller
[    0.956524] orion-ehci f1050000.ehci: new USB bus registered, assigned bus number 1
[    0.964342] orion-ehci f1050000.ehci: irq 30, io mem 0xf1050000
[    0.989303] orion-ehci f1050000.ehci: USB 2.0 started, EHCI 1.00
[    1.007052] hub 1-0:1.0: USB hub found
[    1.010892] hub 1-0:1.0: 1 port detected
[    1.015616] usbcore: registered new interface driver usb-storage
[    1.024195] TCP: cubic registered
[    1.027510] NET: Registered protocol family 17
[    1.032083] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
[    1.044700] Bridge firewalling registered
[    1.048895] 8021q: 802.1Q VLAN Support v1.8
[    1.055180] platform mv643xx_eth_port.0: Driver mv643xx_eth_port requests probe deferral
[    1.063939] UBI: attaching mtd3 to ubi0
[    1.328718] usb 1-1: new high-speed USB device number 2 using orion-ehci
[    1.374945] UBI: scanning is finished
[    1.394951] UBI: attached mtd3 (name "rootfs", size 26 MiB) to ubi0
[    1.401245] UBI: PEB size: 16384 bytes (16 KiB), LEB size: 15872 bytes
[    1.407746] UBI: min./max. I/O unit sizes: 512/512, sub-page size 256
[    1.414176] UBI: VID header offset: 256 (aligned 256), data offset: 512
[    1.420774] UBI: good PEBs: 1680, bad PEBs: 0, corrupted PEBs: 0
[    1.426755] UBI: user volume: 1, internal volumes: 1, max. volumes count: 92
[    1.433787] UBI: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
[    1.442033] UBI: available PEBs: 0, total reserved PEBs: 1680, PEBs reserved for bad PEB handling: 40
[    1.451516] drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
[    1.459454] UBI: background thread "ubi_bgt0d" started, PID 608
[    1.482524] UBIFS: recovery needed
[    1.505336] hub 1-1:1.0: USB hub found
[    1.518800] hub 1-1:1.0: 4 ports detected
[    1.524479] UBIFS: recovery deferred
[    1.528145] UBIFS: mounted UBI device 0, volume 0, name "rootfs", R/O mode
[    1.535026] UBIFS: LEB size: 15872 bytes (15 KiB), min./max. I/O unit sizes: 512 bytes/512 bytes
[    1.543812] UBIFS: FS size: 25490432 bytes (24 MiB, 1606 LEBs), journal size 8428032 bytes (8 MiB, 531 LEBs)
[    1.553605] UBIFS: reserved for root: 0 bytes (0 KiB)
[    1.558659] UBIFS: media format: w4/r0 (latest is w4/r0), UUID 4207A605-DC16-48D7-8F02-CBC42C3AA532, big LPT model
[    1.570095] VFS: Mounted root (ubifs filesystem) readonly on device 0:10.
[    1.577463] Freeing unused kernel memory: 136K (c045c000 - c047e000)
[    1.659806] platform mv643xx_eth_port.0: Driver mv643xx_eth_port requests probe deferral
[    1.808863] init: Console is alive
[    2.814786] init: - preinit -
[    2.940051] random: mktemp urandom read with 5 bits of entropy available
[    6.057818] mount_root: mounting /dev/root
[    6.062265] UBIFS: completing deferred recovery
[    6.098643] UBIFS: background thread "ubifs_bgt0_0" started, PID 812
[    6.105414] UBIFS: deferred recovery completed
[    6.123964] procd: - early -
[    7.316836] procd: - ubus -
[    8.339122] procd: - init -
[    9.781431] NET: Registered protocol family 10
[    9.820698] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    9.851075] ip_tables: (C) 2000-2006 Netfilter Core Team
[    9.886148] nf_conntrack version 0.5.0 (1953 buckets, 7812 max)
[    9.967739] xt_time: kernel timezone is -0000
[   10.005656] PPP generic driver version 2.4.2
[   10.029685] NET: Registered protocol family 24

I didnt mean from Iomega image,but from stock firmware

The original firmware wasn't loading at all - the hard disks were crashed and someone (as far as I know) did a firmware upgrade which didn't go well.

I followed this https://wiki.ccc-ffm.de/projekte:diverses:seagate_blackarmor_nas_220_debian
to compile / reflash an up-to-date u-boot.
I guess I could go with debian, but lede/openwrt is much faster/smaller

Well,I just now figured out that NAS220 is actually upstream supported and kernel already has DTS for it
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/tree/arch/arm/boot/dts/kirkwood-blackarmor-nas220.dts?h=v4.14.48

But there is no NAND or SPI NOR defined.
What kind of onboard storage does it have?

I am sure it has a 32 MB nand chip - I can verify the exact part number tomorrow. The default partition scheme from u-boot (2018.05) works perfectly in my setup.

I am more than willing to devtest a new image if you can help me out setting the toolchain. eg: where does this dts file shall go?

If u-boot scheme works that can be used.
DTS is already in the kernel,it just has to be patched to include partition layout.

I can try to patch it in the evening.
But you gotta confirm what onboard storage it has
Its not hard to build from sources,there is a lot of documentation but biggest part is simply installing required packages

I am 100% sure it is nand and it has only 32MB.

If you need exact part number, I can find it tomorrow

No need,I patched in the partition layout you used above.
Just that I merged kernel and rootfs into ubi so OpenWrt can auto resize them as needed.
Added profile for it into OpenWrt as well as needed packages.

Its built:
https://drive.google.com/drive/folders/1MFm3As_UFoQ7Q4yFAvNbv9Qf_zlAsfnT?usp=sharing

Give initramfs a test

Maybe Arch is what youre seeking.

You ARE amazing. The initramfs worked like a charm, it booted and enabled eth0 at 1gbit:

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.48 (robimarko@localhost.localdomain) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7109-c57d27080d)) #0 Wed Jun 6 18:10:22 2018
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=0005397f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] OF: fdt: Machine model: Seagate Blackarmor NAS220
[    0.000000] Memory policy: Data cache writeback
[    0.000000] On node 0 totalpages: 32768
[    0.000000] free_area_init_node: node 0, pgdat c0d26cc4, node_mem_map c7efa000
[    0.000000]   Normal zone: 256 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 32768 pages, LIFO batch:7
[    0.000000] random: get_random_bytes called from start_kernel+0x70/0x41c with crng_init=0
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32512
[    0.000000] Kernel command line: console=ttyS0,115200 mtdparts=orion_nand:0xa0000@0x0(uboot),0x010000@0xa0000(env),0x500000@0xc0000(uimage),0x1a40000@0x5c0000(rootfs) ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Memory: 117152K/131072K available (4490K kernel code, 156K rwdata, 1184K rodata, 6144K init, 209K bss, 13920K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc8800000 - 0xff800000   ( 880 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0562858   (5483 kB)
[    0.000000]       .init : 0xc0700000 - 0xc0d00000   (6144 kB)
[    0.000000]       .data : 0xc0d00000 - 0xc0d272e0   ( 157 kB)
[    0.000000]        .bss : 0xc0d272e0 - 0xc0d5ba5c   ( 210 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] clocksource: orion_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 11467562657 ns
[    0.000014] sched_clock: 32 bits at 166MHz, resolution 6ns, wraps every 12884901885ns
[    0.000062] Switching to timer-based delay loop, resolution 6ns
[    0.000179] Calibrating delay loop (skipped), value calculated using timer frequency.. 333.33 BogoMIPS (lpj=1666666)
[    0.000214] pid_max: default: 32768 minimum: 301
[    0.000422] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000455] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.001181] CPU: Testing write buffer coherency: ok
[    0.002288] Setting up static identity map for 0x100000 - 0x10003c
[    0.002698] mvebu-soc-id: MVEBU SoC ID=0x6281, Rev=0x3
[    0.008161] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.008199] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.008332] pinctrl core: initialized pinctrl subsystem
[    0.009675] NET: Registered protocol family 16
[    0.010386] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.011875] cpuidle: using governor ladder
[    0.012482] Feroceon L2: Enabling L2
[    0.012544] Feroceon L2: Cache support initialised.
[    0.012933] [Firmware Info]: /ocp@f1000000/ethernet-controller@72000/ethernet0-port@0: local-mac-address is not set
[    0.018449] No ATAGs?
[    0.040003] SCSI subsystem initialized
[    0.040659] libata version 3.00 loaded.
[    0.040980] usbcore: registered new interface driver usbfs
[    0.041070] usbcore: registered new interface driver hub
[    0.041155] usbcore: registered new device driver usb
[    0.043667] clocksource: Switched to clocksource orion_clocksource
[    0.044759] NET: Registered protocol family 2
[    0.045527] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.045561] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.045589] TCP: Hash tables configured (established 1024 bind 1024)
[    0.045707] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.045740] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.045955] NET: Registered protocol family 1
[    0.045998] PCI: CLS 0 bytes, default 32
[    0.183046] Crashlog allocated RAM at address 0x3f00000
[    0.184054] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[    0.190314] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.190332] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.293599] io scheduler noop registered
[    0.293623] io scheduler deadline registered (default)
[    0.295304] kirkwood-pinctrl f1010000.pin-controller: registered pinctrl driver
[    0.329367] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.330643] console [ttyS0] disabled
[    0.330747] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 26, base_baud = 10416666) is a 16550A
[    0.814831] console [ttyS0] enabled
[    0.819535] sata_mv f1080000.sata: version 1.28
[    0.819899] sata_mv f1080000.sata: slots 32 ports 2
[    0.829426] scsi host0: sata_mv
[    0.833228] scsi host1: sata_mv
[    0.836620] ata1: SATA max UDMA/133 irq 33
[    0.840704] ata2: SATA max UDMA/133 irq 33
[    0.845430] nand: device found, Manufacturer ID: 0xec, Chip ID: 0x75
[    0.851760] nand: Samsung NAND 32MiB 3,3V 8-bit
[    0.856313] nand: 32 MiB, SLC, erase size: 16 KiB, page size: 512, OOB size: 16
[    0.863602] Scanning device for bad blocks
[    1.095922] 4 cmdlinepart partitions found on MTD device orion_nand
[    1.102165] Creating 4 MTD partitions on "orion_nand":
[    1.107309] 0x000000000000-0x0000000a0000 : "uboot"
[    1.112995] 0x0000000a0000-0x0000000b0000 : "env"
[    1.118397] 0x0000000c0000-0x0000005c0000 : "uimage"
[    1.124306] 0x0000005c0000-0x000002000000 : "rootfs"
[    1.131105] mtd: device 3 (rootfs) set to be root filesystem
[    1.136965] mtdsplit: no squashfs found in "rootfs"
[    1.142492] libphy: Fixed MDIO Bus: probed
[    1.146954] libphy: orion_mdio_bus: probed
[    1.164111] mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4
[    1.173359] mv643xx_eth_port mv643xx_eth_port.0 eth0: port 0 with MAC address 00:10:75:07:9b:7c
[    1.182171] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.188692] ehci-orion: EHCI orion driver
[    1.192942] orion-ehci f1050000.ehci: EHCI Host Controller
[    1.198468] orion-ehci f1050000.ehci: new USB bus registered, assigned bus number 1
[    1.206289] orion-ehci f1050000.ehci: irq 30, io mem 0xf1050000
[    1.233685] orion-ehci f1050000.ehci: USB 2.0 started, EHCI 1.00
[    1.240440] hub 1-0:1.0: USB hub found
[    1.244488] hub 1-0:1.0: 1 port detected
[    1.249055] usbcore: registered new interface driver usb-storage
[    1.255604] rtc-mv f1010300.rtc: rtc core: registered f1010300.rtc as rtc0
[    1.262562] i2c /dev entries driver
[    1.267643] orion_wdt: Initial timeout 25 sec
[    1.363548] marvell-cesa f1030000.crypto: CESA device successfully registered
[    1.371950] NET: Registered protocol family 10
[    1.378760] Segment Routing with IPv6
[    1.382528] NET: Registered protocol family 17
[    1.387050] 8021q: 802.1Q VLAN Support v1.8
[    1.395711] ubi0: attaching mtd3
[    1.485540] ata1: SATA link down (SStatus 0 SControl F300)
[    1.613843] usb 1-1: new high-speed USB device number 2 using orion-ehci
[    1.697097] ubi0: scanning is finished
[    1.715653] ubi0: attached mtd3 (name "rootfs", size 26 MiB)
[    1.721331] ubi0: PEB size: 16384 bytes (16 KiB), LEB size: 15872 bytes
[    1.727954] ubi0: min./max. I/O unit sizes: 512/512, sub-page size 256
[    1.734468] ubi0: VID header offset: 256 (aligned 256), data offset: 512
[    1.741138] ubi0: good PEBs: 1680, bad PEBs: 0, corrupted PEBs: 0
[    1.747222] ubi0: user volume: 1, internal volumes: 1, max. volumes count: 92
[    1.754340] ubi0: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
[    1.762652] ubi0: available PEBs: 0, total reserved PEBs: 1680, PEBs reserved for bad PEB handling: 40
[    1.772459] rtc-mv f1010300.rtc: setting system clock to 2034-01-26 05:51:46 UTC (2021867506)
[    1.781593] ubi0: background thread "ubi_bgt0d" started, PID 946
[    1.818082] ata2: SATA link down (SStatus 0 SControl F300)
[    1.849176] Freeing unused kernel memory: 6144K
[    1.856489] hub 1-1:1.0: USB hub found
[    1.863769] hub 1-1:1.0: 4 ports detected
[    1.907437] init: Console is alive
[    1.911049] init: - watchdog -
[    1.914137] random: fast init done
[    1.926951] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    1.934308] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    1.944175] init: - preinit -
[    2.072151] random: jshn: uninitialized urandom read (4 bytes read)
[    2.116776] random: jshn: uninitialized urandom read (4 bytes read)
[    2.151180] random: jshn: uninitialized urandom read (4 bytes read)
[    2.246709] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    5.006119] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 1000 Mb/s, full duplex, flow control disabled
[    5.016004] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    5.408049] procd: - early -
[    5.411016] procd: - watchdog -
[    6.342652] procd: - watchdog -
[    6.346092] procd: - ubus -
[    6.355475] urandom_read: 2 callbacks suppressed
[    6.355484] random: ubusd: uninitialized urandom read (4 bytes read)
[    6.398901] random: ubusd: uninitialized urandom read (4 bytes read)
[    6.405749] random: ubusd: uninitialized urandom read (4 bytes read)
[    6.413284] procd: - init -
[    6.520525] kmodloader: loading kernel modules from /etc/modules.d/*
[    6.531874] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    6.549528] ip_tables: (C) 2000-2006 Netfilter Core Team
[    6.562050] nf_conntrack version 0.5.0 (2048 buckets, 8192 max)
[    6.610551] xt_time: kernel timezone is -0000
[    6.624089] hwmon_vid: Unknown VRM version of your CPU
[    6.629240] adt7475 0-002e: hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().
[    6.641472] adt7475 0-002e: ADT7476 device, revision 0
[    6.646620] adt7475 0-002e: Optional features: in0 in4 fan4 pwm2 vid
[    6.662415] PPP generic driver version 2.4.2
[    6.669083] NET: Registered protocol family 24
[    6.677001] kmodloader: done loading kernel modules from /etc/modules.d/*
[   11.457573] br-lan: port 1(eth0) entered blocking state
[   11.462815] br-lan: port 1(eth0) entered disabled state
[   11.468382] device eth0 entered promiscuous mode
[   11.537407] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready
[   13.907379] mv643xx_eth_port mv643xx_eth_port.0 eth0: link up, 1000 Mb/s, full duplex, flow control disabled
[   13.917294] br-lan: port 1(eth0) entered blocking state
[   13.922504] br-lan: port 1(eth0) entered forwarding state
[   13.953745] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[  103.753742] random: crng init done
[  103.757146] random: 2 urandom warning(s) missed due to ratelimiting

You also included luci!!! Unfortunately though, both sysupgrade and factory images were not recognized...

So far I was directly writing into nand the kernel and root files from sysupgrade.tar.gz files, how can I "install" what you've sent me ?

Hm,sysupgrade should work from initramfs.
Whats the error you get when trying to sysupgrade?

first of all - it cannot confirm it:

root@OpenWrt:/tmp# sysupgrade -v /tmp/sysupgrade.bin
Device seagate,blackarmor-nas220 not supported by this image
Supported devices: seagate,nas220 blackarmor-nas220
Image check 'fwtool_check_image' failed.

...then I used -F switch to force it:

root@OpenWrt:/tmp# sysupgrade -F -v /tmp/sysupgrade.bin
Device seagate,blackarmor-nas220 not supported by this image
Supported devices: seagate,nas220 blackarmor-nas220
Image check 'fwtool_check_image' failed but --force given - will update anyway!
Cannot save config while running from ramdisk.
Commencing upgrade. All shell sessions will be closed now.
Watchdog handover: fd=3
- watchdog -
killall: telnetd: no process killed
Sending TERM to remaining processes ... ubusd logd rpcd odhcpd uhttpd dnsmasq ntpd netifd
Sending KILL to remaining processes ...
Performing system upgrade...
removing ubiblock0_0
[  227.495596] block ubiblock0_0: released
Volume ID 0, size 133 LEBs (2110976 bytes, 2.0 MiB), LEB size 15872 bytes (15.5 KiB), dynamic, name "kernel", alignment 1
Volume ID 1, size 100 LEBs (1587200 bytes, 1.5 MiB), LEB size 15872 bytes (15.5 KiB), dynamic, name "rootfs", alignment 1
Set volume size to 22268416
Volume ID 2, size 1403 LEBs (22268416 bytes, 21.2 MiB), LEB size 15872 bytes (15.5 KiB), dynamic, name "rootfs_data", alignment 1
sysupgrade successful
umount: can't unmount /dev: Resource busy
umount: can't unmount /tmp: Resource busy
umount: can't unmount /: Invalid argument
[  230.669500] reboot: Restarting system

...which seemed successful, but then:


U-Boot 2018.05 (May 31 2018 - 15:39:02 +0300)
NAS 220

SoC:   Kirkwood 88F6281_A1
DRAM:  128 MiB
WARNING: Caches not enabled
NAND:  32 MiB
Loading Environment from NAND... OK
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
88E1116 Initialized on egiga0
IDE:   ide_preinit failed
Hit any key to stop autoboot:  0

Loading from nand0, offset 0xc0000
   Image Name:   ARM OpenWrt Linux-4.14.48
   Created:      2018-06-06  18:10:22 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2098064 Bytes = 2 MiB
   Load Address: 00008000
   Entry Point:  00008000
## Booting kernel from Legacy Image at 00800000 ...
   Image Name:   ARM OpenWrt Linux-4.14.48
   Created:      2018-06-06  18:10:22 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2098064 Bytes = 2 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.48 (robimarko@localhost.localdomain) (gcc version 7.3.0 (OpenWrt GCC 7.3.0 r7109-c57d27080d)) #0 Wed Jun 6 18:10:22 2018
[    0.000000] CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=0005397f
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] OF: fdt: Machine model: Seagate Blackarmor NAS220
[    0.000000] Memory policy: Data cache writeback
[    0.000000] random: get_random_bytes called from start_kernel+0x70/0x41c with crng_init=0
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 32512
[    0.000000] Kernel command line: console=ttyS0,115200 mtdparts=orion_nand:0xa0000@0x0(uboot),0x010000@0xa0000(env),0x500000@0xc0000(uimage),0x1a40000@0x5c0000(rootfs) ubi.mtd=3 root=ubi0:rootfs rootfstype=ubifs
[    0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Memory: 122276K/131072K available (4490K kernel code, 156K rwdata, 1184K rodata, 1024K init, 209K bss, 8796K reserved, 0K cma-reserved)
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
[    0.000000]     vmalloc : 0xc8800000 - 0xff800000   ( 880 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xc8000000   ( 128 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0562858   (5483 kB)
[    0.000000]       .init : 0xc0700000 - 0xc0800000   (1024 kB)
[    0.000000]       .data : 0xc0800000 - 0xc08272e0   ( 157 kB)
[    0.000000]        .bss : 0xc08272e0 - 0xc085ba5c   ( 210 kB)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] clocksource: orion_clocksource: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 11467562657 ns
[    0.000014] sched_clock: 32 bits at 166MHz, resolution 6ns, wraps every 12884901885ns
[    0.000062] Switching to timer-based delay loop, resolution 6ns
[    0.000178] Calibrating delay loop (skipped), value calculated using timer frequency.. 333.33 BogoMIPS (lpj=1666666)
[    0.000213] pid_max: default: 32768 minimum: 301
[    0.000420] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000452] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.001174] CPU: Testing write buffer coherency: ok
[    0.002289] Setting up static identity map for 0x100000 - 0x10003c
[    0.002700] mvebu-soc-id: MVEBU SoC ID=0x6281, Rev=0x3
[    0.008149] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.008189] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.008318] pinctrl core: initialized pinctrl subsystem
[    0.009660] NET: Registered protocol family 16
[    0.010372] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.011865] cpuidle: using governor ladder
[    0.012475] Feroceon L2: Enabling L2
[    0.012537] Feroceon L2: Cache support initialised.
[    0.012927] [Firmware Info]: /ocp@f1000000/ethernet-controller@72000/ethernet0-port@0: local-mac-address is not set
[    0.018460] No ATAGs?
[    0.039990] SCSI subsystem initialized
[    0.040967] usbcore: registered new interface driver usbfs
[    0.041055] usbcore: registered new interface driver hub
[    0.041139] usbcore: registered new device driver usb
[    0.043658] clocksource: Switched to clocksource orion_clocksource
[    0.044751] NET: Registered protocol family 2
[    0.045523] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.045556] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.045583] TCP: Hash tables configured (established 1024 bind 1024)
[    0.045702] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.045734] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.045949] NET: Registered protocol family 1
[    0.047487] Crashlog allocated RAM at address 0x3f00000
[    0.050434] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[    0.056763] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.056781] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.065787] io scheduler noop registered
[    0.065805] io scheduler deadline registered (default)
[    0.067398] kirkwood-pinctrl f1010000.pin-controller: registered pinctrl driver
[    0.101408] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    0.102690] console [ttyS0] disabled
[    0.102796] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 26, base_baud = 10416666) is a 16550A
[    0.586471] console [ttyS0] enabled
[    0.591537] sata_mv f1080000.sata: slots 32 ports 2
[    0.600983] scsi host0: sata_mv
[    0.604827] scsi host1: sata_mv
[    0.608165] ata1: SATA max UDMA/133 irq 33
[    0.612246] ata2: SATA max UDMA/133 irq 33
[    0.617000] nand: device found, Manufacturer ID: 0xec, Chip ID: 0x75
[    0.623331] nand: Samsung NAND 32MiB 3,3V 8-bit
[    0.627882] nand: 32 MiB, SLC, erase size: 16 KiB, page size: 512, OOB size: 16
[    0.635190] Scanning device for bad blocks
[    0.867500] 4 cmdlinepart partitions found on MTD device orion_nand
[    0.873763] Creating 4 MTD partitions on "orion_nand":
[    0.878885] 0x000000000000-0x0000000a0000 : "uboot"
[    0.884572] 0x0000000a0000-0x0000000b0000 : "env"
[    0.889926] 0x0000000c0000-0x0000005c0000 : "uimage"
[    0.895824] 0x0000005c0000-0x000002000000 : "rootfs"
[    0.902644] mtd: device 3 (rootfs) set to be root filesystem
[    0.908499] mtdsplit: no squashfs found in "rootfs"
[    0.914067] libphy: Fixed MDIO Bus: probed
[    0.918485] libphy: orion_mdio_bus: probed
[    0.926837] mv643xx_eth: MV-643xx 10/100/1000 ethernet driver version 1.4
[    0.936058] mv643xx_eth_port mv643xx_eth_port.0 eth0: port 0 with MAC address 00:10:75:07:9b:7c
[    0.944863] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    0.951364] ehci-orion: EHCI orion driver
[    0.955634] orion-ehci f1050000.ehci: EHCI Host Controller
[    0.961136] orion-ehci f1050000.ehci: new USB bus registered, assigned bus number 1
[    0.968974] orion-ehci f1050000.ehci: irq 30, io mem 0xf1050000
[    1.003679] orion-ehci f1050000.ehci: USB 2.0 started, EHCI 1.00
[    1.010411] hub 1-0:1.0: USB hub found
[    1.014445] hub 1-0:1.0: 1 port detected
[    1.019004] usbcore: registered new interface driver usb-storage
[    1.025542] rtc-mv f1010300.rtc: rtc core: registered f1010300.rtc as rtc0
[    1.032497] i2c /dev entries driver
[    1.037562] orion_wdt: Initial timeout 25 sec
[    1.048535] marvell-cesa f1030000.crypto: CESA device successfully registered
[    1.056889] NET: Registered protocol family 10
[    1.063553] Segment Routing with IPv6
[    1.067353] NET: Registered protocol family 17
[    1.071835] 8021q: 802.1Q VLAN Support v1.8
[    1.080373] ubi0: attaching mtd3
[    1.256196] ata1: SATA link down (SStatus 0 SControl F300)
[    1.374957] ubi0: scanning is finished
[    1.384193] usb 1-1: new high-speed USB device number 2 using orion-ehci
[    1.400674] ubi0: attached mtd3 (name "rootfs", size 26 MiB)
[    1.406363] ubi0: PEB size: 16384 bytes (16 KiB), LEB size: 15872 bytes
[    1.412963] ubi0: min./max. I/O unit sizes: 512/512, sub-page size 256
[    1.419486] ubi0: VID header offset: 256 (aligned 256), data offset: 512
[    1.426178] ubi0: good PEBs: 1680, bad PEBs: 0, corrupted PEBs: 0
[    1.432243] ubi0: user volume: 3, internal volumes: 1, max. volumes count: 92
[    1.439363] ubi0: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
[    1.447692] ubi0: available PEBs: 0, total reserved PEBs: 1680, PEBs reserved for bad PEB handling: 40
[    1.458036] block ubiblock0_1: created from ubi0:1(rootfs)
[    1.463840] rtc-mv f1010300.rtc: setting system clock to 2018-06-07 12:24:56 UTC (1528374296)
[    1.472873] ubi0: background thread "ubi_bgt0d" started, PID 948
[    1.585403] ata2: SATA link down (SStatus 0 SControl F300)
[    1.591036] VFS: Cannot open root device "ubi0:rootfs" or unknown-block(31,3): error -2
[    1.599036] Please append a correct "root=" boot option; here are the available partitions:
[    1.607379] 1f00             640 mtdblock0
[    1.607385]  (driver?)
[    1.613913] 1f01              64 mtdblock1
[    1.613918]  (driver?)
[    1.620425] 1f02            5120 mtdblock2
[    1.620429]  (driver?)
[    1.626958] 1f03           26880 mtdblock3
[    1.626963]  (driver?)
[    1.633470] fe00            1550 ubiblock0_1
[    1.633474]  (driver?)
[    1.640176] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)
[    1.649492] Rebooting in 1 seconds..

it seems that it created 2 ubi volumes, but neither is mountable:

nas220> ubi part rootfs
ubi0: attaching mtd1
ubi0: scanning is finished
ubi0: attached mtd1 (name "mtd=3", size 26 MiB)
ubi0: PEB size: 16384 bytes (16 KiB), LEB size: 15872 bytes
ubi0: min./max. I/O unit sizes: 512/512, sub-page size 256
ubi0: VID header offset: 256 (aligned 256), data offset: 512
ubi0: good PEBs: 1680, bad PEBs: 0, corrupted PEBs: 0
ubi0: user volume: 3, internal volumes: 1, max. volumes count: 92
ubi0: max/mean erase counter: 2/1, WL threshold: 4096, image sequence number: 0
ubi0: available PEBs: 0, total reserved PEBs: 1680, PEBs reserved for bad PEB handling: 40
nas220> ubifsmount ubi0:rootfs
UBIFS error (ubi0:1 pid 0): ubifs_read_node: bad node type (4 but expected 6)
UBIFS error (ubi0:1 pid 0): ubifs_read_node: bad node at LEB 0:0, LEB mapping status 1
Not a node, first 24 bytes:Error reading superblock on volume 'ubi0:rootfs' errno=-22!
ubifsmount - mount UBIFS volume

Usage:
ubifsmount <volume-name>
    - mount 'volume-name' volume
nas220> ubifsmount ubi0:kernel
UBIFS error (ubi0:0 pid 0): ubifs_read_node: bad node type (0 but expected 6)
UBIFS error (ubi0:0 pid 0): ubifs_read_node: bad node at LEB 0:0, LEB mapping status 1
Not a node, first 24 bytes:Error reading superblock on volume 'ubi0:kernel' errno=-22!
ubifsmount - mount UBIFS volume

Usage:
ubifsmount <volume-name>
    - mount 'volume-name' volume

Is it necessary to go with ubi? The only reason I used it was because I wanted to give a try to 15.05 images.

Ok, so sysupgrade is not working due to supported devices being set wrongly.
Hm, something weird is happening so kernel cant mount rootfs.

Why not go with UBI?
Hardcoding kernel and rootfs partitions is not good way to go,and those two ubi partitions are kernel and second one rootfs.

I will fix supported string,and it should work

When I was cooking images with imagebuilder, I had to modify

GOFLEXHOME_UBIFS_OPTS:="-m 512 -e 15872 -c 4096"

in /target/linux/kirkwood/profiles/110-nas.mk

in order to get a mountable ubifs image...