hn / seagate-blackarmor-nas Goto Github PK
View Code? Open in Web Editor NEWTechnical data (reverse engineered) and an alternative firmware (Debian GNU/Linux) for the Seagate Blackarmor NAS
Technical data (reverse engineered) and an alternative firmware (Debian GNU/Linux) for the Seagate Blackarmor NAS
I have a BlackArmor 440 so I know things aren't exactly stable. I am here to help try and get this thing going nicely for everyone.
Installation seemed to go over without a hitch. Post install as the NAS is booting failures occur attempting to mount anything under the /root directory.
Warning: fsck not present, so skipping root file system
[ 22.435780] BTRFS info (device md1): flagging fs with big metadata feature
[ 22.442743] BTRFS info (device md1): disk space caching is enabled
[ 22.448974] BTRFS info (device md1): has skinny extents
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /dev on /root/dev failed: No such file or directory
done.
mount: mounting /run on /root/run failed: No such file or directory
run-init: can't execute '/sbin/init': No such file or directory
Target filesystem doesn't have requested /sbin/init.
run-init: can't execute '/sbin/init': No such file or directory
run-init: can't execute '/etc/init': No such file or directory
run-init: can't execute '/bin/init': No such file or directory
run-init: can't execute '/bin/sh': No such file or directory
run-init: can't execute '': No such file or directory
chvt: can't open console
No init found. Try passing init= bootarg.
BusyBox v1.30.1 (Debian 1:1.30.1-6+b3) built-in shell (ash)
Enter 'help' for a list of built-in commands.
(initramfs) ls
bin dev init proc run scripts tmp var
conf etc lib root sbin sys usr
(initramfs)
If I navigate into /root there is folder "@rootfs" which contains everything I would imagine should be there including the missing fsck binary.
Any idea why the root file system isn't being mounted properly?
Hello
I have a problem here!
I'm trying to install Debian 9 Stretch on a NAS110, but after successfully performed the Flashing Das U-Boot bootloader. When I try start the Debian installation I get the following error message:
nas220> fatload usb 0:1 0x40000 uImage-dtb
** Unable to read file uImage-dtb **
nas220> fatload usb 0:1 0x800000 uInitrd
** Unable to read file uInitrd **
Could reading failure be caused by a problem with my USB stick (FAT formatted)? Does anyone have a guess?
Here the full terminal output:
U-Boot 2017.11 (Dec 18 2018 - 09:52:13 +0100)
NAS 220SoC: Kirkwood 88F6281_A0
DRAM: 128 MiB
WARNING: Caches not enabled
NAND: 32 MiB
In: serial
Out: serial
Err: serial
Net: egiga0
88E1116 Initialized on egiga0
IDE: ide_preinit failed
nas220> setenv bootargs console=ttyS0,115200
nas220> usb start
starting USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 3 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
nas220> fatload usb 0:1 0x40000 uImage-dtb
** Unable to read file uImage-dtb **
nas220> fatload usb 0:1 0x800000 uInitrd
** Unable to read file uInitrd **
nas220>
PS:
cheers
LST
Hello
I'm facing a problem with BA110. When I try to load de bootloader/kernel I get a data abort and a CPU reset:
Marvell>> usb start
(Re)start USB...
USB: scanning bus for devices... 3 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
Marvell>> fatls usb 0:1
553356 u-boot.kwb
65536 u-boot-env.bin
2053978 uimage-dtb
12457575 uinitrd
4 file(s), 0 dir(s)
Marvell>> fatload usb 0:1 0x40000 uImage-dtb
reading uImage-dtb
data abort
pc : [<006488b4>] lr : [<0063ee88>]
sp : 005fdb04 ip : 005fda24 fp : 005fdb20
r10: 0000009b r9 : 00040000 r8 : 005fffcc
r7 : 005fdb70 r6 : 0000009b r5 : 005fdb70 r4 : 00000000
r3 : 005fdddc r2 : 00000c00 r1 : 00000000 r0 : 00000006
Flags: nZCv IRQs off FIQs off Mode SVC_32
Resetting CPU ...
Marvell>> usb start
(Re)start USB...
USB: scanning bus for devices... 3 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
Marvell>> fatls usb 0:1
553356 u-boot.kwb
65536 u-boot-env.bin
2053978 uimage-dtb
12457575 uinitr*
d
4 file(s), 0 dir(s)
Marvell>> fatload usb 0:1 0x800000 uInitrd
reading uInitrd
data abort
pc : [<006488b4>] lr : [<0063ee88>]
sp : 005fdb04 ip : 005fda24 fp : 005fdb20
r10: 00000291 r9 : 00800000 r8 : 005fffcc
r7 : 005fdb70 r6 : 00000291 r5 : 005fdb70 r4 : 00000000
r3 : 005fe5b4 r2 : 00000c00 r1 : 00000000 r0 : 00000006
Flags: nZCv IRQs off FIQs off Mode SVC_32
Resetting CPU ...
Could you help me?
Bests.
Hi - I have a Seagate 440 NAS that I would like to try your latest codebase on. Happy to provide my findings here. Is there anything I should be checking beforehand?
Hello,
I want to know if there is a possibilty to flash the u-boot from the Linux kernel directly ? I had an Seagate NAS 220 but no male pins to connect to the uboot serial and I want to flash the OpenWRT u-boot on it.
Thanks for any kind of help or advise. (yes I've changed my message)
The source list at /etc/apt/sources.list needs to be updated to point to archive.debian.org:
deb http://archive.debian.org/debian/ lenny main contrib non-free
deb-src http://archive.debian.org/debian/ lenny main contrib non-free
deb http://archive.debian.org/debian-security lenny/updates main contrib non-free
deb-src http://archive.debian.org/debian-security lenny/updates main contrib non-free
deb http://archive.debian.org/debian-volatile lenny/volatile main contrib non-free
deb-src http://archive.debian.org/debian-volatile lenny/volatile main contrib non-free
Installing on NAS220
It appears all goes well except line 113 of blackarmor-nas-debian-postinstall.sh ...... I get a message "ls: binary operator expected"
Hi, after updating device with custom-sg2000-2000.1337.sp99.img the password for root@ is not 'root' like you said, i get incorrect password error. Now i cant connect to my device :(
Hi,
I'm stuck with the post install script on nas440. Is it possible to have a new script for this nas ?
Thanks for the work.
Hi all, I have a nas 220 and i want to install debian 10 , i used successfully the rs232 interface and i can complete the installation ( more or less 1 hour :( ).
when i reboot the unit i have this message on monitor :
......
Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid
So I googled some, and someone said:
You need to enable CONFIG_LEGACY_IMAGE_FORMAT in U-Boot:
Go to the u-boot source directory.
Type: $ make menuconfig
In Boot images -> Enable support for the legacy image format
Exit and save, then build U-Boot again
Now it will be able to load your uRamdisk :-)
where I can rebuild uboot ?
Can i Do it by myself ?
Many thanks in advance
gigirock
Reproducing:
chmod 777 -R *
'ing those filesusb start
, finding 3 devices, and 1 storage, then ext2load usb 0:1 0x800000 u-boot-nas220.kwb
usb start
displays 1 USB devices found, 0 storage devices found
Would you mind explaining a bit more about the use case of installing Debian and what the UI looks like/how you would use it.
I ran through the entire process in the readme.md twice but get an error after the final reboot. The bootloader upgrade, Debian install and post install script seem to run without error. Any ideas?
U-Boot 2017.11 (Dec 18 2018 - 09:52:13 +0100)
NAS 220
SoC: Kirkwood 88F6281_A1
DRAM: 128 MiB
WARNING: Caches not enabled
NAND: 32 MiB
In: serial
Out: serial
Err: serial
Net: egiga0
88E1116 Initialized on egiga0
IDE: Bus 0: .........OK Bus 1: not available
Device 0: Model: Hitachi HDS721075KLA330 Firm: GK8OA97A Ser#: GTF202P8H9AH2F
Type: Hard Disk
Supports 48-bit addressing
Capacity: 715404.8 MB = 698.6 GB (1465149168 x 512)
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0xc0000, size 0x500000
5242880 bytes read: OK
NAND read: device 0 offset 0x5c0000, size 0x1a40000
Attempt to read outside the flash area
0 bytes read: ERROR
Image Name: kernel 4.19.0-6-marvell
Created: 2020-01-08 5:19:45 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2056282 Bytes = 2 MiB
Load Address: 00040000
Entry Point: 00040000
Verifying Checksum ... OK
Wrong Ramdisk Image Format
Ramdisk image is corrupt or invalid
nas220>
I apologize for logging this as an issue but I cant any other way to contact you. What in the device determines that a Seagate drive is installed? Is that check made in the Kernel? I want to fork off your code and remove this check thus allowing large drives from any manufacturer.
By the way, your firmware SP works on the BA 110 as well :) I tested it yesterday.
Hi !
Is the NAS 400 the same as NAS 440 ? i.e. does the "Warning: Support for the NAS 440 is currently alpha quality! Things are incomplete, buggy and unstable" also apply to NAS 400 ?
Thanks,
KK
Greetings there!
I'm also trying to install a custom debian on my NAS. It has the same chip as yours, the 88F6-LG02. However, when I boot your image on the NAS it fails to boot, because it hits a kernel exception. So can you please provide me how you built your kernel, step-by-step?
Thank You
Hello Hojo @hn
Many thanks for your reply. I'm sorry for leaving a comment under your original code changes. I am new to Github, not familiar with those functions, sorry for that.
I have a BlackArmor NAS220 and installed the Debian-Armel 2.6.22.18 by using your previous fw manual upgrade method due to I don't have a serial cable. My issues are:
Many thanks for your time to answer my questions.
Hello, i got NAS220 and i'm trying to install Debian on it. At first i had issue with detection of my usb stick in u-boot but i loaded new u-boot via TFTP and flashed it without issues. I'm trying now to install debian, i loaded uImage-dtb and uInitrd via TFTP, I am experience problem when installer go to step "Make system bootable" - it just fails.
I tried to ignore error and continue installation, but when i'm in chroot and execute post install script it fail writing to flash.
Log:
Reading package lists... 0%
Reading package lists... 100%
Reading package lists... Done
Building dependency tree... 0%
Building dependency tree... 0%
Building dependency tree... 50%
Building dependency tree... 50%
Building dependency tree... 65%
Building dependency tree... 92%
Building dependency tree
Reading state information... 0%
Reading state information... 0%
Reading state information... Done
flash-kernel is already the newest version (3.99).
sharutils is already the newest version (1:4.15.2-4).
u-boot-tools is already the newest version (2019.01+dfsg-7).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
E: Can not write log (Is /dev/pts mounted?) - posix_openpt (19: No such device)
Setting up initramfs-tools (0.133+deb10u1) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.133+deb10u1) ...
update-initramfs: Generating /boot/initrd.img-4.19.0-6-marvell
UUID d32eba12-964a-4bb5-b971-bb05156cb73c doesn't exist in /dev/disk/by-uuid
Warning: root device /dev/disk/by-uuid/d32eba12-964a-4bb5-b971-bb05156cb73c does
�[23;80Hs not exist
Using DTB: kirkwood-blackarmor-nas220.dtb
Installing /usr/lib/linux-image-4.19.0-6-marvell/kirkwood-blackarmor-nas220.dtb
�[23;80H into /boot/dtbs/4.19.0-6-marvell/./kirkwood-blackarmor-nas220.dtb
Taking backup of kirkwood-blackarmor-nas220.dtb.
Installing new kirkwood-blackarmor-nas220.dtb.
Installing /usr/lib/linux-image-4.19.0-6-marvell/kirkwood-blackarmor-nas220.dtb
�[23;80H into /boot/dtbs/4.19.0-6-marvell/./kirkwood-blackarmor-nas220.dtb
Taking backup of kirkwood-blackarmor-nas220.dtb.
Installing new kirkwood-blackarmor-nas220.dtb.
flash-kernel: installing version 4.19.0-6-marvell
Cannot find mtd partition 'uimage'
run-parts: /etc/initramfs/post-update.d//flash-kernel exited with return code 1
dpkg: error processing package initramfs-tools (--configure):
installed initramfs-tools package post-installation script subprocess returned
�[23;80H error exit status 1
Errors were encountered while processing:
initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)
Is there a solution for that?
Hi,
Thanks a lot for your guide, it made me want to get my hands on a BA 220 to play around with. My concern is, would the BA support drives > 3TB . Do you have any info on this or tried it yourself?
Seagate explicitly mentions 3TB max capacity per drive, which may have been OK back when this NAS was released, but isn't even close to enough these days. So before I buy this NAS, I'm wondering if it would be usable for me since I'd like to put at least 6-8TB drives inside it. Preferably I'd like to put 2x18TB seagate exos drives, which would make the whole experiment worthwhile since that would give me enough storage for an external cold backup of my main NAS. I can't find any info on this online, so hopefully someone here tried this and could give me some tips on whether this would work (or not work)
Hi,
Has anybody experienced any issues with the UART? In the past i was able to connect to the UART interface and get access to Linux as well as see the u-boot logs while booting. Today i tried to get UART access in order to flash my device with Debian as described in this repo but i realized that there are no data present on the UART TX. The line is always high. My device is a Blackarmor NAS 220 with 4 pins connector for UART. I think that i have upgraded my device since then and i'm wondering if they have completely disabled the serial interface for security reasons after the release of the web exploit for ssh enable.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.