VF61 won't boot Linux

I just received two VF61 modules from Toradex. Since they do not come with Linux pre-installed, I had to first install Uboot and then install Linux (Colibri console image 2.8b6.184-20190401. I have my Linux image on an DC card with a custom device tree needed for my hardware. To install Uboot and Linux I do the following:

With SD card plugged in Colibri evaluation board, install new VF61, power on, and hit spacebar on terminal.
Hit “X”
At command prompt execute “flashloader colibri_vf/u-boot-nand.imx”, then execute “reboot”
Hit spacebar to stop autoboot.
At Colibri VFxx# prompt, execute the following commands: “nand erase.part ubi”, “run setupdate”, “run update”

At this point Linux installs and the system boots to a Linux console prompt.ct

This worked perfectly on the first of my two VF61 modules. However, the second module didn’t do so well. Everything goes fine until it starts to boot up Linux, but it never boots to a command prompt. It hangs at some point, waits a long time, then starts spewing out a bunch or error messages. It is not consistent from one boot attempt to another, but never completes the boot to a command prompt.

For your reference I have attached the following three files, all captures of the console output when attempting to boot.

goodvf61.txt is a capture of a good boot sequence on the working VF61.

badvf61-1.txt and badvf61-2.txt are captures of failed boot attempts on the non-working VF61.

I think I have a defective VF61 module. Do you agree? Is there anything else that could cause this? I did nothing else to this module except install Uboot and install Linux.link text

Hi @irbsd

The hardware is not defective. The difference between logs from working and non-working is the kernel command line:

Kernel command line: clk_ignore_unused initcall_blacklist=sram_init

These two parameters are needed for startup of M4 core, which are missing in the log of non-working module. Since you are doing multi core communication using rpsmg, the M4 needs to be up when Linux is started. If the M4 is not started, then rpmsg will crash.

Best regards,
Jaski

The first (working) module booted Linux fine, after which I installed my multi-core application which included (in Uboot), the following commands:

setenv defargs ‘clk_ignore_unused initcall_blacklist=sram_init’

setenv fdt_fixup ‘fdt addr ${fdt_addr_r} && fdt rm /soc/aips-bus@40000000/serial@40029000’

saveenv

This first module is working fine with my multi-core application. That is why the first module has the Kernel command line you reference above.

The problem is the second module. I have not yet installed my multi-core application on this module. I have only done the following so far:

  1. installed Uboot with the following commands (from the original boot loader, after hitting a key to stop autoboot, and hitting “x” to get a command prompt:

flashloader colibri_vf/u-boot-nand.imx

reboot

This brought up uboot, and I hit a key to stop autoboot.

I then executed the following commands:

nand erase.part ubi

run setupdate

run update

Note that the SD card installed in the Colibri evaluation board at this time has a stock Colibri console Linux 2.8 image on it. The only change is a slightly modified device tree file to enable some additional serial ports and an additional SPI device with a total of 3 chip selects between the two SPI devices I am using. However, the Linux image does NOT have any multi-core application included in it yet. I take care of installing my multi-core application after the stock Linux system has booted.

I never get that far. The stock Linux image never boots to a command prompt. This is the reason you do not see the Kernel command line you reference above. I never got that far in setting up the second VF61 module. It never boots. There is no user application installed yet, multi-core or otherwise. Just a stock Toradex Linux console 2.8 image. And I can’t get it to boot.

hi @irbsd

Thanks for your Input.

Note that the SD card installed in the Colibri evaluation board at this time has a stock Colibri console Linux 2.8 image on it. The only change is a slightly modified device tree file to enable some additional serial ports and an additional SPI device with a total of 3 chip selects between the two SPI devices I am using. However, the Linux image does NOT have any multi-core application included in it yet. I take care of installing my multi-core application after the stock Linux system has booted

Could you flash a stock image, reset the U-Boot environment and check if the module is booting? If not, then share a complete serialbootlog please?

Thanks and best regards,
Jaski