icybox nas6210

Install Arch Linux ARM on other devices.

icybox nas6210

Postby icy6210 » Thu Mar 15, 2012 1:37 pm

I enjoyed a long time Archlinux i686 and x86_64 platforms, so I decided to test it on this Icybox nas6210.
I'm not a computer professional so my approach to this work is empirical.
The aim is to boot the nas directly from an usbstick, not touching NAND. First boot should be without uInird.
Taking a cue from this link <http://simon.baatz.info/raidsonic-icy-box-ib-nas6210-my-new-sheevaplug/> and <http://buffalo.nas-central.org/ wiki/Use_a_Nokia_Serial_Cable_on_an_ARM9_Linkstation> and yet <http://archlinuxarm.org/forum/viewtopic.php?f=23&t=1357> I connected to the nas6210 through the serial port using a USB cable and changed the environment of 6210 in the following manner :

environment original / modified environment
$ diff output of changes
________________________________________
< image_name=uImage.6281a.ubifs.20090513
---
> image_name=uImage

> bootargs_console=console=ttys0,115200
> bootcmd=setenv bootargs $(bootargs_console) $(bootargs_root);run bootcmd_usb;bootm 0x00800000
> bootargs_root=root=PARTUUID=62F1F1EB-9664-4BDE-99A5-A52D8317F824 rootdelay=20
> bootcmd_usb=usb start; ext2load usb 0:1 0x00800000 /uImage
> arcNumber=3104

< mainlineLinux=no
---
> mainlineLinux=yes

< Environment size: 1192/131068 bytes
---
> Environment size: 1293/131068 bytes
_____________________________________

I put ArchLinuxARM-ARMv5TE-latest.tar.gz on a Sandisk 4G USB stick with a /boot partition ext2 and a / partition ext4. Inserted the stick into the front port of nas6210 and fireup the "reset". This is the output of the boot:
$this->bbcode_second_pass_code('', '

| \/ | __ _ _ ____ _____| | |
| |\/| |/ _` | '__\ \ / / _ \ | |
| | | | (_| | | \ V / __/ | |
|_| |_|\__,_|_| \_/ \___|_|_|
_ _ ____ _
| | | | | __ ) ___ ___ | |_
| | | |___| _ \ / _ \ / _ \| __|
| |_| |___| |_) | (_) | (_) | |_
\___/ |____/ \___/ \___/ \__|
** MARVELL BOARD: DB-88F6281A-BP LE

U-Boot 1.1.4 (Oct 12 2009 - 13:41:53) Marvell version: 3.4.16

U-Boot code: 00600000 -> 0067FFF0 BSS: -> 006CEE60

Soc: MV88F6281 Rev 3 (DDR2)
CPU running @ 1200Mhz L2 running @ 400Mhz
SysClock = 400Mhz , TClock = 200Mhz

DRAM CAS Latency = 5 tRP = 5 tRAS = 18 tRCD=6
DRAM CS[0] base 0x00000000 size 256MB
DRAM Total size 256MB 16bit width
Flash: 0 kB
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:256 MB

CPU : Marvell Feroceon (Rev 1)

Streaming disabled
Write allocate disabled

USB 0: host mode
PEX 0: interface detected no Link.
Net: egiga0 [PRIME]
Hit any key to stop autoboot: 0
(Re)start USB...
USB: scanning bus for devices... 3 USB Device(s) found
scanning bus for storage devices... 1 Storage Device(s) found
....
.................................................................................................................................................................................................................................................................................

2851432 bytes read
## Booting image at 00800000 ...
Image Name: Linux-3.1.7-2-ARCH
Created: 2012-01-14 15:46:24 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2851368 Bytes = 2.7 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
OK

Starting kernel ...
Uncompressing Linux... done, booting the kernel.

Error: unrecognized/unsupported machine ID (r1 = 0x00000c20).

Available machine support:

ID (hex) NAME
00000690 Marvell DB-88F6281-BP Development Board
00000691 Marvell RD-88F6192-NAS Development Board
00000692 Marvell RD-88F6281 Reference Board
0000078c Marvell 88F6281 GTW GE Board
00000a76 Marvell eSATA SheevaPlug Reference Board
00000831 Marvell SheevaPlug Reference Board
00000a63 Marvell GuruPlug Reference Board
00000bb6 Seagate FreeAgent DockStar
00000c11 Seagate GoFlex Net
00000d0a Seagate GoFlex Home
00000b36 Iomega iConnect Wireless
00000f78 Pogoplug V4
0000085b QNAP TS-119/TS-219
000009c6 QNAP TS-41x
00000b44 Marvell OpenRD Ultimate Board
00000939 Marvell OpenRD Client Board
00000915 Marvell OpenRD Base Board
0000089a LaCie Network Space Max v2
000008a0 LaCie Internet Space v2
00000899 LaCie Network Space v2
0000089b LaCie d2 Network v2
0000089e LaCie 5Big Network v2
0000089c LaCie 2Big Network v2
00000b1e HP t5325 Thin Client

Please check your kernel config and/or bootloader.
')

It seams to me the kernel do not recognize the board, even if the arcNumber=3104 is Ok.
I tried to use only machid 690 instead of arcNumber but nones, the process stops at:
$this->bbcode_second_pass_code('', '
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
')

Some suggestions?
Last edited by WarheadsSE on Sat Mar 17, 2012 2:30 pm, edited 1 time in total.
Reason: CODE TAGS
icy6210
 
Posts: 9
Joined: Thu Mar 15, 2012 11:11 am

Re: icybox nas6210

Postby kmihelich » Thu Mar 15, 2012 10:00 pm

When you modify U-Boot variables, especially setting mainlineLinux to yes and a new arcNumber, make sure you saveenv and reset before trying to boot.

Also be sure you didn't 'setenv mainlineLinux=yes' as opposed to the correct 'setenv mainlineLinux yes'.. and the same with arcNumber. The former sets an empty variable, the latter sets the actual variable.
Arch Linux ARM exists and continues to grow through community support, please donate today!
kmihelich
Developer
 
Posts: 1133
Joined: Tue Jul 20, 2010 6:55 am
Location: aka leming #archlinuxarm

Re: icybox nas6210

Postby igorert » Fri Mar 16, 2012 6:03 am

arcNumber is set correctly according to the log above (0x00000c20 = 3140). The problem is the kernel version in the current alarm rootfs - support for nas6210 was added only in 3.1.10-2.

Until a new rootfs is built, I'd say your best chance is to manually put a newer kernel version onto your USB stick. Just grab it and unpack to the root of the USB stick that has your rootfs; you'll need to run depmod to load the kernel modules if you're lucky enough to make it boot ;)
igorert
 
Posts: 35
Joined: Sun Jun 26, 2011 5:31 pm
Location: aka chalkbag on irc

Done

Postby icy6210 » Sat Mar 17, 2012 1:35 am

Running Archlinux ARM from an usbstick on Icybox nas6210.
These are the steps I followed.

1 - Make a serial connection [follow this link for reaching the serial port on nas http://simon.baatz.info/raidsonic-icy-box-ib-nas6210-my-new-sheevaplug/ and these one for usb-serial cable http://buffalo.nas-central.org/wiki/Use_a_Nokia_Serial_Cable_on_an_ARM9_Linkstation
beware that if you use ca-42 cable, it has only 3 wires, so you should only connect GRND/RX/TX]

2 - Once serial connection is made, start the nas6210 and interrupt booting pressing a key.
In the prompt :
    setenv mainlineLinux yes
    setenv machid 690
    setenv arcNumber
**Best if arcNumber is empty, if you want to use one magic number use 2097 which is the magic number of Sheevaplug, any way with machid is enough. Maybe with the new kernel the number 3104 works (thanks igorert). **
    setenv bootargs_console console=ttys0,115200
    setenv bootargs_root 'root=/dev/sda1 rootdelay=10'
**You con use UUID or PARTUUID insted of /dev/sdx**
    setenv bootcmd_usb 'usb start; ext2load usb 0:1 0x6400000 /boot/uImage'
    setenv bootcmd 'setenv bootargs $(console) $(bootargs_root); run bootcmd_usb; bootm 0x6400000'
    saveenv

3 - Untar ArchLinuxARM-armv5te-latest.tar.gz on your usbkey [I used one partition ext2, if you make others, the boot partition has to be ext2]. Modify the file /etc/fstab for mounting your partitions and plug the key in the nas.

4 - Turn back to the console, type "reset" and watch Archlinux booting on the nas. I hope everything goes OK for you, my Icybox runs Archlinux following the steps above. When booting, you'll see error messages:
[ 32.532646] uncorrectable error :
[ 32.536174] end_request: I/O error, dev mtdblock0, sector 0
[ 32.541963] Buffer I/O error on device mtdblock0, logical block 0
...........
This messages refers that the machine can't boot from the original internal memory and doesn't affect Archlinux. You can tray to suppress this messages giving "setenv standalone".

Thanks to the team of Archlinux ARM for gave me Archlinux in the new context.

PS: Hope this post be understandable despite of my bad english.

Nolberto
icy6210
 
Posts: 9
Joined: Thu Mar 15, 2012 11:11 am

Re: icybox nas6210

Postby WarheadsSE » Sat Mar 17, 2012 2:34 am

Hopefully, it will be even easier with a new rootfs that includes the right kernel ;)
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Re: icybox nas6210

Postby icy6210 » Sat Mar 17, 2012 11:46 am

$this->bbcode_second_pass_quote('WarheadsSE', 'H')opefully, it will be even easier with a new rootfs that includes the right kernel ;)


Actually I have the new one after upgrading (pacman -Syu).
# uname -a
Linux jack 3.1.10-4-ARCH #1 PREEMPT Wed Feb 29 04:02:24 UTC 2012 armv5tel Feroceon 88FR131 rev 1 (v5l) Marvell DB-88F6281-BP Development Board GNU/Linux

I can't see differences though, the box is already closed, no serial connection available. Output of dmesg shows still the board complaining that can't boot from internal memory.
Freeing init memory: 172K
[ 32.522112] uncorrectable error :
[ 32.525437] uncorrectable error :
[ 32.528869] end_request: I/O error, dev mtdblock0, sector 0
[ 32.534649] Buffer I/O error on device mtdblock0, logical block 0
.................

With the hard disk in the box, the usbstick became sdb instead of sda, but having used PARTUUID for defining root partition everything goes OK.
icy6210
 
Posts: 9
Joined: Thu Mar 15, 2012 11:11 am

Re: icybox nas6210

Postby icy6210 » Tue Mar 20, 2012 6:57 pm

The problem is when I reboot the machine with the usb printer attached. It will not boot at all.
It seems that:
    setenv bootcmd_usb 'usb start; ext2load usb 0:1 0x6400000 /boot/uImage'
or
    setenv bootcmd_usb 'usb start; ext2load usb 0:1 0x0800000 /boot/uImage'
is not enough to find the kernel when there is more that one device on the hub.
Do you think using an uInitrd image resolve this problem?
By the way, someone knows what "0x6400000" or "0x0800000" mean?
icy6210
 
Posts: 9
Joined: Thu Mar 15, 2012 11:11 am

Re: icybox nas6210

Postby WarheadsSE » Tue Mar 20, 2012 8:26 pm

Those are the load addresses, usb 0:1 says usb device 0, partition 1
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm

Re: icybox nas6210

Postby icy6210 » Tue Mar 20, 2012 9:43 pm

$this->bbcode_second_pass_quote('WarheadsSE', 'T')hose are the load addresses, usb 0:1 says usb device 0, partition 1

Thanks WarheadsSE.
I mean in usb device 0, partition 1, what is 0x6400000 or 0x0800000 or 0x1100000.
icy6210
 
Posts: 9
Joined: Thu Mar 15, 2012 11:11 am

Re: icybox nas6210

Postby WarheadsSE » Tue Mar 20, 2012 10:37 pm

0xblahblahblah are load addresses, as in where to load the image to.

The commands basically reads in laymen as:
load from ext2 filesystem on usb 0, partition 1, to memory address 0x6400000 the file with the name of /boot/uImage
Core Developer
Remember: Arch Linux ARM is entirely community donation supported!
WarheadsSE
Developer
 
Posts: 6807
Joined: Mon Oct 18, 2010 2:12 pm


Return to [Please read announcement] Community-Supported Devices

Who is online

Users browsing this forum: No registered users and 5 guests