AnsweredAssumed Answered

iMX6ull boot from USB stick with uuu/mfgtools Kernel panic

Question asked by Marius Chincisan on Jan 30, 2020
Latest reply on Jan 30, 2020 by igorpadykov

I have a iMX6 DART UL.  Is running a debian distro.
There is no SD card on it, but I  have the development board from Varisicte which has the SD so I can boot from it.

I need to boot from the USB stick (the deployment HW has the OTG USB available) to make updates onto eMMC. 

 

If we put the board onto the mother board, I can boot from the SDcard.
Botting from SDcard, I can access the eMMC.

 

Also I can stop it at u-boot prompt and boot from USB (0:1). The usb has the same image as the SDcard.

 

# at u-boot prompt
=>usb start;root=/dev/sda2 rootdelay=3 console=${console},
${baudrate};load usb 0:1 0x82000000 /zImage;
load usb 0:1 0x83000000 /imx6ull-var-dart-6ulcustomboard-emmc-wifi.dtb;
boot

Having the same board away from it's mother that has the SD slot, all we can do is to use the msfg  from GitHub - NXPmicro/mfgtools: Freescale/NXP I.MX Chip image deploy tools.  and I push the u-boot.imx over.

This works just fine and  get the prompt (the u-boot.imx has fasstboot out)

At u-boot prompt if I type same env

 

 

=> setenv usbboot 'usb start;root=/dev/sda2 rootdelay=3 console=${console},${baudrate};load usb 0:1 0x82000000 /zImage;load usb 0:1 0x83000000 /imx6ull-var-dart-6ulcustomboard-emmc-wifi.dtb;boot'
=> run usbboot

 

I get a kernel panic with.  Trying to go on nand. What other u-boot vars I have to tweak ?

Please append a correct "root=" boot option; here are the available partitions:


Botting from the SDcard u-uboot prompt or eMMC u-boot promot all is fine, the image boots onto /dev/sda2 from USB stick.

 

 

Booting Linux on physical CPU 0x0
Linux version 4.14.78-gaecdf947c96b-dirty (root@hpp) (gcc version 6.3.1 20170404 (Linaro GCC 6.3-2017.05)) #2 SMP PREEMPT Wed Jan 29 13:29:11 EST 2020
CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c53c7d
CPU: div instructions available: patching division code
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt: Machine model: Variscite DART-6UL with i.MX6ULL, eMMC & WiFi support on VAR-6ULCustomBoard
Memory policy: Data cache writealloc
percpu: Embedded 16 pages/cpu @9fbd0000 s35340 r8192 d22004 u65536
Built 1 zonelists, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttymxc0,115200 ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs rw
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[.../* all good */]
input: keys as /devices/soc0/keys/input/input2
scsi host0: usb-storage 2-1:1.0
rtc-ds1307 1-0068: setting system clock to 2019-02-14 11:22:30 UTC (1550143350)
VSD_3V3: disabling
gpio_dvfs: disabling
ALSA device list:
  #0: wm8731audio
VFS: Cannot open root device "ubi0:rootfs" or unknown-block(0,0): error -19
Please append a correct "root=" boot option; here are the available partitions:
0100           65536 ram0
 (driver?)
0101           65536 ram1
 (driver?)
0102           65536 ram2
 (driver?)
0103           65536 ram3
 (driver?)
0104           65536 ram4
 (driver?)
0105           65536 ram5
 (driver?)
0106           65536 ram6
 (driver?)
0107           65536 ram7
 (driver?)
0108           65536 ram8
 (driver?)
0109           65536 ram9
 (driver?)
010a           65536 ram10
 (driver?)
010b           65536 ram11
 (driver?)
010c           65536 ram12
 (driver?)
010d           65536 ram13
 (driver?)
010e           65536 ram14
 (driver?)
010f           65536 ram15
 (driver?)
b300         7634944 mmcblk1
 driver: mmcblk
  b301            8192 mmcblk1p1 d3ed8c55-01

  b302         7622656 mmcblk1p2 d3ed8c55-02

b318             512 mmcblk1rpmb
 (driver?)
b310            4096 mmcblk1boot1
 (driver?)
b308            4096 mmcblk1boot0
 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
scsi 0:0:0:0: Direct-Access     PNY      USB 2.0 FD       1100 PQ: 0 ANSI: 4
sd 0:0:0:0: [sda] 15950592 512-byte logical blocks: (8.17 GB/7.61 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
sd 0:0:0:0: [sda] No Caching mode page found
sd 0:0:0:0: [sda] Assuming drive cache: write through

 

Thank you

 

 

... more info.

 

I was trying to boot over tftp, but I have different kerne issue.

 

 

random: fast init done
mmc0: SDHCI controller on 2190000.usdhc [2190000.usdhc] using ADMA
mmc1: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADMA
caam 2140000.caam: ERA source: CCBVID.
Unhandled fault: imprecise external abort (0x1c06) at 0xa4a8005c
pgd = 80004000
[a4a8005c] *pgd=9c52c811, *pte=02140653, *ppte=02140453
Internal error: : 1c06 [#1] PREEMPT SMP ARM
Modules linked in:
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.14.78-gaecdf947c96b-dirty #2
Hardware name: Freescale i.MX6 UltraLite (Device Tree)
task: 9c054000 task.stack: 9c058000
PC is at _raw_spin_lock_irqsave+0xc/0x5c
LR is at of_device_is_compatible+0x1c/0x4c
pc : [<809a7894>]    lr : [<8072e07c>]    psr: a0000013
sp : 9c059e00  ip : 80ad392c  fp : 00010000


...

9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[<809a7894>] (_raw_spin_lock_irqsave) from [<8072e07c>] (of_device_is_compatible+0x1c/0x4c)
[<8072e07c>] (of_device_is_compatible) from [<80702630>] (caam_probe+0x7cc/0x115c)
[<80702630>] (caam_probe) from [<8050c314>] (platform_drv_probe+0x50/0xb0)
[<8050c314>] (platform_drv_probe) from [<8050aa58>] (driver_probe_device+0x22c/0x2e0)
[<8050aa58>] (driver_probe_device) from [<8050abc4>] (__driver_attach+0xb8/0xbc)
[<8050abc4>] (__driver_attach) from [<80508fc8>] (bus_for_each_dev+0x68/0x9c)
[<80508fc8>] (bus_for_each_dev) from [<80509f20>] (bus_add_driver+0x100/0x20c)
[<80509f20>] (bus_add_driver) from [<8050b488>] (driver_register+0x78/0xf4)
[<8050b488>] (driver_register) from [<801019bc>] (do_one_initcall+0x44/0x168)
[<801019bc>] (do_one_initcall) from [<80e00dc4>] (kernel_init_freeable+0x140/0x1cc)
[<80e00dc4>] (kernel_init_freeable) from [<809a2b00>] (kernel_init+0x8/0x10c)
[<809a2b00>] (kernel_init) from [<80107928>] (ret_from_fork+0x14/0x2c)
Code: e12fff1e e92d4070 e1a04000 e10f5000 (f10c0080)
---[ end trace 7a2df4a9ede60047 ]---
Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

 

 

Looks like the dtb file is not taken. I have probed all of them. any idea. Thank you

Outcomes