Brandnew to the arm architecture I seem to have not fully understand the hacking procedure which lead to a broken Seagate GoFlex Home. Let me describe some steps to make you understand the current situation of my device:
I followed the uboot install instructions found at several dockstar and goflex pages I had googled prior.
- sshd to the device, killed some procedures, chmoded -x some executables, wget uInitrd and ubit_start
- executing ubit_start which said:
"Entering UBIT environment
No valid U-Boot environment exists.
You need to reboot once to let U-Boot set its default environment
before the ethaddr setting can be updated, either directly or
with a cached value.
To cache a value, run:
ethaddr uu:vv:ww:xx:yy:zz
UBIT v0.6 by peaslaker 2010.11-00125-ga21bcca"
(no reboot I had done at this time, because I hadn't understood the nescessarity why)
ubit0-7:~# uboot_uptodate
Existing firmware identified as matching: /usr/share/ubit/original/goflexhome.kwb.md5
UBIT:bl: u-boot checksum did not match.
Writing latest goflexhome firmware to /dev/mtd0
0+1 records in
1+0 records out
UBIT:bl: /usr/share/ubit/firmware/goflexhome.kwb checksum 24a6be4b581bffb170062f3b6f99e703 -
Erase Total 4 Units
Performing Flash Erase of length 131072 at offset 0x60000 done
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 2 at offset 0x40000
Writing data to block 3 at offset 0x60000
0+1 records in
1+0 records out
Writing data to block 4 at offset 0x80000
UBIT:bl: u-boot checksum match OK.
ubit0-7:~# chain_install goflexhome
UBIT.CHAIN:goflexhome
UBIT.CHAIN:/usr/share/ubit/original/goflexhome.kwb writing to 0x380000 of /dev/mtd1
1+0 records in
1+0 records out
UBIT:bl: /usr/share/ubit/original/goflexhome.kwb checksum 9b940e0b3b5a523f8b50ef0fa50af97f -
Erase Total 4 Units
Performing Flash Erase of length 131072 at offset 0x3e0000 done
Writing data to block 28 at offset 0x380000
Writing data to block 29 at offset 0x3a0000
Writing data to block 30 at offset 0x3c0000
Writing data to block 31 at offset 0x3e0000
1+0 records in
1+0 records out
Writing data to block 32 at offset 0x400000
UBIT:bl: u-boot checksum match OK.
ubit0-7:~# uboot_install goflexhome
UBIT:bl: u-boot checksum match OK.
The requested image was not installed.
(Later on I found I had executed the commands at the wrong order. The last, uboot_install goflexhome should be the first, I hope it is alright though because it says OK. Right?)
ubit0-7:~# exit
I felt unsafe at this point, so I tried install_uboot_mtd0.sh but it said:
"This installer will only work on the following devices:
Seagate GoFlex Net
Seagate Dockstar
Pogoplug v1
Pogoplug Pink
Do not run this installer on any other device."
So I ^C it. I wonder if I could have used it successfully...
I decided to work on Quick and Dirty Debian -> Goflex home/net to get the debian system on my usb flashpen.
This was lucky.
Thereafter I returned to uboot environment and enabled the mac address and the netconsole with instructions from pages I had googled before.
I thought now is a good time to reboot, because I didn't know that I have to place more environment variables to uboot.
Indeed I still don't know what is essentially nescessary .
The netconsole worked, it showed the device is searching a tftp server, which I have at my lan.
I ordered my dhcpd to offer uImage, which was a success shown by the netconsole, but the prepared debian system stayed untouched, unmounted. I knew, the initrd was indeed missing and silly me did the following: I concatenated the uInitrd to uImage and since then after reboot, I seem to have bricked my device totally.
I was assuming I could do no wrong as the kernel file would reside in ram but later on I figured out, this is not true, it is written to /dev/mtd0, right?.
Since then netconsole only shows:
"U-Boot 2010.09 (Feb 16 2011 - 18:44:23)
UBIT v0.6 by Jeff Doozan and Peter Carmichael
Hit any key to stop autoboot: 10..0"
Then all is silent, no Marvel>> Console, no uImage boot messages.
Do you think that I have access to the device if I break it open and solder the proposed serial to usb cable, so that I can do something at it to e. g. nandwrite back from the backup I had made at first or finish the uboot installation procedure successfully?
[Update]
The other day I found out that my Goflex Home boots into a limited ubit shell. There I repeated installing by using "uboot_install goflexhome", "chain_install goflexhome" and also tried "install_uboot_mtd0.sh" but the latter was refusing to work (sed binary was missing).
After reboot I noticed that after my Goflex Home was receiving a dhcp IP address, it was asking for a nfs mount of "/usr/src/pladde", so I mounted my prepared Debian Linux usb stick at my host, exported it via nfs and after a reboot of my Goflex Home, it was happily booting Debian from there.
SSHing to it and using install_uboot_mtd0.sh this time was a success. Now my Goflex Home boots Debian from usb-stick.
Edited 1 time(s). Last edit at 08/23/2011 09:31AM by killerhippy.