13 13
gprovost

Helios4 Support

Recommended Posts

@Zykr The fact that you reach "Uncompressing Linux... done, booting kernel" means that u-boot found the boot.src on your boot device (assuming microSD Card) and loaded correctly the kernel, initramfs and the device tree file. So something might be wrong with the kernel rather than u-boot.

 

Could you copy your the boot output here.

 

Do you remember what was your kernel version before upgrade ?

 

Have you try a full port cycle ?

Share this post


Link to post
Share on other sites

I had the default kernel in the image on the wiki, should have been 4.14.74-mvebu and the upgrade was from linux-4.4.153-mvebu/linux-image-mvebu_5.60_armhf.deb

I'm not sure how to see what the current pointer is nor how to set it from uboot.

 

Boot output:

Spoiler

 

BootROM - 1.73

 

Booting from MMC

 

 

General initialization - Version: 1.0.0

AVS selection from EFUSE disabled (Skip reading EFUSE values)

Overriding default AVS value to: 0x23

Detected Device ID 6828

High speed PHY - Version: 2.0

 

Init Customer board board SerDes lanes topology details:

 | Lane # | Speed|    Type     |

 ------------------------------|

 |   0    |  3   |  SATA0      |

 |   1    |  5   |  USB3 HOST0 |

 |   2    |  3   |  SATA1      |

 |   3    |  3   |  SATA3      |

 |   4    |  3   |  SATA2      |

 |   5    |  5   |  USB3 HOST1 |

 -------------------------------

High speed PHY - Ended Successfully

DDR3 Training Sequence - Ver TIP-1.46.0

DDR3 Training Sequence - Switching XBAR Window to FastPath Window

DDR Training Sequence - Start scrubbing

DDR Training Sequence - End scrubbing

DDR3 Training Sequence - Ended Successfully

BootROM: Image checksum verification PASSED

 

 __   __                      _ _

|  \/  | __ _ _ ____   _____| | |

| |\/| |/ _` | '__\ \ / / _ \ | |

| |  | | (_| | |   \ V /  __/ | |

|_|  |_|\__,_|_|    \_/ \___|_|_|

         _   _     ____              _

        | | | |   | __ )  ___   ___ | |_

        | | | |___|  _ \ / _ \ / _ \| __|

        | |_| |___| |_) | (_) | (_) | |_

         \___/    |____/ \___/ \___/ \__|

 ** LOADER **

 

 

U-Boot 2013.01 (Oct 09 2018 - 13:47:44) Marvell version: 2015_T1.0p16

 

Board: Helios4

SoC:   MV88F6828 Rev A0

       running 2 CPUs

CPU:   ARM Cortex A9 MPCore (Rev 1) LE

       CPU 0

       CPU    @ 1600 [MHz]

       L2     @ 800 [MHz]

       TClock @ 250 [MHz]

       DDR3    @ 800 [MHz]

       DDR3 32 Bit Width,FastPath Memory Access, DLB Enabled, ECC Enabled

DRAM:  2 GiB

MMC:   mv_sdh: 0

*** Warning - bad CRC, using default environment

 

USB2.0 0: Host Mode

USB3.0 0: Host Mode

USB3.0 1: Host Mode

 

Map:   Code:                    0x7fee6000:0x7ff978f0

       BSS:                     0x7ffef2fc

       Stack:                   0x7f9e3f20

       Heap:                    0x7f9e4000:0x7fee6000

       U-Boot Environment:      0x000fe000:0x00100000 (MMC)

 

Board configuration detected:

Net:

|  port  | Interface | PHY address  |

|--------|-----------|--------------|

| egiga0 |   RGMII   |     0x00     |

egiga0 [PRIME]

Hit any key to stop autoboot:  0

Trying to boot from MMC

1979 bytes read in 17 ms (113.3 KiB/s)

## Executing script at 03000000

Boot script loaded from mmc

173 bytes read in 13 ms (12.7 KiB/s)

19512 bytes read in 51 ms (373 KiB/s)

6238277 bytes read in 342 ms (17.4 MiB/s)

4822864 bytes read in 276 ms (16.7 MiB/s)

## Loading init Ramdisk from Legacy Image at 02880000 ...

   Image Name:   uInitrd

   Created:      2018-12-05  14:33:27 UTC

   Image Type:   ARM Linux RAMDisk Image (gzip compressed)

   Data Size:    6238213 Bytes = 5.9 MiB

   Load Address: 00000000

   Entry Point:  00000000

## Flattened Device Tree blob at 02040000

   Booting using the fdt blob at 0x02040000

   Using Device Tree in place at 02040000, end 02047c37

 

   Skipping Device Tree update ('fdt_skip_update' = yes)

 

Limit DDR size at 3GB due to power of 2 requirement of Address decoding

 

Starting kernel ...

 

Uncompressing Linux... done, booting the kernel.

 

 

Printenv:

Spoiler

 

Marvell>> printenv

CASset=max

MALLOC_len=5

MPmode=SMP

autoload=no

baudrate=115200

boot_a_script=for prefix in /boot/ /; do                load ${boot_interface} 0:1 ${script_addr_r} ${prefix}boot.scr &&     source ${script_addr_r};                 done

boot_order=hd_scr usb_scr mmc_scr hd_img usb_img mmc_img pxe net_img net_scr

bootargs_dflt=$console $nandEcc $mtdparts_lgcy $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel

bootargs_end=:10.4.50.254:255.255.255.0:Armada38x:eth0:none

bootargs_root=root=/dev/nfs rw

bootcmd=echo Trying to boot from MMC; run mmcboot;echo Trying to boot from USB; run usbboot;echo Default boot sequence failed - falling back to TFTP;tftpboot 0x2000000 $image_name;tftpboot $fdtaddr $fdtfile;setenv bootargs $console $nandEcc $mtdparts $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end $mvNetConfig video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel; bootz 0x2000000 - $fdtaddr;

bootcmd_auto=stage_boot $boot_order

bootcmd_lgcy=tftpboot 0x2000000 $image_name;setenv bootargs $console $nandEcc $mtdparts_lgcy $bootargs_root nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip$bootargs_end  video=dovefb:lcd0:$lcd0_params clcd.lcd0_enable=$lcd0_enable clcd.lcd_panel=$lcd_panel;  bootm $loadaddr;

bootdelay=3

cacheShare=no

console=console=ttyS0,115200

device_partition=0:1

disaMvPnp=no

eeeEnable=no

enaClockGating=no

enaCpuStream=no

enaFPU=yes

enaMonExt=no

enaWrAllo=no

eth1addr=00:50:43:f6:3f:07

eth1mtu=1500

eth2addr=00:50:43:f6:00:07

eth2mtu=1500

eth3addr=00:50:43:3f:00:f6

eth3mtu=1500

ethact=egiga0

ethaddr=00:50:43:00:3f:07

ethmtu=1500

ethprime=egiga0

fdt_addr=2040000

fdt_skip_update=yes

fdtfile=armada-388-helios4.dtb

ide_path=/

image_name=uImage

initrd_name=uInitrd

ipaddr=10.4.50.170

kernel_addr_r=2080000

lcd0_enable=0

lcd0_params=640x480-16@60

lcd_panel=0

limit_dram_size=yes

loadaddr=0x02000000

loads_echo=0

mmcboot=setenv boot_interface mmc; run boot_a_script;

mtdids=spi0=spi_flash

mtdparts=mtdparts=spi0.0:4m(boot),-(spi-rootfs)

mtdparts_lgcy=mtdparts=spi_flash:4m(boot),-(spi-rootfs)

mvNetConfig=mv_net_config=4,(00:50:43:11:11:11,0:1:2:3),mtu=1500

mv_pon_addr=00:50:43:07:00:f6

netbsd_en=no

netmask=255.255.255.0

netretry=no

pcieTune=no

pexMode=RC

pxe_files_load=:default.arm-armadaxp-db:default.arm-armadaxp:default.arm

pxefile_addr_r=3100000

ramdisk_addr_r=2880000

rootpath=/srv/nfs/

run_script=no

sata_delay_reset=0

sata_dma_mode=yes

sataboot=scsi init; setenv boot_interface scsi; run boot_a_script;

script_addr_r=3000000

script_name=boot.scr

sd_detection_dat3=no

serverip=10.4.50.38

standalone=fsload 0x2000000 $image_name;setenv bootargs $console $nandEcc $mtdparts_lgcy root=/dev/mtdblock0 rw ip=$ipaddr:$serverip$bootargs_end; bootm 0x2000000;

stderr=serial

stdin=serial

stdout=serial

usb0Mode=host

usbActive=1

usbType=3

usbboot=setenv usbActive 1; setenv usbType 3; usb start; setenv boot_interface usb; run boot_a_script;

vxworks_en=no

yuk_ethaddr=00:00:00:EE:51:81

 

Environment size: 3228/8188 bytes

 


ls of /boot on mmc:

Spoiler


Marvell>> ext4ls mmc 0:1 /boot/

<DIR>       4096 .

<DIR>       4096 ..

<SYM>         21 uInitrd

<SYM>         21 zImage

<SYM>         17 dtb

          123827 config-4.14.83-mvebu

           38518 boot.bmp

               0 .next

            1536 armbian_first_run.txt.template

         6238213 initrd.img-4.14.83-mvebu

             173 armbianEnv.txt

         6238277 uInitrd-4.14.83-mvebu

            4882 boot-desktop.png

            1907 boot.cmd

            1979 boot.scr

<SYM>         17 dtb.old

         5450232 vmlinuz-4.14.83-mvebu

          127521 config-4.4.153-mvebu

         4822864 vmlinuz-4.4.153-mvebu

         2179815 System.map-4.14.83-mvebu

<DIR>       4096 dtb-4.14.83-mvebu

         9229812 uInitrd-4.4.153-mvebu

         2197074 System.map-4.4.153-mvebu

         9229748 initrd.img-4.4.153-mvebu

 

 

Share this post


Link to post
Share on other sites

@Zykr It is very strange and not normal that the upgrade installed a 4.4.y instead of a 4.14.y kernel.

 

Did you do apt-get upgrade or did you manually choose the linux-image package ?

 

So it could be something similar that what pointed out Tido above.

 

The ext4ls mmc 0:1 /boot/  command doesn't show the symlink target unfortunately. But based on the load sizes in your uboot log, u-boot is loading the initramfs (uIinitrd) ver 4.14.83 and loading kernel (zImage) ver 4.4.153 which is completely wrong and explain why the boot fails. 

 

The easiest would be to mount the microSD Card on your personal computer and check / fix that the following symlinks in /boot are as follow:

dtb -> dtb-4.14.83-mvebu

uInitrd -> uInitrd-4.14.83-mvebu

zImage -> vmlinuz-4.14.83-mvebu

 

 

@Igor Is it an issue you experienced before ?

Share this post


Link to post
Share on other sites

@Zykr to complement what I wrote before. You could use following u-boot commands to boot manually on the correct kernel. Then once booted as wrote above, you should fix the wrong symlink in /boot ;-)

setenv bootargs "console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 ubootdev=mmc scandelay loglevel=1"

load mmc 0:1 ${fdt_addr} /boot/dtb-4.14.83-mvebu/${fdtfile}
load mmc 0:1 ${ramdisk_addr_r} /boot/initrd.img-4.14.83-mvebu
load mmc 0:1 ${kernel_addr_r} /boot/vmlinuz-4.14.83-mvebu

setenv fdt_high 0xffffffff
setenv initrd_high 0xffffffff

bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr}

 

Share this post


Link to post
Share on other sites

it was a normal apt-upgrade that provided the link, though I did download it with wget instead of apt since apt wasn't working for some reason(kept stalling out, less than x data in last 120 seconds).

However, I just put it in the apt cache folder and it found it. I supposed it could have gotten corrupted at some point but I'm not sure how.

 

trying the options in your second post sadly gives me only: "Ramdisk image is corrupt or invalid"

 

I also tried the same thing with the "4.4.153-mvebu" kernel, but got the same result.

Something must have gotten really screwed up somewhere, but I have no idea what or how.

I'm not at my linux laptop at the moment, so I'll have to try checking the symlinks with ls later.

 

Thank you very much for your help so far. Maybe I just need to reinstall and then blacklist that upgrade or pin the kernel version.

 

Share this post


Link to post
Share on other sites

Hi @Zykr, I just wanted to add on top of @gprovost instruction

On 12/8/2018 at 3:36 PM, gprovost said:

@Zykr to complement what I wrote before. You could use following u-boot commands to boot manually on the correct kernel. Then once booted as wrote above, you should fix the wrong symlink in /boot ;-)


setenv bootargs "console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 ubootdev=mmc scandelay loglevel=1"

load mmc 0:1 ${fdt_addr} /boot/dtb-4.14.83-mvebu/${fdtfile}
load mmc 0:1 ${ramdisk_addr_r} /boot/initrd.img-4.14.83-mvebu
load mmc 0:1 ${kernel_addr_r} /boot/vmlinuz-4.14.83-mvebu

setenv fdt_high 0xffffffff
setenv initrd_high 0xffffffff

bootz ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr}

 

Replace the loglevel in the bootargs with "ignore_loglevel earlyprintk earlycon" so the kernel can output debug message as earliest as possible.

And since you encountered problem with the ramdisk, maybe just skip it for now

 

Below is the modified command

setenv bootargs "console=ttyS0,115200 root=/dev/mmcblk0p1 rootwait rootfstype=ext4 ubootdev=mmc scandelay ignore_loglevel earlyprintk earlycon"

load mmc 0:1 ${fdt_addr} /boot/dtb-4.14.83-mvebu/${fdtfile}
load mmc 0:1 ${kernel_addr_r} /boot/vmlinuz-4.14.83-mvebu

setenv fdt_high 0xffffffff
setenv initrd_high 0xffffffff

bootz ${kernel_addr_r} - ${fdt_addr}

 

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
13 13