Welcome! Log In Create A New Profile

Advanced

U-Boot 2015.10 for Iomega HMNHDCE

Posted by mari8b 
Re: U-Boot 2015.10 for Iomega HMNHDCE
July 22, 2019 09:52AM
Hi bodhi!

I did all what you instructed. my ls -larth /mnt/boot output is:

total 8.3M
-rwxr-xr-x  1 root root  16K Dec 31  1969 u-boot.env
drwxr-xr-x  2 root root 4.0K Aug  3  2014 dts
-rwxr-xr-x  1 root root  32K Aug  3  2014 u-boot-spl.bin
-rw-r--r--  1 root root 514K Aug  3  2014 u-boot.img
-rw-r--r--  1 root root 2.2M Aug  3  2014 uImage_2.6.31.14_OX820_1.2_shv.Pro
-rw-r--r--  1 root root 3.6M Aug  3  2014 uImage
-rw-r--r--  1 root root 2.1M Aug  3  2014 uInitrd
drwxr-xr-x  3 root root 4.0K Aug  3  2014 .
drwxr-xr-x 23 root root 4.0K Jul 22 10:17 ..

and my boot is:

U-Boot SPL 2013.10-g3a0f380-dirty (Jul 26 2014 - 14:31:34)
  Boot device: SATA
Attempting to set PLLA to 850 MHz ...
  plla_ctrl0 : 0000020a
  plla_ctrl1 : 00330000
  plla_ctrl2 : 0065008b
  plla_ctrl3 : 000000f1

PLLA Set
Bus 0: OK
  Device 0:
** File not found /boot/bootargs.bin **


U-Boot 2013.10-g3a0f380-dirty (Jul 26 2014 - 10:18:57) for OXNAS

DRAM:  128 MiB
IDE:   Bus 0: OK
  Device 0: Model: WDC WD800JD-75MSA3 Firm: 10.01E04 Ser#:  WD-WMAM9AR84678
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 76293.9 MB = 74.5 GB (156250000 x 512)
NAND:  16 MiB
In:    serial
Out:   serial
Err:   serial
Net:
Led:    GREEN
mii0
Main Loop
Hit any key to stop autoboot:  3 ^H^H^H 0
OX820 # setenv uinitrd_addr '0x60e00000'
OX820 # setenv uimage_addr '0x60500000'
OX820 # setenv dtb_addr '0x62c00000'
OX820 # setenv ide_set_bootargs 'setenv bootargs console=ttyS0,115200 root=/dev/sda1 rootdelay=10'
OX820 # setenv dt_bootm 'bootm $uimage_addr $uinitrd_addr $dtb_addr'
OX820 # setenv dt_load_dtb 'ext2load ide 0:1 $dtb_addr /boot/dts/ox820-pogoplug-pro.dtb'
OX820 # setenv dt_load_initrd 'ext2load ide 0:1 $uinitrd_addr /boot/uInitrd'
OX820 # setenv dt_load_uimage 'ext2load ide 0:1 $uimage_addr /boot/uImage'
OX820 # setenv dt_ide_boot 'run dt_load_uimage; run dt_load_initrd; run dt_load_dtb; run dt_bootm'
OX820 # setenv dt_ide_bootcmd 'run ide_set_bootargs; run dt_ide_boot'
OX820 # setenv dt_bootcmd_ide 'ide reset; run dt_ide_bootcmd; reset'
OX820 # setenv bootcmd 'run dt_bootcmd_ide'
OX820 # boot

Reset IDE: Bus 0: OK
  Device 0: Model: WDC WD800JD-75MSA3 Firm: 10.01E04 Ser#:  WD-WMAM9AR84678
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 76293.9 MB = 74.5 GB (156250000 x 512)
3676848 bytes read in 830 ms (4.2 MiB/s)
2103272 bytes read in 463 ms (4.3 MiB/s)
7029 bytes read in 28 ms (245.1 KiB/s)
## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-3.12.13-oxnas-tld-5
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3676784 Bytes = 3.5 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... Bad Data CRC

Led:    ORANGE (Failed)

and this output without seting environment:

U-Boot SPL 2013.10-g3a0f380-dirty (Jul 26 2014 - 14:31:34)
  Boot device: SATA
Attempting to set PLLA to 850 MHz ...
  plla_ctrl0 : 0000020a
  plla_ctrl1 : 00330000
  plla_ctrl2 : 0065008b
  plla_ctrl3 : 000000f1

PLLA Set
Bus 0: OK
  Device 0:
** File not found /boot/bootargs.bin **


U-Boot 2013.10-g3a0f380-dirty (Jul 26 2014 - 10:18:57) for OXNAS

DRAM:  128 MiB   
IDE:   Bus 0: OK 
  Device 0: Model: WDC WD800JD-75MSA3 Firm: 10.01E04 Ser#:  WD-WMAM9AR84678
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 76293.9 MB = 74.5 GB (156250000 x 512)
NAND:  16 MiB
In:    serial
Out:   serial
Err:   serial
Net:
Led:    GREEN
mii0
Main Loop
Hit any key to stop autoboot:  0
ide - IDE sub-system

Usage:
ide reset - reset IDE controller
ide info  - show available IDE devices
ide device [dev] - show or set current device
ide part [dev] - print partition table of one or all IDE devices
ide read  addr blk# cnt
ide write addr blk# cnt - read/write `cnt' blocks starting at block `blk#'
    to/from memory address `addr'
2212156 bytes read in 500 ms (4.2 MiB/s)
## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-2.6.31.14_OX820_1.2_shv
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2212092 Bytes = 2.1 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK

Led:    GREEN

Starting kernel ...

Uncompressing Linux.......................................................................................................................................

crc error

 -- System halted
Do you think I should try spl fo pogoplug classic? If so could you please give me a link (I can't find it anywhere in the forum).
And can you please give me direction how I can compile 1st stage, 2nd stage and all uboot things myself. I see so many devices have very good uboot updates, but poor iomega HMNHDCE is a red headed cousin nobody wants to play with ;)) but I think iomega HMNHDCE is better than pogoplug (more ram, housing for 3.5 hdd, now nand under the hood (16Gb maby), and I've installed fan (fan speed control coming soon), wi-fi and bluetooth can be on usb, and more)

I found the way how to compile u-boot.env from *.txt. Could you please give example for simple environment settings to boot to sata/usb. From there I'll go for unbriking nand tutorial.

thank you!



Edited 3 time(s). Last edit at 07/22/2019 12:44PM by sobir.
Re: U-Boot 2015.10 for Iomega HMNHDCE
July 23, 2019 05:19AM
sobir,

> Do you think I should try spl fo pogoplug classic?

No, that's no the problem.

> If so could you please give me a link (I can't
> find it anywhere in the forum).
> And can you please give me direction how I can
> compile 1st stage, 2nd stage and all uboot things
> myself.

I don't have any written instruction for this.

Your file system seems to shows problem.

On disk it is 3.6M
-rw-r--r--  1 root root 3.6M Aug  3  2014 uImage

While it is loading it is 3.5M
## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-3.12.13-oxnas-tld-5
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    3676784 Bytes = 3.5 MiB
   Load Address: 60008000

===

What I would suggest is:

- Create 2 partitions on you HDD.
- Format both as Ext3.
- Going through the same procedure for boot with SPL and u-boot on HDD using sda1.
- As root user, extract Debian-4.4.54-oxnas-tld-1-rootfs-bodhi.tar.bz2 from the release thread to sda2.

And then adjust the boot envs as followed:

OX820 # setenv uinitrd_addr '0x60e00000'
OX820 # setenv uimage_addr '0x60500000'
OX820 # setenv dtb_addr '0x62c00000'
OX820 # setenv ide_set_bootargs 'setenv bootargs console=ttyS0,115200 root=/dev/sda2 rootdelay=10'

OX820 # setenv dt_bootm 'bootm $uimage_addr $uinitrd_addr $dtb_addr'

OX820 # setenv dt_load_dtb 'ext2load ide 0:2 $dtb_addr /boot/dts/ox820-pogoplug-pro.dtb'
OX820 # setenv dt_load_initrd 'ext2load ide 0:2 $uinitrd_addr /boot/uInitrd'
OX820 # setenv dt_load_uimage 'ext2load ide 0:2 $uimage_addr /boot/uImage'

OX820 # setenv dt_ide_boot 'run dt_load_uimage; run dt_load_initrd; run dt_load_dtb; run dt_bootm'
OX820 # setenv dt_ide_bootcmd 'run ide_set_bootargs; run dt_ide_boot'
OX820 # setenv dt_bootcmd_ide 'ide reset; run dt_ide_bootcmd; reset'
OX820 # setenv bootcmd 'run dt_bootcmd_ide'

And then try booting with it. Once it can boot into the rootfs Debian-4.4.54-oxnas-tld-1-rootfs-bodhi.tar.bz2, we can further refine the envs to make it more robust.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: U-Boot 2015.10 for Iomega HMNHDCE
July 23, 2019 04:30PM
Hi bodhi!

here is the result:

U-Boot SPL 2013.10-g3a0f380-dirty (Jul 26 2014 - 14:31:34)
  Boot device: SATA
Attempting to set PLLA to 850 MHz ...
  plla_ctrl0 : 0000020a
  plla_ctrl1 : 00330000
  plla_ctrl2 : 0065008b
  plla_ctrl3 : 000000f1

PLLA Set
Bus 0: OK
  Device 0:
** File not found /boot/bootargs.bin **


U-Boot 2013.10-g3a0f380-dirty (Jul 26 2014 - 10:18:57) for OXNAS

DRAM:  128 MiB
IDE:   Bus 0: OK
  Device 0: Model: WDC WD800JD-75MSA3 Firm: 10.01E04 Ser#:  WD-WMAM9AR84678
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 76293.9 MB = 74.5 GB (156250000 x 512)
NAND:  16 MiB
In:    serial
Out:   serial
Err:   serial
Net:
Led:    GREEN
mii0
Main Loop
Hit any key to stop autoboot:  0
OX820 # setenv uinitrd_addr '0x60e00000'
OX820 # setenv uimage_addr '0x60500000'
OX820 # setenv dtb_addr '0x62c00000'
OX820 # setenv ide_set_bootargs 'setenv bootargs console=ttyS0,115200 root=/dev/sda2 rootdelay=10'
OX820 # setenv dt_bootm 'bootm $uimage_addr $uinitrd_addr $dtb_addr'
OX820 # setenv dt_load_dtb 'ext2load ide 0:2 $dtb_addr /boot/dts/ox820-pogoplug-pro.dtb'
OX820 # setenv dt_load_initrd 'ext2load ide 0:2 $uinitrd_addr /boot/uInitrd'
OX820 # setenv dt_load_uimage 'ext2load ide 0:2 $uimage_addr /boot/uImage'
OX820 # setenv dt_ide_boot 'run dt_load_uimage; run dt_load_initrd; run dt_load_dtb; run dt_bootm'
OX820 # setenv dt_ide_bootcmd 'run ide_set_bootargs; run dt_ide_boot'
OX820 # setenv dt_bootcmd_ide 'ide reset; run dt_ide_bootcmd; reset'
OX820 # setenv bootcmd 'run dt_bootcmd_ide'
OX820 # boot
Reset IDE: Bus 0: OK
  Device 0: Model: WDC WD800JD-75MSA3 Firm: 10.01E04 Ser#:  WD-WMAM9AR84678
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 76293.9 MB = 74.5 GB (156250000 x 512)
4621824 bytes read in 1025 ms (4.3 MiB/s)
4594376 bytes read in 1025 ms (4.3 MiB/s)
7067 bytes read in 35 ms (196.3 KiB/s)
## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-4.4.54-oxnas-tld-1
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4621760 Bytes = 4.4 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 60e00000 ...
   Image Name:   initramfs-4.4.54-oxnas-tld-1
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    4594312 Bytes = 4.4 MiB
   Load Address: 60000000
   Entry Point:  60000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 62c00000
   Booting using the fdt blob at 0x62c00000
   Loading Kernel Image ... OK
   Loading Ramdisk to 679c6000, end 67e27a88 ... OK
   Loading Device Tree to 679c1000, end 679c5b9a ... OK

Led:    GREEN

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

Error: unrecognized/unsupported processor variant (0x410fb025).

I also have one more question. I accidentally disconnected anothe hdd while dd zeroing was in process. Now gpt partition table is not recognized by iomega and no boot, although my linux PC have no problems recognizing evrything. How to unbrick hdd? I remade gpt label many times, no luck. Ironically oldzeus's uboot works fine on this hdd.

U-Boot SPL 2013.10-g3a0f380-dirty (Jul 26 2014 - 14:31:34)
  Boot device: SATA
Attempting to set PLLA to 850 MHz ...
  plla_ctrl0 : 0000020a
  plla_ctrl1 : 00330000
  plla_ctrl2 : 0065008b
  plla_ctrl3 : 000000f1

PLLA Set
Bus 0: OK 
  Device 0: 
GPT: last_usable_lba incorrect: 15D50A38E > 5D50A3B0
get_partition_info_efi: *** ERROR: Invalid GPT ***
** Partition 1 not valid on device 0 **
### ERROR ### Please RESET the board ###


Thank you!



Edited 2 time(s). Last edit at 07/23/2019 10:57PM by sobir.
Re: U-Boot 2015.10 for Iomega HMNHDCE
July 24, 2019 11:38PM
sobir,

Try booting with whatever DTB olderzeus used for this box.

https://github.com/olderzeus/Iomega-HMNHDCE

The Pogo Pro DTB might not be the correct one. So replace it with one you can find from olderzeus's GitHub.
OX820 # setenv dt_load_dtb 'ext2load ide 0:2 $dtb_addr /boot/dts/ox820-pogoplug-pro.dtb'

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: U-Boot 2015.10 for Iomega HMNHDCE
July 24, 2019 11:40PM
Hi bodhi!
I found this
Quote
Openwrt
no PCIe on OX820/NAS7820, 1x PCIe on OX821/NAS7821, 2x PCIe on NAS7825
so conclusion is pogoplug pro has oxnas7821 cpu and iomega HMNHDCE, pogoplug v3 and ZyXEL NSA-212 / MitraStra STG-212 are oxnas7820 cpu. I have to try pogoplug-classic



Edited 4 time(s). Last edit at 07/25/2019 02:10AM by sobir.
Re: U-Boot 2015.10 for Iomega HMNHDCE
July 25, 2019 03:25AM
sobir,

> I have to try
> pogoplug-classic

That's correct.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: U-Boot 2015.10 for Iomega HMNHDCE
July 25, 2019 04:23AM
So to try, change this env:

setenv dt_load_dtb 'ext2load ide 0:2 $dtb_addr /boot/dts/ox820-pogoplug-classic.dtb'

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: U-Boot 2015.10 for Iomega HMNHDCE
July 26, 2019 11:10AM
Hi bodhi!
I tried with ox820-pogoplug-classic.dtb no luck, same thing. I'll try with oldzeus's dtb which, I suspect, is file named u-boot.md.wrapped? If no luck there then I will contact openwrt and willing to donate them my board so they can compile all u-boot needed.

By the way I always have checksum verification failing with
setenv uinitrd_addr '0x60e00000'
setenv uimage_addr '0x60500000'
setenv dtb_addr '0x62c00000'
setenv ide_set_bootargs 'setenv bootargs console=ttyS0,115200 root=/dev/sda2 rootdelay=10'
setenv dt_bootm 'bootm $uimage_addr $uinitrd_addr $dtb_addr'
setenv dt_load_dtb 'ext2load ide 0:2 $dtb_addr /boot/dts/ox820-pogoplug-classic.dtb'
setenv dt_load_initrd 'ext2load ide 0:2 $uinitrd_addr /boot/uInitrd'
setenv dt_load_uimage 'ext2load ide 0:2 $uimage_addr /boot/uImage'
setenv dt_ide_boot 'run dt_load_uimage; run dt_load_initrd; run dt_load_dtb; run dt_bootm'
setenv dt_ide_bootcmd 'run ide_set_bootargs; run dt_ide_boot'
setenv dt_bootcmd_ide 'ide reset; run dt_ide_bootcmd; reset'
setenv bootcmd 'run dt_bootcmd_ide'

But if I skip addressation and just use this
setenv ide_set_bootargs 'setenv bootargs console=ttyS0,115200 root=/dev/sda2 rootdelay=10'
setenv dt_load_dtb 'ext2load ide 0:2 $dtb_addr /boot/dts/ox820-pogoplug-classic.dtb'
setenv dt_load_initrd 'ext2load ide 0:2 $uinitrd_addr /boot/uInitrd'
setenv dt_load_uimage 'ext2load ide 0:2 $uimage_addr /boot/uImage'
setenv dt_ide_boot 'run dt_load_uimage; run dt_load_initrd; run dt_load_dtb; run dt_bootm'
setenv dt_ide_bootcmd 'run ide_set_bootargs; run dt_ide_boot'
setenv dt_bootcmd_ide 'ide reset; run dt_ide_bootcmd; reset'
setenv bootcmd 'run dt_bootcmd_ide'
checksum verification is Ok. I think different memory chip configuration and different gpio connection on processor makes u-boot addressation confused. What makes me think that I definitely need spl from openwrt guys specific to iomega HMNHDCE board.
Anyway thank you bodhi for your support and help.
If you can give me hint how to and who to contact in openwrt so I could ship my device to.
Thank you again!



Edited 1 time(s). Last edit at 07/26/2019 11:11AM by sobir.
Re: U-Boot 2015.10 for Iomega HMNHDCE
July 26, 2019 11:50AM
sobir,

> If you can give me hint how to and who to contact
> in openwrt so I could ship my device to.

I don't have any OpenWrt contact. I guess you can try their website.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 06, 2021 05:23AM
bodhi Wrote:
-------------------------------------------------------
> mari8b Wrote:
> -------------------------------------------------------
> > I think, I'm starting to understand...
> >
> > There's no NAND flash on the Iomega Home Media
> CE
> > (HMNHDCE). Everything (including U-boot) is
> > written on the HDD. So if I understand it
> right,
> > there's no need for MTD partitions support...
> >
> > Description of the first 32MB of the HDD:
> >
> > start/sector		size		content
> > 0			512		Legacy MBR
> > 1			1536		GPT Partition table
> > 34			8736		Stage-1 Bootloader
> > 154			103552		U-Boot
> > 558			At least 608	U-Boot environment
> > 1290			2189216		uImage kernel
> > 16674			2787216		uImage initrd
> > 57080			5		0x69 0xD3 0xAB 0x52 0x31
> > 					unknown - not Serial number, not the MAC
> > address, same on all devices
> > 57088			4640		Stage-1 Bootloader (2nd copy)
> > 57208			103568		U-Boot (2nd copy)
> > 58344			2189216		uImage kernel (2nd copy)
> > 
> >
> >
> > Here is the code to write everything needed to
> the
> > first 32MB:
> >
> > 	dd if=bootrom.wrapped of=$1 bs=512
> > 	dd if=stage1.wrapped of=$1 seek=34
> > 	dd if=u-boot.sd.wrapped of=$1 seek=154
> > 	dd if=u-boot.sd.env of=$1 seek=558
> > 	dd if=uImage.wrapped of=$1 seek=1290
> > 	dd if=initrd.wrapped of=$1 seek=16674
> > 	dd if=serial.warpped of=$1 seek=57080
> > 	dd if=stage1.wrapped of=$1 seek=57088
> > 	dd if=u-boot.sd.wrapped of=$1 seek=57208
> > 	dd if=uImage.wrapped of=$1 seek=58344
> >
> >
> > So how did DaveP do it with the new U-boot?
>
>
> 34			8736		Stage-1 Bootloader
> 154			103552		U-Boot
> 558			At least 608	U-Boot environment
>
>
> My guess is DaveP flashed (using dd):
>
> - SPL image to Stage-1 Bootloader
> - new u-boot image to U-Boot
> - new u-boot env image to U-Boot environment
>
> But that is only an educated guess. That's what I
> would do if I have serial console and not afraid
> of bricking the box, and have cloned the HDD to
> another HDD as backup.


Hi bohdi, I resume this old but very interesting discussion you had with mari8b about the Iomega Home Media device.
I flashed the olderzeus u-boot and kernel into the first 32MB of HDD and it works well but unfortunately it's a very old kernel (2.6) with an old squeeze debian.
I'd like to use a newer kernel with a more updated rootfs but as you realized, newer kernels seems to not be flashable in such a little space.

My question - as a beginner with u-boot related matters - is: could it be a possibility to chainload your newer u-boot (installed in a /dev/sda1 partition) from olderzeus's 1.1.2 u-boot? If possible maybe I can boot from there with your latest oxnas kernel and rootfs.

I also tried to compile myself a bit newer kernel version to boot with olderzeus's u-boot (taken from here https://github.com/kref/linux-oxnas) but serial console stucks at "Starting kernel..." without going further...

Thank you for your help
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 06, 2021 09:11PM
Miclaud,

> My question - as a beginner with u-boot related
> matters - is: could it be a possibility to
> chainload your newer u-boot (installed in a
> /dev/sda1 partition) from olderzeus's 1.1.2
> u-boot? If possible maybe I can boot from there
> with your latest oxnas kernel and rootfs.

Not likely to work. That u-boot is too old. Chainload is tricky and won't work going from old version of u-boot to new version (the software architecture is too different).


> I also tried to compile myself a bit newer kernel
> version to boot with olderzeus's u-boot (taken
> from here https://github.com/kref/linux-oxnas) but
> serial console stucks at "Starting kernel..."
> without going further...
>

You could try booting my kernel and rootfs Debian-4.14.180-oxnas-tld-1-rootfs-bodhi.tar.bz2 from old u-boot like olderzeus's.

The version 1.1.2 sounds like stock u-boot. So you will need to append the DTB to uImage. The problem is we don't have a DTB for Iomega Home Media, so you would have to use the Pogo Classic V3 DTB to see if it will work.

Post back if you're not sure about this step.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 10, 2021 05:31AM
> You could try booting my kernel and rootfs
> Debian-4.14.180-oxnas-tld-1-rootfs-bodhi.tar.bz2
> from old u-boot like olderzeus's.
>
> The version 1.1.2 sounds like stock u-boot. So you
> will need to append the DTB to uImage. The problem
> is we don't have a DTB for Iomega Home Media, so
> you would have to use the Pogo Classic V3 DTB to
> see if it will work.
>

Thank you bodhi

yes, I'd like to try this way. Even olderzeus suggests to use your kernel and rootfs in this issue from his github repo: https://github.com/olderzeus/Iomega-HMNHDCE/issues/3


Anyway I'm not understanding a thing: why in your opinion does he suggests to create an uImage in /media/sdb1/boot if stock u-boot continues to load uImage from an HDD area placed in his first 32MB?

As mari8b correctly said, Iomega looks at first HDD's 32MB in this way:

start/sector		size		content
0			512		Legacy MBR
1			1536		GPT Partition table
34			8736		Stage-1 Bootloader
154			103552		U-Boot
558			At least 608	U-Boot environment
1290			2189216		uImage kernel
16674			2787216		uImage initrd
57080			5		0x69 0xD3 0xAB 0x52 0x31	unknown - not Serial number, not the MAC address, same on all devices
57088			4640		Stage-1 Bootloader (2nd copy)
57208			103568		U-Boot (2nd copy)
58344			2189216		uImage kernel (2nd copy)


I'm afraid that stock u-boot will be booting again he uImage in sector 1290, ignoring your updated kernel first HDD partition (but I could be wrong). Is there a way to configure stock u-boot to look for first HDD partition instead of sector 1290 for uImage kernel?

Another possibility could be to flash you uImage in sector 1290, but it's too big (we have about 2MB of free space there) and it will surely overwrite initrd location and many other... or maybe that should not be a problem?

Sorry about being so newbie, I'm trying to study u-boot behavior as much as I can :)


Thank you for your help.
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 10, 2021 12:37PM
Meanwhile, I've tried to flash a newer kernel taken from here: https://forum.doozan.com/read.php?2,16044

Because of this warning, I tried this version: linux-3.18.5-oxnas-tld-1.bodhi
Quote
bodhi
Warning: This kernel has grown too big, so it will not work for stock u-boot or its Arch u-boot variant. Stock u-boot has a limitation of 4M uImage, so it will not boot. Please stay with kernel 3.18.5 if you're still booting with stock u-boot. The new u-boot works without limitation.

But while booting I receive this error:

PLX>>run select0 load1 load_rd boot

IDE device 0: Model: Hitachi HDT721032SLA380  Firm: ST2OA39D Ser#: STA207MC2K012B
            Type: Hard Disk
            Capacity: 131071.9 MB = 127.9 GB (268435455 x 512)
... is now current device

IDE read: device 0 block # 1290, count 5700 ... 5700 blocks read: OK

IDE read: device 0 block # 16674, count 5700 ... 5700 blocks read: OK
## Booting image at 60500000 ...
   Image Name:   Linux-3.18
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4177029 Bytes =  4 MB
   Load Address: 60500000
   Entry Point:  60500000
   Verifying Checksum ... Bad Data CRC

Looking for some info I think that the problem is with uboot env variable: load1=ide read 0x60500000 50a 1644
Is 1644 referred to kernel size to load in memory? I've tried bigger values but with no luck.

My u-boot printenv is:
bootcmd=run select0 load1 load_rd boot || run lightled select0 load2 load_rd extinguishled boot || lightled
bootdelay=3
baudrate=115200
ethaddr=00:30:e0:00:00:01
ipaddr=172.31.0.128
serverip=172.31.0.100
autoload=n
netmask=255.255.0.0
bootfile="uImage"
select0=ide dev 0
load1=ide read 0x60500000 50a 1644
load2=ide read 0x60500000 e3e8 1644
load_rd=ide read 0x60800000 4122 1644
lightled=ledfail 1
extinguishled=ledfail 0
boot=bootm 60500000 60800000
stdin=serial
stdout=serial
stderr=serial
bootargs=root=/dev/sda1 console=ttyS0,115200 elevator=cfq mem=256M poweroutage=yes mac_adr=0x00,0xd0,0xb8,0x19,0x81,0x0e

Environment size: 614/8188 bytes
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 10, 2021 03:45PM
Miclaud,

Quote

I'm afraid that stock u-boot will be booting again he uImage in sector 1290, ignoring your updated kernel first HDD partition (but I could be wrong). Is there a way to configure stock u-boot to look for first HDD partition instead of sector 1290 for uImage kernel?


Let me recap what I understood about this box from scanning mai8b, sobir, and your posts again.

1. This box has no NAND flash. This is the reason everything is on the HDD. olderzeus has the files in the HDD 32M layout that boot the old kernel perfectly fine.
start/sector		size		content
0			512		Legacy MBR
1			1536		GPT Partition table
34			8736		Stage-1 Bootloader
154			103552		U-Boot
558			At least 608	U-Boot environment
1290			2189216		uImage kernel
16674			2787216		uImage initrd
57080			5		0x69 0xD3 0xAB 0x52 0x31	unknown - not Serial number, not the MAC address, same on all devices
57088			4640		Stage-1 Bootloader (2nd copy)
57208			103568		U-Boot (2nd copy)
58344			2189216		uImage kernel (2nd copy)

2. The SATA booting approach is identical to the Pogo V3 OXNAS. This SoC BootROM always look for u-boot image on the SATA drive if one is attched. Even on the Pogoplug, with u-boot in NAND, the BootROM will find u-boot in the HDD drive first, if not found then find it in NAND.

3. My Pogoplug OXNAS u-boot (https://forum.doozan.com/read.php?3,16017) does not work for this box, since it was not built for SATA boot, only for NAND. So stock u-boot and SPL must be used and stored in the HDD. This stock u-boot has a 4GB limitation for uImage.

4. The latest kernel uImage and uInitrd are too big for stock u-boot because of 4GB limitation.

5. Now here is how this dilemma can be resolved. Possible alternatives are:

a. Build a new scaled down kernel using my latest release (https://forum.doozan.com/read.php?2,16044). The kernel config needs to be trimmed down until it will produce a uImage that is smaller than 4GB. The uInitrd can also be trimmed down at the same time with the new kernel config.

b. Rebuild my u-boot version to support SATA booting. Clone my GitHub and build it as is. And after it is successful, turn on SATA.

c. Look at what shv has done. I think there were some really good info. Unfortunately I Iost the link (I want to include it in the Wiki thread). I will PM shv.

PS.

This post has shv u-boot build: https://forum.doozan.com/read.php?3,28162,28313#msg-28313

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



Edited 1 time(s). Last edit at 04/10/2021 03:48PM by bodhi.
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 11, 2021 12:14PM
> Possible alternatives are:
>
> a. Build a new scaled down kernel using my latest
> release
> (https://forum.doozan.com/read.php?2,16044). The
> kernel config needs to be trimmed down until it
> will produce a uImage that is smaller than 4GB.
> The uInitrd can also be trimmed down at the same
> time with the new kernel config.
>
> b. Rebuild my u-boot version to support SATA
> booting. Clone my GitHub and build it as is. And
> after it is successful, turn on SATA.
>
> c. Look at what shv has done. I think there were
> some really good info. Unfortunately I Iost the
> link (I want to include it in the Wiki thread). I
> will PM shv.
>
> PS.
>
> This post has shv u-boot build:
> https://forum.doozan.com/read.php?3,28162,28313#msg-28313


Thank you very much for recap and suggestions. I'll try all the alternatives.

For now, I'm trying to use your Linux-3.18.5-oxnas-tld-1 kernel because it should already be of the right size. Unfortunately it stucks too at "Bad CRC" error. I tried attaching both pogoplug-pro and pogoplug-classic but with no luck...

Do you have any idea of why do I get this "Bad CRC" error? Meanwhile, I'd make a try with a newer u-boot, thanks!


IDE device 0: Model: Hitachi HDT721032SLA380  Firm: ST2OA39D Ser#: STA207MC2K012B
            Type: Hard Disk
            Capacity: 131071.9 MB = 127.9 GB (268435455 x 512)
... is now current device

IDE read: device 0 block # 1290, count 8159 ... 8159 blocks read: OK

IDE read: device 0 block # 16674, count 5700 ... 5700 blocks read: OK
## Booting image at 60500000 ...
   Image Name:   Linux-3.18.5-oxnas-tld-1
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4177029 Bytes =  4 MB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... Bad Data CRC
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 11, 2021 05:24PM
Miclaud,

As always, I need to see the complete picture of what's going on.

Interrupt serial console at count down
printenv
and then

boot
Please post the entire serial boot log, from the u-boot banner.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 12, 2021 07:52AM
> Interrupt serial console at count down
>
> printenv
>
> and then
>
>
> boot
>
> Please post the entire serial boot log, from the
> u-boot banner.


Hi bodhi,

meanwhile, I got so close!
I succeded in installing a newer u-boot (2013.10) by compiling this one: https://github.com/kref/u-boot-oxnas/tree/oxnas following these compilation instructions: https://github.com/kref/u-boot-oxnas/wiki/uboot-for-sata

(I tried with your repo's u-boot but I have to solve some compilation problems before trying again with that)

So I made these steps:
1 - compiling kref's u-boot.img and SPL
2 - flashed SPL at sector 34 (as olderzeus used to do)
3 - created a FAT partition at /dev/sda1 and copied the u-boot.img there
4 - copied an u-boot.env file from shv files. I haven't find the right way to generate one from scratch from myself because (I tried with mkenvimage command) because I always get CRC error.
Shv's one is correctly loaded but of course I need to stop the serial console at countdown to customize the env
5 - created an ext3 partition with your Debian-4.14.180 rootfs (including kernel as is in /boot folder)

The whole process seems to be almost ok, but I got an "uncompression error" with your uImage.

Printenv:

OX820 # printenv
dt_bootm=bootm $uimage_addr $uinitrd_addr $dtb_addr
autoload=no
baudrate=115200
bootargs=console=ttyS0,115200n8
bootcmd=run dt_bootcmd_ide
bootdelay=3
console=console=ttyS0,115200n8
dt_bootcmd_ide=ide start; run dt_ide_bootcmd; ide stop; reset
dt_bootcmd_usb=usb start; run dt_usb_bootcmd; usb stop; reset
dt_bootm=bootm $uimage_addr $uinitrd_addr $dtb_addr
dt_ide_boot=run dt_ide_load_uimage; run dt_ide_load_initrd; run dt_ide_load_dtb; run dt_bootm
dt_ide_bootcmd=run ide_set_bootargs; run dt_sata_boot
dt_ide_load_dtb=ext2load ide 0:1 $dtb_addr /boot/dts/ox820-pogoplug-pro.dtb
dt_ide_load_initrd=ext2load ide 0:1 $uinitrd_addr /boot/uInitrd
dt_ide_load_uimage=ext2load ide 0:1 $uimage_addr /boot/uImage
dt_load_dtb=ext2load usb 0:1 $dtb_addr /boot/dts/ox820-pogoplug-pro.dtb
dt_load_initrd=ext2load usb 0:1 $uinitrd_addr /boot/uInitrd
dt_load_uimage=ext2load usb 0:1 $uimage_addr /boot/uImage
dt_sata_boot=ext2load ide 0:1 $uimage_addr /boot/uImage_2.6.31.14_OX820_1.2_shv.Pro; bootm $uimage_addr
dt_usb_boot=run dt_load_uimage; run dt_load_initrd; run dt_load_dtb; run dt_bootm
dt_usb_bootcmd=run usb_set_bootargs; run dt_usb_boot
dtb_addr=0x62c00000
ethact=mii0
ethaddr=00:25:31:01:C6:76
ide_set_bootargs=setenv bootargs root=/dev/sda2 rootfstype=ext3 console=ttyS0,115200 mem=128M
if_netconsole=ping $serverip
ipaddr=192.168.0.100
mtdids=nand0=41000000.nand
mtdparts=mtdparts=41000000.nand:14m(boot),-(data)
preboot_nc=run if_netconsole start_netconsole
sata_bootcmd=run usb_set_bootargs; run sata_boot
start_netconsole=setenv ncip $serverip; setenv bootdelay 10; setenv stdin nc; setenv stdout nc; setenv stderr nc; version
stderr=serial
stdin=serial
stdout=serial
uimage_addr=0x60500000
uinitrd_addr=0x60e00000
usb_device=0:1
usb_set_bootargs=setenv bootargs console=ttyS0,115200 root=/dev/sda1 rootdelay=10

Environment size: 1898/16380 bytes


Serial boot log (with customized commands in bold):

U-Boot SPL 2013.10-ga72eb8f (Apr 12 2021 - 03:23:10)
  Boot device: SATA
Attempting to set PLLA to 800 MHz ...
  plla_ctrl0 : 0000030a
  plla_ctrl1 : 00400000
  plla_ctrl2 : 007f0068
  plla_ctrl3 : 00000193

PLLA Set
Bus 0: OK 
  Device 0: 
reading bootargs.bin
reading u-boot.img
reading u-boot.img


U-Boot 2013.10-ga72eb8f (Apr 12 2021 - 03:23:10) for OXNAS

DRAM:  128 MiB
IDE:   Bus 0: OK 
  Device 0: Model: Hitachi HDT721032SLA380  Firm: ST2OA39D Ser#: STA207MC2K012B
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 305245.3 MB = 298.0 GB (625142448 x 512)
NAND:  0 MiB
reading u-boot.env
In:    serial
Out:   serial
Err:   serial
Net:   mii0
Hit any key to stop autoboot:  0 


OX820 # setenv bootargs root=/dev/sda2 rootfstype=ext3 console=ttyS0,115200
OX820 # ext4load ide 0:2 $uimage_addr /boot/uImage
4600448 bytes read in 749 ms (5.9 MiB/s)
OX820 # ext4load ide 0:2 $uinitrd_addr /boot/uInitrd
6464907 bytes read in 985 ms (6.3 MiB/s)
OX820 # ext4load ide 0:2 $dtb_addr /boot/dts/ox820-pogoplug-classic.dtb
8892 bytes read in 5 ms (1.7 MiB/s)
OX820 # bootm $uimage_addr $uinitrd_addr $dtb_addr


## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-4.14.180-oxnas-tld-1
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4600384 Bytes = 4.4 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 60e00000 ...
   Image Name:   initramfs-4.14.180-oxnas-tld-1
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    6464843 Bytes = 6.2 MiB
   Load Address: 60000000
   Entry Point:  60000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 62c00000
   Booting using the fdt blob at 0x62c00000
   Loading Kernel Image ... OK
   Loading Ramdisk to 677fe000, end 67e2854b ... OK
   Loading Device Tree to 677f8000, end 677fd2bb ... OK

Starting kernel ...

Uncompressing Linux...

uncompression error

 -- System halted




I also made another try with a oxnas820 kernel ( Linux-3.11.1+) I got from kref's github, compiled by myself, but it stucks at "Starting Kernel" in the same way it did with stock u-boot

## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-3.11.1+
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2293896 Bytes = 2.2 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 60e00000 ...
   Image Name:   initramfs-4.14.180-oxnas-tld-1
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    6464843 Bytes = 6.2 MiB
   Load Address: 60000000
   Entry Point:  60000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 62c00000
   Booting using the fdt blob at 0x62c00000
   Loading Kernel Image ... OK
   Loading Ramdisk to 677fe000, end 67e2854b ... OK
   Loading Device Tree to 677f8000, end 677fd347 ... OK

Starting kernel ...

Re: U-Boot 2015.10 for Iomega HMNHDCE
April 12, 2021 10:13AM
Ok bodhi, I've tried once again to compile u-boot from your repo and I succeded in creating u-boot.img file!
I had to give the following command before launching make:
make ox820_defconfig


Anyway, I still have problems while compiling SPL:
make[1]: *** No rule to make target `checkarmreloc', needed by `all'.  Stop.
make: *** [spl/u-boot-spl] Error 2
But I can still use kref's SPL for stage1 and then boot with your u-boot, so I think it's not a problem for now.


As you can see here it seems to boot regularly but it apparently stucks at "booting the kernel"

Maybe the kernel is booting but for some misconfiguration it doesn't print on serial console? I've configured my network interfaces for a specific ip but I cannot ping it.

U-Boot SPL 2013.10-ga72eb8f (Apr 12 2021 - 03:23:10)
  Boot device: SATA
Attempting to set PLLA to 800 MHz ...
  plla_ctrl0 : 0000030a
  plla_ctrl1 : 00400000
  plla_ctrl2 : 007f0068
  plla_ctrl3 : 00000193

PLLA Set
Bus 0: OK 
  Device 0: 
reading bootargs.bin
reading u-boot.img
reading u-boot.img


U-Boot 2015.10-g5d26bd2 (Apr 12 2021 - 22:17:38 +0800)
OXNAS OX820

DRAM:  128 MiB
NAND:  0 MiB
*** Warning - readenv() failed, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Phy 0 not found
PHY reset timed out
dwmac.40400000
Hit any key to stop autoboot:

starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... EHCI timed out on TD - token=0x80008c80
unable to get device descriptor (error=-1)
5 USB Device(s) found
       scanning usb for storage devices... EHCI timed out on TD - token=0x80008c80
1 Storage Device(s) found

Reset IDE: Bus 0: OK 
  Device 0: Model: Hitachi HDT721032SLA380  Firm: ST2OA39D Ser#: STA207MC2K012B
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 305245.3 MB = 298.0 GB (625142448 x 512)

Partition Map for USB device 0  --   Partition Type: DOS

Part	Start Sector	Num Sectors	UUID		Type
  1	2         	15155158  	3d18797c-01	83
loading envs from usb 0 ...
** File not found /boot/uEnv.txt **

Partition Map for IDE device 0  --   Partition Type: EFI

Part	Start LBA	End LBA		Name
	Attributes
	Type GUID
	Partition GUID
  1	0x00010000	0x0001ffff	"boot"
	attrs:	0x0000000000000000
	type:	ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
	guid:	8ced04b1-0d4b-4a89-83e5-69686b6ecb4e
  2	0x00020000	0x013a7fff	"rootfs"
	attrs:	0x0000000000000000
	type:	0fc63daf-8483-4772-8e79-3d69d8477de4
	guid:	6ea13106-b5b6-459e-b41c-fac88944652c
loading envs from ide 0 ...
reading /boot/uEnv.txt
** Unable to read file /boot/uEnv.txt **
4621824 bytes read in 335 ms (13.2 MiB/s)
4594376 bytes read in 318 ms (13.8 MiB/s)
7067 bytes read in 183 ms (37.1 KiB/s)
## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-4.4.54-oxnas-tld-1
   Created:      2017-08-01   4:45:36 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4621760 Bytes = 4.4 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 60e00000 ...
   Image Name:   initramfs-4.4.54-oxnas-tld-1
   Created:      2017-08-01   7:51:04 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    4594312 Bytes = 4.4 MiB
   Load Address: 60000000
   Entry Point:  60000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 62c00000
   Booting using the fdt blob at 0x62c00000
   Loading Kernel Image ... OK
   Loading Ramdisk to 679c4000, end 67e25a88 ... OK
   Loading Device Tree to 679bf000, end 679c3b9a ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.



My printenv here. At the moment I don't use any u-boot.env or uEnv.txt file, so I'm fallbacking to default env:

autoload=no
baudrate=115200
bootargs=console=ttyS0,115200n8
bootcmd=run bootcmd_uenv; run dt_bootcmd_usb; reset
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootdelay=10
console=console=ttyS0,115200n8
devices=usb ide
dt_bootcmd_usb=usb start; run dt_usb_bootcmd; usb stop; reset
dt_bootm=bootm $uimage_addr $uinitrd_addr $dtb_addr
dt_load_dtb=ext2load usb 0:1 $dtb_addr /boot/dts/ox820-pogoplug-pro.dtb
dt_load_initrd=ext2load usb 0:1 $uinitrd_addr /boot/uInitrd
dt_load_uimage=ext2load usb 0:1 $uimage_addr /boot/uImage
dt_usb_boot=run dt_load_uimage; run dt_load_initrd; run dt_load_dtb; run dt_bootm
dt_usb_bootcmd=run usb_set_bootargs; run dt_usb_boot
dtb_addr=0x62c00000
ethact=dwmac.40400000
ethaddr=5e:2b:15:71:ec:b6
if_netconsole=ping $serverip
ipaddr=192.168.0.222
mtdids=nand0=41000000.nand
mtdparts=mtdparts=41000000.nand:14m(boot),-(data)
preboot_nc=run if_netconsole start_netconsole
serverip=192.168.0.220
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_import=echo importing envs ...; env import -t 0x60500000
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=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 0x60500000 /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
uimage_addr=0x60500000
uinitrd_addr=0x60e00000
usb_device=0:1
usb_set_bootargs=setenv bootargs console=ttyS0,115200 root=/dev/sda1 rootdelay=10

Environment size: 1988/33685500 bytes



Edited 4 time(s). Last edit at 04/12/2021 10:39AM by Miclaud.
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 12, 2021 04:51PM
I saw you've update the post above. Let me take a look.

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



Edited 2 time(s). Last edit at 04/12/2021 04:52PM by bodhi.
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 12, 2021 05:06PM
Miclaud,

The envs image from the HDD is not good (or non existent).
*** Warning - readenv() failed, using default environment

The default envs are set up to boot the USB rootfs.

Is that what you wanted to do? or are you trying to boot HDD rootfs? what is on the USB drive?

I guess you need to post info about this HDD. What files/partitions are in it?

The bottom line is you need to post more info when you encounter a problem.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 13, 2021 11:51AM
Sorry bodhi, maybe I've made some mess by doing some experiments.

My first aim was to boot entirely from HDD, so I have a disk partitioned in this way:

/dev/sda1 : FAT partition (labelled "BOOT") with only u-boot.bin
/dev/sda2 : ext3 partitions (labelled "rootfs") with your Debian-4.4.54 rootfs (including kernel)

I flashed on my HDD the kref's SPL. This spl looks for the first partition in HDD and expects it to be a FAT partition. SPL loads u-boot.bin (your 2015.10 github u-boot compiled by myself)

Because I still don't know how to create an env file for your u-boot I decided to stick with your default env, so I also created a single ext3 partition on a usb drive, with Debian-4.4.54 rootfs too, trying to boot the rootfs+kernel saved there.
It seems to work because kernel, initrd and dtb are loaded, but the problem is the "booting the kernel" problem showed in my previous post.

Thank you!



Edited 2 time(s). Last edit at 04/13/2021 11:53AM by Miclaud.
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 13, 2021 04:48PM
Miclaud,

That was the right approach! we want it to boot to a Debian rootfs on USB first, and worry about where that rootfs can be later.

I've trimmed the envs down to a rellevant sequence so I can see it easier.

Quote

dt_load_dtb=ext2load usb 0:1 $dtb_addr /boot/dts/ox820-pogoplug-pro.dtb
dt_load_initrd=ext2load usb 0:1 $uinitrd_addr /boot/uInitrd
dt_load_uimage=ext2load usb 0:1 $uimage_addr /boot/uImage

usb_set_bootargs=setenv bootargs console=ttyS0,115200 root=/dev/sda1 rootdelay=10

dt_bootcmd_usb=usb start; run dt_usb_bootcmd; usb stop; reset
dt_usb_bootcmd=run usb_set_bootargs; run dt_usb_boot
dt_usb_boot=run dt_load_uimage; run dt_load_initrd; run dt_load_dtb; run dt_bootm
dt_bootm=bootm $uimage_addr $uinitrd_addr $dtb_addr

There are few adjustments needed.

Power up, interrupt serial console and

setenv usb_set_bootargs 'setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 earlyprintk=serial'
setenv dt_load_dtb 'ext2load usb 0:1 $dtb_addr /boot/dts/ox820-pogoplug-classic.dtb

Let's see how far you will get with Pogoplug Classic DTB.

Please post the entire serial console log here.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 14, 2021 04:23AM
Hi bodhi,

I used the "boot" command after the two instructions you gave me, was it ok?

So, here's my console print:

U-Boot SPL 2013.10-ga72eb8f (Apr 12 2021 - 03:23:10)
  Boot device: SATA
Attempting to set PLLA to 800 MHz ...
  plla_ctrl0 : 0000030a
  plla_ctrl1 : 00400000
  plla_ctrl2 : 007f0068
  plla_ctrl3 : 00000193

PLLA Set
Bus 0: OK 
  Device 0: 
reading bootargs.bin
reading u-boot.img
reading u-boot.img


U-Boot 2015.10-g5d26bd2 (Apr 12 2021 - 22:17:38 +0800)
OXNAS OX820

DRAM:  128 MiB
NAND:  0 MiB
*** Warning - readenv() failed, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Phy 0 not found
PHY reset timed out
dwmac.40400000
Hit any key to stop autoboot: 10  0 
OX820> setenv usb_set_bootargs 'setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 earlyprintk=serial'
OX820> setenv dt_load_dtb 'ext2load usb 0:1 $dtb_addr /boot/dts/ox820-pogoplug-classic.dtb'
OX820> boot
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found

Reset IDE: Bus 0: OK 
  Device 0: Model: Hitachi HDT721032SLA380  Firm: ST2OA39D Ser#: STA207MC2K012B
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 305245.3 MB = 298.0 GB (625142448 x 512)

Partition Map for USB device 0  --   Partition Type: DOS

Part	Start Sector	Num Sectors	UUID		Type
  1	2048      	15153152  	80750a54-01	83
loading envs from usb 0 ...
2641 bytes read in 204 ms (11.7 KiB/s)

Partition Map for IDE device 0  --   Partition Type: EFI

Part	Start LBA	End LBA		Name
	Attributes
	Type GUID
	Partition GUID
  1	0x00010000	0x0001ffff	"boot"
	attrs:	0x0000000000000000
	type:	ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
	guid:	8ced04b1-0d4b-4a89-83e5-69686b6ecb4e
loading envs from ide 0 ...
reading /boot/uEnv.txt
** Unable to read file /boot/uEnv.txt **
importing envs ...
## Warning: Input data exceeds 1048576 bytes - truncated
## Info: input data size = 1048578 = 0x100002
ERROR: Environment import failed: errno = 12

at common/cmd_nvedit.c:1082/do_env_import()
4621824 bytes read in 335 ms (13.2 MiB/s)
4594376 bytes read in 308 ms (14.2 MiB/s)
7075 bytes read in 173 ms (39.1 KiB/s)
## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-4.4.54-oxnas-tld-1
   Created:      2017-08-01   4:45:36 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4621760 Bytes = 4.4 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 60e00000 ...
   Image Name:   initramfs-4.4.54-oxnas-tld-1
   Created:      2017-08-01   7:51:04 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    4594312 Bytes = 4.4 MiB
   Load Address: 60000000
   Entry Point:  60000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 62c00000
   Booting using the fdt blob at 0x62c00000
   Loading Kernel Image ... OK
   Loading Ramdisk to 679c6000, end 67e27a88 ... OK
   Loading Device Tree to 679c1000, end 679c5ba2 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.

The strange thing is that sometimes it crashes during kernel loading (some other times during ramdisk loading), with "Bad CRC" error. It seems absolutely random behaviour, like this:

U-Boot SPL 2013.10-ga72eb8f (Apr 12 2021 - 03:23:10)
  Boot device: SATA
Attempting to set PLLA to 800 MHz ...
  plla_ctrl0 : 0000030a
  plla_ctrl1 : 00400000
  plla_ctrl2 : 007f0068
  plla_ctrl3 : 00000193

PLLA Set
Bus 0: OK 
  Device 0: 
reading bootargs.bin
reading u-boot.img
reading u-boot.img


U-Boot 2015.10-g5d26bd2 (Apr 12 2021 - 22:17:38 +0800)
OXNAS OX820

DRAM:  128 MiB
NAND:  0 MiB
*** Warning - readenv() failed, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Phy 0 not found
PHY reset timed out
dwmac.40400000
Hit any key to stop autoboot: 10  0 
OX820> setenv usb_set_bootargs 'setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 earlyprintk=serial'
OX820> setenv dt_load_dtb 'ext2load usb 0:1 $dtb_addr /boot/dts/ox820-pogoplug-classic.dtb'
OX820> boot
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... EHCI timed out on TD - token=0x80008c80
unable to get device descriptor (error=-1)
5 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found

Reset IDE: Bus 0: OK 
  Device 0: Model: Hitachi HDT721032SLA380  Firm: ST2OA39D Ser#: STA207MC2K012B
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 305245.3 MB = 298.0 GB (625142448 x 512)

Partition Map for USB device 0  --   Partition Type: DOS

Part	Start Sector	Num Sectors	UUID		Type
  1	2048      	3913728   	fb6487b1-01	83
loading envs from usb 0 ...
** File not found /boot/uEnv.txt **

Partition Map for IDE device 0  --   Partition Type: EFI

Part	Start LBA	End LBA		Name
	Attributes
	Type GUID
	Partition GUID
  1	0x00010000	0x0001ffff	"boot"
	attrs:	0x0000000000000000
	type:	ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
	guid:	8ced04b1-0d4b-4a89-83e5-69686b6ecb4e
loading envs from ide 0 ...
reading /boot/uEnv.txt
** Unable to read file /boot/uEnv.txt **
4621824 bytes read in 545 ms (8.1 MiB/s)
4594376 bytes read in 514 ms (8.5 MiB/s)
7075 bytes read in 183 ms (37.1 KiB/s)
## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-4.4.54-oxnas-tld-1
   Created:      2017-08-01   4:45:36 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4621760 Bytes = 4.4 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... Bad Data CRC



Edited 1 time(s). Last edit at 04/14/2021 04:27AM by Miclaud.
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 14, 2021 04:42PM
Miclaud,

Since you have both HDD and USB with the rootfs and /boot folders, it is hard to see which kernel is being used. So adjust some envs to log the activities.


Power up, interrupt serial console and

setenv usb_set_bootargs 'setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 earlyprintk=serial'
setenv dt_load_dtb 'echo Loading DTB from USB; ext2load usb 0:1 $dtb_addr /boot/dts/ox820-pogoplug-classic.dtb'
setenv dt_load_initrd 'echo Loading uInitrd  from USB; ext2load usb 0:1 $uinitrd_addr /boot/uInitrd'
setenv dt_load_uimage ''echo Loading uImage from USB; ext2load usb 0:1 $uimage_addr /boot/uImage'
setenv dt_bootm 'echo Booting Debian; bootm $uimage_addr $uinitrd_addr $dtb_addr'

and then
printenv
boot

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 15, 2021 02:33PM
Hi bodhi,

I had to make 3 tries because first time kernel loading gave me "Bad Data CRC", next was initrd time. The third was the good one.
I think it should not depend on any possible usb drive problem because I even tried to use a different usb drive receiving the same (apparently) random crashes.

Anyway, here's the console:

U-Boot SPL 2013.10-ga72eb8f (Apr 12 2021 - 03:23:10)
  Boot device: SATA
Attempting to set PLLA to 800 MHz ...
  plla_ctrl0 : 0000030a
  plla_ctrl1 : 00400000
  plla_ctrl2 : 007f0068
  plla_ctrl3 : 00000193

PLLA Set
Bus 0: OK 
  Device 0: 
reading bootargs.bin
reading u-boot.img
reading u-boot.img


U-Boot 2015.10-g5d26bd2 (Apr 12 2021 - 22:17:38 +0800)
OXNAS OX820

DRAM:  128 MiB
NAND:  0 MiB
*** Warning - readenv() failed, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Phy 0 not found
PHY reset timed out
dwmac.40400000
Hit any key to stop autoboot: 10  0 
OX820> setenv usb_set_bootargs 'setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 earlyprintk=serial'
OX820> setenv dt_load_dtb 'echo Loading DTB from USB; ext2load usb 0:1 $dtb_addr /boot/dts/ox820-pogoplug-classic.dtb'
OX820> setenv dt_load_initrd 'echo Loading uInitrd  from USB; ext2load usb 0:1 $uinitrd_addr /boot/uInitrd'
OX820> setenv dt_load_uimage 'echo Loading uImage from USB; ext2load usb 0:1 $uimage_addr /boot/uImage'
OX820> setenv dt_bootm 'echo Booting Debian; bootm $uimage_addr $uinitrd_addr $dtb_addr'
OX820> printenv
autoload=no
baudrate=115200
bootargs=console=ttyS0,115200n8
bootcmd=run bootcmd_uenv; run dt_bootcmd_usb; reset
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootdelay=10
console=console=ttyS0,115200n8
devices=usb ide
dt_bootcmd_usb=usb start; run dt_usb_bootcmd; usb stop; reset
dt_bootm=echo Booting Debian; bootm $uimage_addr $uinitrd_addr $dtb_addr
dt_load_dtb=echo Loading DTB from USB; ext2load usb 0:1 $dtb_addr /boot/dts/ox820-pogoplug-classic.dtb
dt_load_initrd=echo Loading uInitrd  from USB; ext2load usb 0:1 $uinitrd_addr /boot/uInitrd
dt_load_uimage=echo Loading uImage from USB; ext2load usb 0:1 $uimage_addr /boot/uImage
dt_usb_boot=run dt_load_uimage; run dt_load_initrd; run dt_load_dtb; run dt_bootm
dt_usb_bootcmd=run usb_set_bootargs; run dt_usb_boot
dtb_addr=0x62c00000
ethact=dwmac.40400000
ethaddr=5e:2b:15:71:ec:b6
if_netconsole=ping $serverip
ipaddr=192.168.0.222
mtdids=nand0=41000000.nand
mtdparts=mtdparts=41000000.nand:14m(boot),-(data)
preboot_nc=run if_netconsole start_netconsole
serverip=192.168.0.220
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_import=echo importing envs ...; env import -t 0x60500000
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=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 0x60500000 /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
uimage_addr=0x60500000
uinitrd_addr=0x60e00000
usb_device=0:1
usb_set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 earlyprintk=serial

Environment size: 2124/33685500 bytes
OX820> boot
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... EHCI timed out on TD - token=0x80008c80
EHCI timed out on TD - token=0x80008c80
EHCI timed out on TD - token=0x80008c80
unable to get device descriptor (error=-1)
5 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found

Reset IDE: Bus 0: OK 
  Device 0: Model: Hitachi HDT721032SLA380  Firm: ST2OA39D Ser#: STA207MC2K012B
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 305245.3 MB = 298.0 GB (625142448 x 512)

Partition Map for USB device 0  --   Partition Type: DOS

Part	Start Sector	Num Sectors	UUID		Type
  1	2048      	15153152  	80750a54-01	83
loading envs from usbŒ±ùg 0 ...
** File not found /boot/uEnv.txt **

Partition Map for IDE device 0  --   Partition Type: EFI

Part	Start LBA	End LBA		Name
	Attributes
	Type GUID
	Partition GUID
  1	0x00010000	0x0001ffff	"boot"
	attrs:	0x0000000000000000
	type:	ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
	guid:	8ced04b1-0d4b-4a89-83e5-69686b6ecb4e
loading envs from ide 0 ...
reading /boot/uEnv.txt
** Unable to read file /boot/uEnv.txt **
Loading uImage from USB
4621824 bytes read in 335 ms (13.2 MiB/s)
Loading uInitrd from USB
4594376 bytes read in 307 ms (14.3 MiB/s)
Loading DTB from USB
7075 bytes read in 173 ms (39.1 KiB/s)
Booting Debian
## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-4.4.54-oxnas-tld-1
   Created:      2017-08-01   4:45:36 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4621760 Bytes = 4.4 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 60e00000 ...
   Image Name:   initramfs-4.4.54-oxnas-tld-1
   Created:      2017-08-01   7:51:04 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    4594312 Bytes = 4.4 MiB
   Load Address: 60000000
   Entry Point:  60000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 62c00000
   Booting using the fdt blob at 0x62c00000
   Loading Kernel Image ... OK
   Loading Ramdisk to 679c6000, end 67e27a88 ... OK
   Loading Device Tree to 679c1000, end 679c5ba2 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.



Edited 1 time(s). Last edit at 04/15/2021 02:36PM by Miclaud.
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 15, 2021 07:02PM
Strange that the kernel did not even start (earlyprintk did not print out anything).

Try:

Temporarily take out the uInird loading

setenv usb_set_bootargs 'setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 earlyprintk=serial'
setenv dt_load_dtb 'echo Loading DTB from USB; ext2load usb 0:1 $dtb_addr /boot/dts/ox820-pogoplug-classic.dtb'
setenv dt_load_initrd 'echo Not loading uInitrd'
setenv dt_load_uimage ''echo Loading uImage from USB; ext2load usb 0:1 $uimage_addr /boot/uImage'

setenv dt_bootm 'echo Booting Debian; bootm $uimage_addr - $dtb_addr'

printenv
boot

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Roland8
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 15, 2021 11:17PM
Can anyone do a step by step write up on how to update our old iomega HMNHDCE with a newer u-boot and debian buster? I've been reading the discussion here and it seems all I need to do is follow the instructions for Pogoplug V3? I've updated my Pogoplug V4, Dockstar, Goflex home and Goflex Net to newest u-Boot and Debian Buster... but the discussion here seems to indicate I would need to recompile for ox720?
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 16, 2021 01:50AM
Hi, if we eventually succeed to boot mine I'd be pleased to open a thread with a walkthrough.

Sobir was able to install buster by debootstrapping, starting from olderzeus's setup, which for now is the only one 100% working (this one).

Unfortunately, olderzeus's setup is based on a 2.6 kernel older than 2.6.32, which is required by udev from Squeeze and forth. I don't know how did he manage to solve this problem, we can ask him but if we find a way to boot this Iomega device with a newer kernel we'll solve a moltitude of issues ;)


Roland8 Wrote:
-------------------------------------------------------
> Can anyone do a step by step write up on how to
> update our old iomega HMNHDCE with a newer u-boot
> and debian buster? I've been reading the
> discussion here and it seems all I need to do is
> follow the instructions for Pogoplug V3? I've
> updated my Pogoplug V4, Dockstar, Goflex home and
> Goflex Net to newest u-Boot and Debian Buster...
> but the discussion here seems to indicate I would
> need to recompile for ox720?
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 16, 2021 02:00AM
bodhi Wrote:
-------------------------------------------------------
> Strange that the kernel did not even start
> (earlyprintk did not print out anything).
>
> Try:
>
> Temporarily take out the uInird loading
>

Ok, here we go:


U-Boot SPL 2013.10-ga72eb8f (Apr 12 2021 - 03:23:10)
  Boot device: SATA
Attempting to set PLLA to 800 MHz ...
  plla_ctrl0 : 0000030a
  plla_ctrl1 : 00400000
  plla_ctrl2 : 007f0068
  plla_ctrl3 : 00000193

PLLA Set
Bus 0: OK 
  Device 0: 
reading bootargs.bin
reading u-boot.img
reading u-boot.img


U-Boot 2015.10-g5d26bd2 (Apr 12 2021 - 22:17:38 +0800)
OXNAS OX820

DRAM:  128 MiB
NAND:  0 MiB
*** Warning - readenv() failed, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   Phy 0 not found
PHY reset timed out
dwmac.40400000
Hit any key to stop autoboot: 10  0
OX820> 
OX820> 
OX820> setenv usb_set_bootargs 'setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 earlyprintk=serial'
OX820> setenv dt_load_dtb 'echo Loading DTB from USB; ext2load usb 0:1 $dtb_addr /boot/dts/ox820-pogoplug-classic.dtb'
OX820> setenv dt_load_initrd 'echo Not loading uInitrd'
OX820> setenv dt_load_uimage 'echo Loading uImage from USB; ext2load usb 0:1 $uimage_addr /boot/uImage'
OX820> setenv dt_bootm 'echo Booting Debian; bootm $uimage_addr - $dtb_addr'
OX820> printenv
autoload=no
baudrate=115200
bootargs=console=ttyS0,115200n8
bootcmd=run bootcmd_uenv; run dt_bootcmd_usb; reset
bootcmd_uenv=run uenv_load; if test $uenv_loaded -eq 1; then run uenv_import; fi
bootdelay=10
console=console=ttyS0,115200n8
devices=usb ide
dt_bootcmd_usb=usb start; run dt_usb_bootcmd; usb stop; reset
dt_bootm=echo Booting Debian; bootm $uimage_addr - $dtb_addr
dt_load_dtb=echo Loading DTB from USB; ext2load usb 0:1 $dtb_addr /boot/dts/ox820-pogoplug-classic.dtb
dt_load_initrd=echo Not loading uInitrd
dt_load_uimage=echo Loading uImage from USB; ext2load usb 0:1 $uimage_addr /boot/uImage
dt_usb_boot=run dt_load_uimage; run dt_load_initrd; run dt_load_dtb; run dt_bootm
dt_usb_bootcmd=run usb_set_bootargs; run dt_usb_boot
dtb_addr=0x62c00000
ethact=dwmac.40400000
ethaddr=5e:2b:15:71:ec:b6
if_netconsole=ping $serverip
ipaddr=192.168.0.222
mtdids=nand0=41000000.nand
mtdparts=mtdparts=41000000.nand:14m(boot),-(data)
preboot_nc=run if_netconsole start_netconsole
serverip=192.168.0.220
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_import=echo importing envs ...; env import -t 0x60500000
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=echo loading envs from $devtype $disknum ...; if load $devtype $disknum:1 0x60500000 /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
uimage_addr=0x60500000
uinitrd_addr=0x60e00000
usb_device=0:1
usb_set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 earlyprintk=serial

Environment size: 2060/33685500 bytes
OX820> boot
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... EHCI timed out on TD - token=0x80008c80
unable to get device descriptor (error=-1)
EHCI timed out on TD - token=0x80008c80
EHCI timed out on TD - token=0x80008c80
EHCI timed out on TD - token=0x80008c80
EHCI timed out on TD - token=0x80008c80
5 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found

Reset IDE: Bus 0: OK 
  Device 0: Model: Hitachi HDT721032SLA380  Firm: ST2OA39D Ser#: STA207MC2K012B
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 305245.3 MB = 298.0 GB (625142448 x 512)

Partition Map for USB device 0  --   Partition Type: DOS

Part	Start Sector	Num Sectors	UUID		Type
  1	2048      	15153152  	80750a54-01	83
loading envs from usb”±ùg 0 ...
** File not found /boot/uEnv.txt **

Partition Map for IDE device 0  --   Partition Type: EFI

Part	Start LBA	End LBA		Name
	Attributes
	Type GUID
	Partition GUID
  1	0x00010000	0x0001ffff	"boot"
	attrs:	0x0000000000000000
	type:	ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
	guid:	8ced04b1-0d4b-4a89-83e5-69686b6ecb4e
loading envs from ide 0 ...
reading /boot/uEnv.txt
** Unable to read file /boot/uEnv.txt **
Loading uImage from USB
4621824 bytes read in 335 ms (13.2 MiB/s)
Not loading uInitrd
Loading DTB from USB
7075 bytes read in 172 ms (40 KiB/s)
Booting Debian
## Booting kernel from Legacy Image at 60500000 ...
   Image Name:   Linux-4.4.54-oxnas-tld-1
   Created:      2017-08-01   4:45:36 UTC
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4621760 Bytes = 4.4 MiB
   Load Address: 60008000
   Entry Point:  60008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 62c00000
   Booting using the fdt blob at 0x62c00000
   Loading Kernel Image ... OK
   Loading Device Tree to 67e23000, end 67e27ba2 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Re: U-Boot 2015.10 for Iomega HMNHDCE
April 16, 2021 04:29PM
Miclaud,

That's certainly discouraging! it behaves like the the kernel hang before it has a chance to printout anything.

Because this lack of debug output, the only way to test is to try various modes of booting, and then try a different kernel.

So, try booting with uImage only:
setenv usb_set_bootargs 'setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 earlyprintk=serial'
setenv dt_load_dtb 'echo Not loading uInitrd"
setenv dt_load_initrd 'echo Not loading uInitrd'
setenv dt_load_uimage ''echo Loading uImage from USB; ext2load usb 0:1 $uimage_addr /boot/uImage'
setenv dt_bootm 'echo Booting Debian; bootm $uimage_addrr'
boot

If the behavior is the same hang with the above, try using a newer uImage such as one in linux-5.4.101-oxnas-tld-1.bodhi.tar.bz2.

To test boot with uImage only, you don't really need to install the new kernel. Use zImage to create uImage with the DTB embedded inside.

Mount the USB rootfs on another Linux box and assuming it is mounted at /media/sdb1
cd /media/sdb1/boot
mv uImage uImage.orig
cp -a zImage-5.4.101-oxnas-tld-1  zImage.fdt
cat dts/ox820-pogoplug-classic.dtb  >> zImage.fdt
mkimage -A arm -O linux -T kernel -C none -a 0x60008000 -e 0x60008000 -n Linux-5.4.101-oxnas-tld-1 -d zImage.fdt uImage
sync

And then repeat the test above.

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

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: