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 usbbootI 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