Welcome! Log In Create A New Profile

Advanced

GoFlex Home, updated UBoot, not booting

Posted by Marcus 
GoFlex Home, updated UBoot, not booting
January 22, 2022 12:41PM
Hello from Germany,

great to have you here with your support and work!!
In fact, without these instructons here, I would have scraped the GFH these days.
So, I see a real benefit !!

As said, I have here an old GFH. It's been a long time ago, I had been using it with ArchLinux on an USBstick, but the stick is lost.
The stock firmware is EOL, so I want to switch to Debian with SMB or OMV.
In fact, I got the box running on (obviously modified) stock rom, but there was no 'apt..' or 'dpk' command available, so the instructions didn't seem to fit here.

So, my approch is to update UBoot, boot an actual debian from USBstick, and then update the rootfs in the mtdx of the box.
Major question: Is this a good idea??


In fact I already started:
I followed your installation guide for 2017.07 UBoot, almost succesfully:
- On my box 'cat /proc/mtd' gave me NO "mtd3 ... data". So, I did know what to add as "mtdparts" in the UBoot enviroment
- I am not sure what else I have to set in the UBoot environment, to make it boot again.

With my serial cable, I can now witness the new Uboot, but it doesn't boot the onboard linux any more.

My result (without any USB or SATA drive):
U-Boot 2017.07-tld-1 (Sep 05 2017 - 00:21:31 -0700)
Seagate GoFlex Home

SoC:   Kirkwood 88F6281_A1
DRAM:  128 MiB
WARNING: Caches not enabled
NAND:  256 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
88E1116 Initialized on egiga0
Hit any key to stop autoboot:  0
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found

Reset IDE: ide_preinit failed
Unknown command 'mmc' - try 'help'
## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0

## Unknown partition table type 0
loading envs from usb 0 ...
** Bad device usb 0 **

no IDE devices available
Unknown command 'mmc' - try 'help'
running scan_disk ...
Scan device usb
device usb 0:1
** Bad device usb 0 **
device usb 1:1
** Bad device usb 1 **
device usb 2:1
** Bad device usb 2 **
device usb 3:1
** Bad device usb 3 **
Scan device ide

Reset IDE: ide_preinit failed
device ide 0:1
** Bad device ide 0 **
device ide 1:1
** Bad device ide 1 **
device ide 2:1
** Bad device ide 2 **
device ide 3:1
** Bad device ide 3 **
Scan device mmc
Unknown command 'mmc' - try 'help'
device mmc 0:1
** Bad device mmc 0 **
device mmc 1:1
** Bad device mmc 1 **
device mmc 2:1
** Bad device mmc 2 **
device mmc 3:1
** Bad device mmc 3 **
loading uImage ...
** Bad device usb 0 **
loading uInitrd ...
** Bad device usb 0 **
loading DTB /boot/dts/kirkwood-goflexhome.dtb ...
** Bad device usb 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!
GoFlexHome>


My Uboot-enviroment:
GoFlexHome> printenv
arcNumber=3338
bootargs=console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
bootcmd=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec
bootcmd_exec=run load_uimage; if run load_initrd; then if run load_dtb; then bootm $load_uimage_addr $load_initrd_addr $load_dtb_addr; else bootm $load_uimage_addr $load_initrd_addr; fi; else if run load_dtb; then bootm $load_uimage_addr - $load_dtb_addr; else bootm $load_uimage_addr; fi; fi
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootdelay=10
bootdev=usb
device=0:1
devices=usb ide mmc
disks=0 1 2 3
dtb_file=/boot/dts/kirkwood-goflexhome.dtb
ethact=egiga0
ethaddr=00:10:75:2A:6B:34
if_netconsole=ping $serverip
init_ide=ide reset
init_mmc=mmc rescan
init_usb=usb start
led_error=orange blinking
led_exit=green off
led_init=green blinking
load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file
load_dtb_addr=0x1c00000
load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd
load_initrd_addr=0x1100000
load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage
load_uimage_addr=0x800000
machid=0x831
mainlineLinux=yes
mtdids=nand0=orion_nand
mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data)
partition=nand0,2
scan_disk=echo running scan_disk ...; scan_done=0; setenv scan_usb "usb start";  setenv scan_ide "ide reset";  setenv scan_mmc "mmc rescan"; for dev in $devices; do if test $scan_done -eq 0; then echo Scan device $dev; run scan_$dev; for disknum in $disks; do if test $scan_done -eq 0; then echo device $dev $disknum:1; if load $dev $disknum:1 $load_uimage_addr /boot/uImage 1; then scan_done=1; echo Found bootable drive on $dev $disknum; setenv device $disknum:1; setenv bootdev $dev; fi; fi; done; fi; done
scan_ide=ide reset
scan_mmc=mmc rescan
scan_usb=usb start
set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 $mtdparts $custom_params
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version;
stderr=serial
stdin=serial
stdout=serial
uenv_addr=0x810000
uenv_import=echo importing envs ...; env import -t $uenv_addr $filesize
uenv_init_devices=setenv init_usb "usb start";  setenv init_ide "ide reset";  setenv init_mmc "mmc rescan"; for devtype in $devices; do run init_$devtype; done;
uenv_load=run uenv_init_devices; setenv uenv_loaded 0; for devtype in $devices;  do for disknum in 0; do run uenv_read_disk; done; done;
uenv_loaded=0
uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; fi
uenv_read_disk=if test $devtype -eq mmc; then if $devtype part; then run uenv_read;  fi; else if $devtype part $disknum; then run uenv_read; fi;  fi
usb_ready_retry=15

Environment size: 3035/131068 bytes

I am trying to create a usbstick from 4.12.1 Debian, but I don't know how to do it.
I find no instruction or image for that.

I already formated a stick to ext3, with one partition, made it primary, named it 'roofs' and COPIED the contents of the 4.12.1-.. tar-package to its root.
But uboot doesn't find the rootfs on it either, it seams.
U-Boot 2017.07-tld-1 (Sep 05 2017 - 00:21:31 -0700)
Seagate GoFlex Home

SoC:   Kirkwood 88F6281_A1
DRAM:  128 MiB
WARNING: Caches not enabled
NAND:  256 MiB
In:    serial
Out:   serial
Err:   serial
Net:   egiga0
88E1116 Initialized on egiga0
Hit any key to stop autoboot:  0
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices...
Use USB retry period from the environment: 15 second(s)
** First descriptor is NOT a primary desc on 0:1 **
1 Storage Device(s) found

Reset IDE: ide_preinit failed
Unknown command 'mmc' - try 'help'
## Unknown partition table type 0

...

loading envs from usb 0 ...
** No partition table - usb 0 **

no IDE devices available
Unknown command 'mmc' - try 'help'
running scan_disk ...
Scan device usb
device usb 0:1
** No partition table - usb 0 **
device usb 1:1
** Bad device usb 1 **
device usb 2:1
** Bad device usb 2 **
device usb 3:1
** Bad device usb 3 **
Scan device ide

Reset IDE: ide_preinit failed

...

** No partition table - usb 0 **
loading uInitrd ...
** No partition table - usb 0 **
loading DTB /boot/dts/kirkwood-goflexhome.dtb ...
** No partition table - usb 0 **
Wrong Image Format for bootm command
ERROR: can't get kernel image!

Any help is highly appiciated!!
Thanks a lot!

Marcus



Edited 4 time(s). Last edit at 01/22/2022 01:05PM by Marcus.
Re: GoFlex Home, updated UBoot, not booting
January 22, 2022 04:54PM
Marcus,

Create the USB rootfs using the tarball Debian-5.13.6-kirkwood-tld-1-rootfs-bodhi.tar.bz2 from my release thread:

https://forum.doozan.com/read.php?2,12096

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: GoFlex Home, updated UBoot, not booting
January 23, 2022 01:15AM
Hi Bodhi,

Thanks for your advice!
That's exactly what I was trying to do.

Yes, I read those instructions several times, but how can I create a bootable USB-stick with those instructions, as the GFH doesn't boot to any OS?

I don't see how I can do that on a different machine, like my raspi.
Update:
Just tried it on my raspi - it fails at step 3 - as almost expected - but was worth a try:
apt-get remove flash-kernel     
--> flash-kernel not installed 
dpkg -i linux-image-5.15.5-kirkwood-tld-1_1.0_armel.deb  
--> package architecture does not fit to the system

Again, is there an image available for the GFH.
In fact, I don't even know, why my new Uboot is not even booting the OS from NAND anymore...

Many thanks anyway



Edited 3 time(s). Last edit at 01/23/2022 03:02AM by Marcus.
Re: GoFlex Home, updated UBoot, not booting
January 23, 2022 05:13AM
Hello, me again!

Meanwhile...

I managed to create a working USB-drive following these instructions, starting from part 2.
The stick booted like charm! Yubi!

Now I updated to 5.15.5 based on your great instruction without obstacle!

Many thanks!

Marcus
Re: GoFlex Home, updated UBoot, not booting
January 23, 2022 03:13PM
Marcus,

> I managed to create a working USB-drive following
> these
> instructions, starting from part 2.
> The stick booted like charm! Yubi!

You did not read the instruction carefully in your previous attempt to create the rootfs :) The release thread said

Quote

Note: If this is your first time installation, then you only need rootfs Debian-5.13.6-kirkwood-tld-1-rootfs-bodhi.tar.bz2 (this has kernel linux-5.13.6-kirkwood-tld-1 already installed). Please scroll down to 26 Sept 2021 section for download link and installation instruction.



Scroll down to section dated: Updated 26 Sept 2021

Quote

Updated 26 Sept 2021:

Basic Debian bullseye Kirkwood rootfs for most Kirwood plugs:

- tarball size: 234M
- install size: 668M
- The init system used in this rootfs is sysvinit . To boot with systemd, see Notes below.
- Installed packages: nano, avahi, ntp, busybox-syslogd (log to RAM), htop, isc-dhcp-client, dialog, bzip2, nfs server/client, iperf, ethtool, sysvinit-core, sysvinit, sysvinit-utils, u-boot-tools, and mtd-utils.
- see LED controls examples in /etc/rc.local, and /etc/init.d/halt
- see some useful aliases in /root/.profile
- root password: root


> Now I updated to 5.15.5 based on
> your
> great instruction
without obstacle!

Now you upgrade to the latest kernel so that is up top.

Quote

Updated 01 Dec 2021:

Kernel linux-5.15.5-kirkwood-tld-1 package has been uploaded. The following features were added/updated:

- General kernel upgrade
- NTFS3 (as kernel loadable module)
- SMB_SERVER (as kernel loadable module)

And latest U-Boot installation instruction is in this release thread

https://forum.doozan.com/read.php?3,12381

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 01/23/2022 03:14PM by bodhi.
Re: GoFlex Home, updated UBoot, not booting
January 23, 2022 06:27PM
BTW, Roland blog post instruction is a copy of the instruction I have here, which I don't mind.

But in the attempt to simplify, Roland omitted some important information :)

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 2 time(s). Last edit at 01/25/2022 04:07AM by bodhi.
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: