So, I managed to flash bodhi's uboot on my Seagate GoFLEX Home (from here) and it has no problem to boot off of an external USB memory stick. However, when I attached a SATA HDD (already formatted as an EXT4 filesystem, labeled with rootfs, and contains a root filesystem extracted from linux-4.15.2-kirkwood-tld-1-bodhi.tar.bz2) to the SATA port, it boots off the SATA port with its LED first flashes as green/yellow and then turns to remain a solid RED. At this point, I can't access it through an SSH login, i.e. no IP Address, etc. Again, it has no problem when boot off of an external USB memory stick even though both USB memory stick and SATA HDD are attached to the device. I also configured it with a netconsole to troubleshoot uBoot without a serial cable. When booting from a SATA HDD, the netconsole output shows it was loading DTB /boot/dts/kirkwood-pogo_e02.dtb. However, when booting off of an external USB memory stick, the netconsole output shows it was loading DTB /boot/dts/kirkwood-goflexhome.dtb (see below). I don't know why. Anyway, the fw_printenv dump is shown below and hope it will reveal what the problem is.
Net Console output (booting from SATA HDD):
Net Console output (booting from SATA HDD):
fw_prrintenv dump:
/boot/uEnv.txt on a SATA HDD:
/boot/uEnv.txt on a SATA HDD:
Net Console output (booting from SATA HDD):
U-Boot 2017.07-tld-1 (Sep 05 2017 - 00:21:31 -0700) Seagate GoFlex Home gcc (Debian 6.3.0-18) 6.3.0 20170516 GNU ld (GNU Binutils for Debian) 2.28 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: Bus 0: OK Bus 1: not available Device 0: Model: ST3000DM001-1ER166 Firm: CC26 Ser#: Z503WNB5 Type: Hard Disk Supports 48-bit addressing Capacity: 2861588.4 MB = 2794.5 GB (5860533168 x 512) 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 ** Partition Map for IDE device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00000800 0x004007ff "rootfs" attrs: 0x0000000000000000 type: 0fc63daf-8483-4772-8e79-3d69d8477de4 type: linux guid: d35fd06c-e4a9-4ac5-8ca0-882586ffd53f 2 0x00400800 0x008007ff "" attrs: 0x0000000000000000 type: 0fc63daf-8483-4772-8e79-3d69d8477de4 type: linux guid: db41d8bd-746b-4619-874f-14f7ed6025e8 3 0x00800800 0x00c007ff "" attrs: 0x0000000000000000 type: 0fc63daf-8483-4772-8e79-3d69d8477de4 type: linux guid: b948c24e-3521-414b-88aa-9770a5c65dbe 4 0x00c00800 0x010007ff "" attrs: 0x0000000000000000 type: 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f type: swap guid: 13145338-7ca2-44d5-b1fe-48d1baa02d23 5 0x01000800 0x15d50a38e "data" attrs: 0x0000000000000000 type: 0fc63daf-8483-4772-8e79-3d69d8477de4 type: linux guid: 111be5a6-ef54-4fee-a33c-01bc1c3e9ff8 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: Bus 0: OK Bus 1: not available Device 0: Model: ST3000DM001-1ER166 Firm: CC26 Ser#: Z503WNB5 Type: Hard Disk Supports 48-bit addressing Capacity: 2861588.4 MB = 2794.5 GB (5860533168 x 512) device ide 0:1 1 bytes read in 68 ms (0 Bytes/s) Found bootable drive on ide 0 loading uImage ... 3821592 bytes read in 1029 ms (3.5 MiB/s) loading uInitrd ... 7245696 bytes read in 1134 ms (6.1 MiB/s) loading DTB /boot/dts/kirkwood-pogo_e02.dtb ... 10444 bytes read in 111 ms (91.8 KiB/s) ## Booting kernel from Legacy Image at 00800000 ... Image Name: Linux-4.12.1-kirkwood-tld-1 Created: 2017-07-20 8:11:24 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3821528 Bytes = 3.6 MiB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK ## Loading init Ramdisk from Legacy Image at 01100000 ... Image Name: initramfs-4.12.1-kirkwood-tld-1 Created: 2017-07-24 0:18:23 UTC Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 7245632 Bytes = 6.9 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 01c00000 Booting using the fdt blob at 0x1c00000 Starting kernel ...
Net Console output (booting from SATA HDD):
U-Boot 2017.07-tld-1 (Sep 05 2017 - 00:21:31 -0700) Seagate GoFlex Home gcc (Debian 6.3.0-18) 6.3.0 20170516 GNU ld (GNU Binutils for Debian) 2.28 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) 1 Storage Device(s) found Reset IDE: Bus 0: OK Bus 1: not available Device 0: Model: ST3000DM001-1ER166 Firm: CC26 Ser#: Z503WNB5 Type: Hard Disk Supports 48-bit addressing Capacity: 2861588.4 MB = 2794.5 GB (5860533168 x 512) Unknown command 'mmc' - try 'help' Partition Map for USB device 0 -- Partition Type: DOS Part Start Sector Num Sectors UUID Type 1 2048 7800832 9415b7df-01 83 Boot ## 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 ... 139 bytes read in 753 ms (0 Bytes/s) Partition Map for IDE device 0 -- Partition Type: EFI Part Start LBA End LBA Name Attributes Type GUID Partition GUID 1 0x00000800 0x004007ff "rootfs" attrs: 0x0000000000000000 type: 0fc63daf-8483-4772-8e79-3d69d8477de4 type: linux guid: d35fd06c-e4a9-4ac5-8ca0-882586ffd53f 2 0x00400800 0x008007ff "" attrs: 0x0000000000000000 type: 0fc63daf-8483-4772-8e79-3d69d8477de4 type: linux guid: db41d8bd-746b-4619-874f-14f7ed6025e8 3 0x00800800 0x00c007ff "" attrs: 0x0000000000000000 type: 0fc63daf-8483-4772-8e79-3d69d8477de4 type: linux guid: b948c24e-3521-414b-88aa-9770a5c65dbe 4 0x00c00800 0x010007ff "" attrs: 0x0000000000000000 type: 0657fd6d-a4ab-43c4-84e5-0933c84b4f4f type: swap guid: 13145338-7ca2-44d5-b1fe-48d1baa02d23 5 0x01000800 0x15d50a38e "data" attrs: 0x0000000000000000 type: 0fc63daf-8483-4772-8e79-3d69d8477de4 type: linux guid: 111be5a6-ef54-4fee-a33c-01bc1c3e9ff8 Unknown command 'mmc' - try 'help' importing envs ... running scan_disk ... 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 ** device mmc 4:1 ** Bad device mmc 4 ** device mmc 5:1 ** Bad device mmc 5 ** device mmc 6:1 ** Bad device mmc 6 ** device mmc 7:1 ** Bad device mmc 7 ** Scan device usb device usb 0:1 1 bytes read in 692 ms (0 Bytes/s) Found bootable drive on usb 0 loading uImage ... 3821592 bytes read in 823 ms (4.4 MiB/s) loading uInitrd ... 7245696 bytes read in 820 ms (8.4 MiB/s) loading DTB /boot/dts/kirkwood-goflexhome.dtb ... 10603 bytes read in 3183 ms (2.9 KiB/s) ## Booting kernel from Legacy Image at 00800000 ... Image Name: Linux-4.12.1-kirkwood-tld-1 Created: 2017-07-20 8:11:24 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3821528 Bytes = 3.6 MiB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK ## Loading init Ramdisk from Legacy Image at 01100000 ... Image Name: initramfs-4.12.1-kirkwood-tld-1 Created: 2017-07-24 0:18:23 UTC Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 7245632 Bytes = 6.9 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 01c00000 Booting using the fdt blob at 0x1c00000 Starting kernel ...
fw_prrintenv dump:
[root@debian:/root 2%] # fw_printenv 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=run bootcmd_uenv; run scan_disk; run set_bootargs; run bootcmd_exec 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 ethact=egiga0 ethaddr=00:11:22:33:44:55:66 if_netconsole=ping $serverip ipaddr=192.168.0.231 led_error=orange blinking led_exit=green off led_init=green blinking dtb_file=/boot/dts/kirkwood-pogo_e02.dtb load_dtb_addr=0x1c00000 load_initrd_addr=0x1100000 load_uimage_addr=0x800000 load_dtb=echo loading DTB $dtb_file ...; load $bootdev $device $load_dtb_addr $dtb_file load_initrd=echo loading uInitrd ...; load $bootdev $device $load_initrd_addr /boot/uInitrd load_uimage=echo loading uImage ...; load $bootdev $device $load_uimage_addr /boot/uImage machid=0x831 mainlineLinux=yes mtdids=nand0=orion_nand mtdparts=mtdparts=orion_nand:1M(u-boot),4M(uImage),32M(rootfs),-(data) partition=nand0,2 preboot_nc=run if_netconsole start_netconsole 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 serverip=192.168.0.220 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_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 uenv_read=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 $uenv_addr /boot/uEnv.txt; then setenv uenv_loaded 1; fi usb_ready_retry=15 arcNumber=3338 [root@debian:/root 3%] #
/boot/uEnv.txt on a SATA HDD:
dtb_file=/boot/dts/kirkwood-goflexhome.dtb devices=usb ide disks=0 1 2 3 4 5 6 7
/boot/uEnv.txt on a SATA HDD:
dtb_file=/boot/dts/kirkwood-goflexhome.dtb devices=usb ide disks=0 1 2 3 4 5 6 7