PICO-PI-IMX7 USB Flash Drive

Is it possible to connect a USB Pendrive to the board, install ubuntu on it, and boot from it? I’m already out of space on the little storage space that the board has.

It should work, move “extlinux.conf” to the usb flash drive…

Boot order with extlinux.conf is:

mmc
usb
pxe
dhcp

Regards,

I tried doing these steps:
I followed the guide doing the exact same steps up to the last sfdisk command.
Then I stopped the ums mode with ctrl+c and started the USB interface by doing usb start in the serial console.
Then I mounted the USB storage device with the command ums 0 usb 0, and it successfully mounted the USB drive into the Development Machine.
After that, I continued to follow the guide starting from the partition formatting, but this time the mounted device was the USB drive.

The process completed successfully but the board doesn’t boot properly into ubuntu. This is the log of the boot:

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2022.01.23 15:20:44 =~=~=~=~=~=~=~=~=~=~=~=

U-Boot SPL 2021.10 (Jan 12 2022 - 11:36:06 +0100)
Trying to boot from MMC1


U-Boot 2021.10 (Jan 12 2022 - 11:36:06 +0100)

CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 37C
Reset cause: POR
Model: TechNexion PICO-IMX7D Board and PI baseboard
Board: i.MX7D PICOSOM
I2C:   ready
DRAM:  512 MiB
PMIC:  PFUZE3000 DEV_ID=0x30 REV_ID=0x11
MMC:   FSL_SDHC: 3, FSL_SDHC: 1, FSL_SDHC: 0
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@30be0000
Hit any key to stop autoboot:  2  1  0 
Saving Environment to MMC... Writing to MMC(0)... OK
switch to partitions #0, OK
mmc0(part 0) is current device
starting USB...
Bus usb@30b10000: Bus usb@30b20000: USB EHCI 1.00
scanning bus usb@30b10000 for devices... 1 USB Device(s) found
scanning bus usb@30b20000 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found

Device 0: Vendor: Kingston Rev: 1.00 Prod: DT 101 G2       
            Type: Removable Hard Disk
            Capacity: 15295.0 MB = 14.9 GB (31324160 x 512)
... is now current device
Scanning usb 0:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
194 bytes read in 4 ms (46.9 KiB/s)
1:	Linux 5.15.10-armv7-lpae-x15
Retrieving file: /boot/vmlinuz-5.15.10-armv7-lpae-x15
12116480 bytes read in 429 ms (26.9 MiB/s)
append: root=/dev/mmcblk2p1 ro rootfstype=ext4 rootwait quiet
Retrieving file: /boot/dtbs/5.15.10-armv7-lpae-x15/imx7d-pico-pi.dtb
49781 bytes read in 8 ms (5.9 MiB/s)
Kernel image @ 0x80800000 [ 0x000000 - 0xb8e200 ]
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8300f274

Starting kernel ...

[    0.072052] debugfs: Directory 'dummy-iomuxc-gpr@30340000' with parent 'regmap' already present!
[    1.730131] debugfs: Directory 'dummy-reset-controller@30390000' with parent 'regmap' already present!
[    1.843548] CPUidle arm: CPU 0 failed to init idle CPU ops
[    2.378484] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)
[    2.386962] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.15.10-armv7-lpae-x15 #1
[    2.394301] Hardware name: Freescale i.MX7 Dual (Device Tree)
[    2.400067] Backtrace: 
[    2.402533] [<c1212f44>] (dump_backtrace) from [<c1213190>] (show_stack+0x20/0x24)
[    2.410155]  r7:c17d7754 r6:c16830dc r5:60000093 r4:c169d798
[    2.415831] [<c1213170>] (show_stack) from [<c121d86c>] (dump_stack_lvl+0x48/0x54)
[    2.423441] [<c121d824>] (dump_stack_lvl) from [<c121d890>] (dump_stack+0x18/0x1c)
[    2.431055]  r5:00000000 r4:c1e23220
[    2.434643] [<c121d878>] (dump_stack) from [<c12137a4>] (panic+0x10c/0x30c)
[    2.441641] [<c1213698>] (panic) from [<c1a01ba8>] (mount_block_root+0x208/0x210)
[    2.449171]  r3:4784c582 r2:4784c582 r1:c21c3e8c r0:c16830dc
[    2.454849]  r7:c17d7754
[    2.457394] [<c1a019a0>] (mount_block_root) from [<c1a01dd0>] (mount_root+0x220/0x23c)
[    2.465362]  r10:c1e22028 r9:c21c2000 r8:c1e22000 r7:c1a7e838 r6:00000008 r5:c1a7e86d
[    2.473215]  r4:0b300001
[    2.475760] [<c1a01bb0>] (mount_root) from [<c1a01f4c>] (prepare_namespace+0x160/0x19c)
[    2.483824]  r10:c187a2f4 r9:c1a7e858 r8:c1e22000 r7:c1a7e838 r6:00000008 r5:c1a7e86d
[    2.491686]  r4:c1e22028
[    2.494235] [<c1a01dec>] (prepare_namespace) from [<c1a01604>] (kernel_init_freeable+0x29c/0x2b0)
[    2.503163]  r5:c22c8ec0 r4:c1c0fc94
[    2.506754] [<c1a01368>] (kernel_init_freeable) from [<c1229c64>] (kernel_init+0x20/0x13c)
[    2.515077]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c1229c44
[    2.522936]  r4:00000000
[    2.525482] [<c1229c44>] (kernel_init) from [<c0200120>] (ret_from_fork+0x14/0x34)
[    2.533098] Exception stack(0xc21c3fb0 to 0xc21c3ff8)
[    2.538177] 3fa0:                                     00000000 00000000 00000000 00000000
[    2.546390] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    2.554602] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    2.561242]  r5:c1229c44 r4:00000000
[    2.564839] CPU0: stopping
[    2.567576] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.15.10-armv7-lpae-x15 #1
[    2.574920] Hardware name: Freescale i.MX7 Dual (Device Tree)
[    2.580687] Backtrace: 
[    2.583153] [<c1212f44>] (dump_backtrace) from [<c1213190>] (show_stack+0x20/0x24)
[    2.590772]  r7:c2107f80 r6:00000000 r5:60000193 r4:c169d798
[    2.596451] [<c1213170>] (show_stack) from [<c121d86c>] (dump_stack_lvl+0x48/0x54)
[    2.604065] [<c121d824>] (dump_stack_lvl) from [<c121d890>] (dump_stack+0x18/0x1c)
[    2.611683]  r5:c1c0caa4 r4:00000004
[    2.615274] [<c121d878>] (dump_stack) from [<c020fbd0>] (do_handle_IPI+0x360/0x38c)
[    2.622980] [<c020f870>] (do_handle_IPI) from [<c020fc24>] (ipi_handler+0x28/0x30)
[    2.630601]  r9:c1c01e98 r8:c1c01e18 r7:c2107f80 r6:00000014 r5:c1c0caa4 r4:c214b000
[    2.638371] [<c020fbfc>] (ipi_handler) from [<c02be0a0>] (handle_percpu_devid_irq+0xa4/0x268)
[    2.646949] [<c02bdffc>] (handle_percpu_devid_irq) from [<c02b70e0>] (handle_domain_irq+0x8c/0xc0)
[    2.655963]  r9:c1c01e98 r8:00000004 r7:00000000 r6:c2151000 r5:00000000 r4:c1af683c
[    2.663733] [<c02b7054>] (handle_domain_irq) from [<c0201348>] (gic_handle_irq+0x78/0x8c)
[    2.671962]  r10:c1c00000 r9:c1c00000 r8:e081400c r7:c1af6848 r6:e0814000 r5:c1c01e98
[    2.679822]  r4:c1c0caa4 r3:00000404
[    2.683412] [<c02012d0>] (gic_handle_irq) from [<c0200ac8>] (__irq_svc+0x48/0x74)
[    2.690936] Exception stack(0xc1c01e98 to 0xc1c01ee0)
[    2.696013] 1e80:                                                       00000e88 c169d798
[    2.704227] 1ea0: 00000000 c021f840 00000000 c1c00000 c1c0b098 c1c0b0ec 00000000 00000000
[    2.712440] 1ec0: c1c00000 c1c01ef4 c1c01ef8 c1c01ee8 c02092cc c02092d0 60000113 ffffffff
[    2.720655]  r9:c1c00000 r8:00000000 r7:c1c01ecc r6:ffffffff r5:60000113 r4:c02092d0
[    2.728424] [<c0209288>] (arch_cpu_idle) from [<c12328c8>] (default_idle_call+0x3c/0x15c)
[    2.736654] [<c123288c>] (default_idle_call) from [<c027ad58>] (do_idle+0x240/0x2e0)
[    2.744444]  r5:c1c00000 r4:00000000
[    2.748035] [<c027ab18>] (do_idle) from [<c027b168>] (cpu_startup_entry+0x28/0x30)
[    2.755653]  r10:30c5387d r9:c1a7ea64 r8:c1c0b040 r7:00000000 r6:ffffffff r5:c1c1fb68
[    2.763512]  r4:000000e4
[    2.766058] [<c027b140>] (cpu_startup_entry) from [<c1229c3c>] (rest_init+0xe0/0xe8)
[    2.773846] [<c1229b5c>] (rest_init) from [<c1a00b00>] (arch_call_rest_init+0x18/0x1c)
[    2.781815]  r5:c1a7ea64 r4:c1e22040
[    2.785406] [<c1a00ae8>] (arch_call_rest_init) from [<c1a012b4>] (start_kernel+0x720/0x770)
[    2.793808] [<c1a00b94>] (start_kernel) from [<00000000>] (0x0)
[    2.799777]  r10:30c5387d r9:410fc075 r8:83000000 r7:00000000 r6:30c0387d r5:00000000
[    2.807636]  r4:c1a00330
[    2.810197] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1) ]---

I admit that I followed these steps by intuition. Is there some evident mistake I made or does something evident emerge by the logs?

I already tried to follow the guide by mounting the USB drive at the beginning and putting the bootloader there, but the board doesn’t even start in that way. So I assumed that the right way to do was to put the bootloader in the emmc and all the rest in the USB drive.

The part where I think I messed up is the “Setup microSD card” paragraph of the guide, where the partition are created and formated; I probably created and formatted the partitions of the emmc and the USB in a wrong way.

Since it could be more useful, I’m attaching the kernel logs without the “quiet” flag:

=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2022.01.23 20:08:31 =~=~=~=~=~=~=~=~=~=~=~=
À
U-Boot SPL 2021.10 (Jan 12 2022 - 11:36:06 +0100)
Trying to boot from MMC1


U-Boot 2021.10 (Jan 12 2022 - 11:36:06 +0100)

CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 30C
Reset cause: POR
Model: TechNexion PICO-IMX7D Board and PI baseboard
Board: i.MX7D PICOSOM
I2C:   ready
DRAM:  512 MiB
PMIC:  PFUZE3000 DEV_ID=0x30 REV_ID=0x11
MMC:   FSL_SDHC: 3, FSL_SDHC: 1, FSL_SDHC: 0
Loading Environment from MMC... OK
In:    serial
Out:   serial
Err:   serial
Net:   eth0: ethernet@30be0000
Hit any key to stop autoboot:  2  1  0 
Saving Environment to MMC... Writing to MMC(0)... OK
switch to partitions #0, OK
mmc0(part 0) is current device
starting USB...
Bus usb@30b10000: Bus usb@30b20000: USB EHCI 1.00
scanning bus usb@30b10000 for devices... 1 USB Device(s) found
scanning bus usb@30b20000 for devices... 2 USB Device(s) found
       scanning usb for storage devices... 1 Storage Device(s) found

Device 0: Vendor: Kingston Rev: 1.00 Prod: DT 101 G2       
            Type: Removable Hard Disk
            Capacity: 15295.0 MB = 14.9 GB (31324160 x 512)
... is now current device
Scanning usb 0:1...
Found /boot/extlinux/extlinux.conf
Retrieving file: /boot/extlinux/extlinux.conf
188 bytes read in 3 ms (60.5 KiB/s)
1:	Linux 5.15.10-armv7-lpae-x15
Retrieving file: /boot/vmlinuz-5.15.10-armv7-lpae-x15
12116480 bytes read in 428 ms (27 MiB/s)
append: root=/dev/mmcblk2p1 ro rootfstype=ext4 rootwait
Retrieving file: /boot/dtbs/5.15.10-armv7-lpae-x15/imx7d-pico-pi.dtb
49781 bytes read in 6 ms (7.9 MiB/s)
Kernel image @ 0x80800000 [ 0x000000 - 0xb8e200 ]
## Flattened Device Tree blob at 83000000
   Booting using the fdt blob at 0x83000000
   Using Device Tree in place at 83000000, end 8300f274

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.15.10-armv7-lpae-x15 (pietrecadute@pietrecadute-desktop) (arm-linux-gnueabi-gcc (GCC) 11.1.0, GNU ld (GNU Binutils) 2.36.1) #1 SMP PREEMPT Wed Jan 12 15:54:20 CET 2022
[    0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=30c5387d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] OF: fdt: Machine model: TechNexion PICO-IMX7D Board and PI baseboard
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 64 MiB at 0x000000009c000000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000080000000-0x000000009fffffff]
[    0.000000]   Normal   empty
[    0.000000]   HighMem  empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000080000000-0x000000009fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000080000000-0x000000009fffffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.0 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: Trusted OS migration not required
[    0.000000] psci: SMC Calling Convention v1.0
[    0.000000] percpu: Embedded 17 pages/cpu s40140 r8192 d21300 u69632
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 129920
[    0.000000] Kernel command line: root=/dev/mmcblk2p1 ro rootfstype=ext4 rootwait
[    0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:on, heap free:off
[    0.000000] Memory: 424096K/524288K available (18432K kernel code, 2183K rwdata, 4596K rodata, 2048K init, 368K bss, 34656K reserved, 65536K cma-reserved, 0K highmem)
[    0.000000] random: get_random_u32 called from __kmem_cache_create+0x30/0x498 with crng_init=0
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] ftrace: allocating 53579 entries in 158 pages
[    0.000000] ftrace: allocated 157 pages with 5 groups
[    0.000000] trace event string verifier disabled
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=2.
[    0.000000] 	Trampoline variant of Tasks RCU enabled.
[    0.000000] 	Rude variant of Tasks RCU enabled.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] arch_timer: cp15 timer(s) running at 8.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 440795202120 ns
[    0.000001] sched_clock: 56 bits at 8MHz, resolution 125ns, wraps every 2199023255500ns
[    0.000026] Switching to timer-based delay loop, resolution 125ns
[    0.000963] Switching to timer-based delay loop, resolution 41ns
[    0.000988] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[    0.001011] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[    0.004265] Console: colour dummy device 80x30
[    0.005367] printk: console [tty0] enabled
[    0.005456] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000)
[    0.005514] pid_max: default: 32768 minimum: 301
[    0.005769] LSM: Security Framework initializing
[    0.005868] Yama: becoming mindful.
[    0.006137] AppArmor: AppArmor initialized
[    0.006176] TOMOYO Linux initialized
[    0.006283] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.006337] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.007867] CPU: Testing write buffer coherency: ok
[    0.008474] CPU0: update cpu_capacity 1024
[    0.008518] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.010046] Setting up static identity map for 0x80200000 - 0x80200060
[    0.010317] rcu: Hierarchical SRCU implementation.
[    0.012361] EFI services will not be available.
[    0.013100] smp: Bringing up secondary CPUs ...
[    0.014368] CPU1: update cpu_capacity 1024
[    0.014386] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.014633] smp: Brought up 1 node, 2 CPUs
[    0.014715] SMP: Total of 2 processors activated (96.00 BogoMIPS).
[    0.014748] CPU: All CPU(s) started in HYP mode.
[    0.014772] CPU: Virtualization extensions available.
[    0.015838] devtmpfs: initialized
[    0.030319] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[    0.030846] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.030930] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.035019] pinctrl core: initialized pinctrl subsystem
[    0.036953] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.045940] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.047096] audit: initializing netlink subsys (disabled)
[    0.049500] thermal_sys: Registered thermal governor 'fair_share'
[    0.049520] thermal_sys: Registered thermal governor 'bang_bang'
[    0.049562] thermal_sys: Registered thermal governor 'step_wise'
[    0.049841] cpuidle: using governor menu
[    0.050622] audit: type=2000 audit(0.044:1): state=initialized audit_enabled=0 res=1
[    0.050922] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.050973] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.063935] amba 3007c000.etm: Fixing up cyclic dependency with 30041000.funnel
[    0.064569] amba 30083000.funnel: Fixing up cyclic dependency with 30041000.funnel
[    0.065280] amba 30084000.etf: Fixing up cyclic dependency with replicator
[    0.065419] amba 30084000.etf: Fixing up cyclic dependency with 30083000.funnel
[    0.066003] amba 30086000.etr: Fixing up cyclic dependency with replicator
[    0.066552] amba 30087000.tpiu: Fixing up cyclic dependency with replicator
[    0.072523] imx7d-pinctrl 302c0000.iomuxc-lpsr: initialized IMX pinctrl driver
[    0.074023] debugfs: Directory 'dummy-iomuxc-gpr@30340000' with parent 'regmap' already present!
[    0.074531] imx7d-pinctrl 30330000.pinctrl: initialized IMX pinctrl driver
[    0.077599] vdd1p0d: supplied by regulator-dummy
[    0.078554] vdd1p2: supplied by regulator-dummy
[    0.101109] amba 3007d000.etm: Fixing up cyclic dependency with 30041000.funnel
[    0.102479] platform panel: Fixing up cyclic dependency with 30730000.lcdif
[    0.124730] Kprobes globally optimized
[    0.125825] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.136044] raid6: skip pq benchmark and using algorithm neonx8
[    0.136110] raid6: using neon recovery algorithm
[    0.159209] mxs-dma 33000000.dma-apbh: initialized
[    0.168245] iommu: Default domain type: Translated 
[    0.168297] iommu: DMA domain TLB invalidation policy: strict mode 
[    0.169990] SCSI subsystem initialized
[    0.170723] usbcore: registered new interface driver usbfs
[    0.170830] usbcore: registered new interface driver hub
[    0.170921] usbcore: registered new device driver usb
[    0.171171] usb_phy_generic usbphynop1: supply vcc not found, using dummy regulator
[    0.171708] usb_phy_generic usbphynop3: supply vcc not found, using dummy regulator
[    0.172318] usb_phy_generic usbphynop2: supply vcc not found, using dummy regulator
[    0.174717] i2c i2c-0: IMX I2C adapter registered
[    0.176158] i2c i2c-1: IMX I2C adapter registered
[    0.177764] i2c i2c-3: IMX I2C adapter registered
[    0.178553] mc: Linux media interface: v0.10
[    0.178646] videodev: Linux video capture interface: v2.00
[    0.178872] pps_core: LinuxPPS API ver. 1 registered
[    0.178905] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.178968] PTP clock support registered
[    0.181830] NetLabel: Initializing
[    0.181879] NetLabel:  domain hash size = 128
[    0.181906] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    0.182056] NetLabel:  unlabeled traffic allowed by default
[    0.183211] clocksource: Switched to clocksource arch_sys_counter
[    0.337035] VFS: Disk quotas dquot_6.6.0
[    0.337204] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.338607] AppArmor: AppArmor Filesystem Enabled
[    0.353766] NET: Registered PF_INET protocol family
[    0.354009] IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.355620] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    0.355725] TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
[    0.355841] TCP bind hash table entries: 4096 (order: 3, 32768 bytes, linear)
[    0.355957] TCP: Hash tables configured (established 4096 bind 4096)
[    0.356264] MPTCP token hash table entries: 512 (order: 1, 8192 bytes, linear)
[    0.356399] UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.356465] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
[    0.356791] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.358170] RPC: Registered named UNIX socket transport module.
[    0.358223] RPC: Registered udp transport module.
[    0.358251] RPC: Registered tcp transport module.
[    0.358277] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.358314] NET: Registered PF_XDP protocol family
[    0.359450] hw perfevents: enabled with armv7_cortex_a7 PMU driver, 5 counters available
[    1.488606] Initialise system trusted keyrings
[    1.489041] workingset: timestamp_bits=14 max_order=17 bucket_order=3
[    1.500485] zbud: loaded
[    1.504329] NFS: Registering the id_resolver key type
[    1.504411] Key type id_resolver registered
[    1.504439] Key type id_legacy registered
[    1.504636] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.504681] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.505081] fuse: init (API version 7.34)
[    1.630870] xor: measuring software checksum speed
[    1.643761]    arm4regs        :   768 MB/sec
[    1.659324]    8regs           :   633 MB/sec
[    1.672941]    32regs          :   724 MB/sec
[    1.682503]    neon            :  1038 MB/sec
[    1.682533] xor: using function: neon (1038 MB/sec)
[    1.682572] Key type asymmetric registered
[    1.682598] Asymmetric key parser 'x509' registered
[    1.682812] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244)
[    1.683130] io scheduler mq-deadline registered
[    1.707535] imx-sdma 30bd0000.sdma: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2
[    1.707622] imx-sdma 30bd0000.sdma: external firmware not found, using ROM firmware
[    1.713206] pfuze100-regulator 3-0008: Full layer: 1, Metal layer: 1
[    1.714017] pfuze100-regulator 3-0008: FAB: 0, FIN: 0
[    1.714056] pfuze100-regulator 3-0008: pfuze3000 found.
[    1.737523] debugfs: Directory 'dummy-reset-controller@30390000' with parent 'regmap' already present!
[    1.739049] Serial: 8250/16550 driver, 6 ports, IRQ sharing disabled
[    1.745068] 30a70000.serial: ttymxc4 at MMIO 0x30a70000 (irq = 65, base_baud = 15000000) is a IMX
[    2.782421] printk: console [ttymxc4] enabled
[    2.788081] 30a80000.serial: ttymxc5 at MMIO 0x30a80000 (irq = 66, base_baud = 1500000) is a IMX
[    2.798159] 30a90000.serial: ttymxc6 at MMIO 0x30a90000 (irq = 67, base_baud = 15000000) is a IMX
[    2.808525] STM32 USART driver initialized
[    2.815179] sdhci: Secure Digital Host Controller Interface driver
[    2.821556] sdhci: Copyright(c) Pierre Ossman
[    2.826420] Synopsys Designware Multimedia Card Interface Driver
[    2.833531] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.841312] sdhci-esdhc-imx 30b40000.mmc: Got CD GPIO
[    2.847356] sdhci-esdhc-imx 30b50000.mmc: allocated mmc-pwrseq
[    2.870411] libphy: Fixed MDIO Bus: probed
[    2.883783] pps pps0: new PPS source ptp0
[    2.891914] libphy: fec_enet_mii_bus: probed
[    2.899499] fec 30be0000.ethernet eth0: registered PHC device 0
[    2.903287] mmc2: SDHCI controller on 30b60000.mmc [30b60000.mmc] using ADMA
[    2.911113] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.912757] mmc1: SDHCI controller on 30b50000.mmc [30b50000.mmc] using ADMA
[    2.919172] ehci-platform: EHCI generic platform driver
[    2.919559] ehci-omap: OMAP-EHCI Host Controller driver
[    2.927863] mmc0: SDHCI controller on 30b40000.mmc [30b40000.mmc] using ADMA
[    2.932973] usbcore: registered new interface driver uas
[    2.949471] usbcore: registered new interface driver usb-storage
[    2.955585] usbcore: registered new interface driver ums-alauda
[    2.961597] usbcore: registered new interface driver ums-cypress
[    2.967694] usbcore: registered new interface driver ums-datafab
[    2.973792] usbcore: registered new interface driver ums_eneub6250
[    2.980064] usbcore: registered new interface driver ums-freecom
[    2.986163] usbcore: registered new interface driver ums-isd200
[    2.988437] random: fast init done
[    2.992203] usbcore: registered new interface driver ums-jumpshot
[    2.997995] mmc2: new DDR MMC card at address 0001
[    3.001719] usbcore: registered new interface driver ums-karma
[    3.012603] usbcore: registered new interface driver ums-onetouch
[    3.013992] mmcblk2: mmc2:0001 M62704 3.56 GiB 
[    3.018915] usbcore: registered new interface driver ums-realtek
[    3.029782] usbcore: registered new interface driver ums-sddr09
[    3.036062] usbcore: registered new interface driver ums-sddr55
[    3.036777]  mmcblk2: p1
[    3.042124] usbcore: registered new interface driver ums-usbat
[    3.052174] mmcblk2boot0: mmc2:0001 M62704 2.00 MiB 
[    3.067829] mmc1: new high speed SDIO card at address 0001
[    3.076055] mmcblk2boot1: mmc2:0001 M62704 2.00 MiB 
[    3.081083] snvs_rtc 30370000.snvs:snvs-rtc-lp: registered as rtc0
[    3.081140] snvs_rtc 30370000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T00:00:00 UTC (0)
[    3.098535] mmcblk2rpmb: mmc2:0001 M62704 512 KiB, chardev (241:0)
[    3.098850] i2c_dev: i2c /dev entries driver
[    3.111844] Driver for 1-wire Dallas network protocol.
[    3.123136] /cpus/cpu@0: unsupported enable-method property: psci
[    3.131873] ledtrig-cpu: registered to indicate activity on CPUs
[    3.139992] caam 30900000.crypto: Entropy delay = 3200
[    3.174992] caam 30900000.crypto: failed to acquire DECO 0
[    3.180548] caam 30900000.crypto: failed to instantiate RNG
[    3.190098] hid: raw HID events driver (C) Jiri Kosina
[    3.195747] usbcore: registered new interface driver usbhid
[    3.201391] usbhid: USB HID core driver
[    3.208326] drop_monitor: Initializing network drop monitor service
[    3.216159] NET: Registered PF_INET6 protocol family
[    3.227256] Segment Routing with IPv6
[    3.231042] In-situ OAM (IOAM) with IPv6
[    3.235277] mip6: Mobile IPv6
[    3.238282] NET: Registered PF_PACKET protocol family
[    3.243966] Key type dns_resolver registered
[    3.248325] mpls_gso: MPLS GSO support
[    3.252340] ThumbEE CPU extension supported.
[    3.256680] Registering SWP/SWPB emulation handler
[    3.262634] registered taskstats version 1
[    3.266827] Loading compiled-in X.509 certificates
[    3.272361] zswap: loaded using pool lzo/zbud
[    3.278079] Key type ._fscrypt registered
[    3.282194] Key type .fscrypt registered
[    3.286172] Key type fscrypt-provisioning registered
[    3.298377] Btrfs loaded, crc32c=crc32c-generic, zoned=yes, fsverity=yes
[    3.305362] AppArmor: AppArmor sha1 policy hashing enabled
[    3.401816] imx_usb 30b10000.usb: No over current polarity defined
[    3.594027] imx_usb 30b20000.usb: No over current polarity defined
[    3.604035] ci_hdrc ci_hdrc.1: EHCI Host Controller
[    3.609037] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
[    3.631301] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[    3.637315] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[    3.645661] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.652955] usb usb1: Product: EHCI Host Controller
[    3.657889] usb usb1: Manufacturer: Linux 5.15.10-armv7-lpae-x15 ehci_hcd
[    3.664739] usb usb1: SerialNumber: ci_hdrc.1
[    3.670370] hub 1-0:1.0: USB hub found
[    3.674306] hub 1-0:1.0: 1 port detected
[    3.718552] List of all partitions:
[    3.722161] b300         3735552 mmcblk2 
[    3.722177]  driver: mmcblk
[    3.729077]   b301         3734528 mmcblk2p1 ce7561c6-01
[    3.729093] 
[    3.735984] No filesystem could mount root, tried: 
[    3.735992]  ext4
[    3.740918] 
[    3.744392] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)
[    3.752868] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 5.15.10-armv7-lpae-x15 #1
[    3.760220] Hardware name: Freescale i.MX7 Dual (Device Tree)
[    3.765998] Backtrace: 
[    3.768477] [<c1212f44>] (dump_backtrace) from [<c1213190>] (show_stack+0x20/0x24)
[    3.776119]  r7:c17d7754 r6:c16830dc r5:60000093 r4:c169d798
[    3.781807] [<c1213170>] (show_stack) from [<c121d86c>] (dump_stack_lvl+0x48/0x54)
[    3.789435] [<c121d824>] (dump_stack_lvl) from [<c121d890>] (dump_stack+0x18/0x1c)
[    3.797069]  r5:00000000 r4:c1e23220
[    3.800666] [<c121d878>] (dump_stack) from [<c12137a4>] (panic+0x10c/0x30c)
[    3.807678] [<c1213698>] (panic) from [<c1a01ba8>] (mount_block_root+0x208/0x210)
[    3.815229]  r3:9ca4a610 r2:9ca4a610 r1:c21c3e8c r0:c16830dc
[    3.820919]  r7:c17d7754
[    3.823474] [<c1a019a0>] (mount_block_root) from [<c1a01dd0>] (mount_root+0x220/0x23c)
[    3.831463]  r10:c1e22028 r9:c21c2000 r8:c1e22000 r7:c1a7e838 r6:00000008 r5:c1a7e86d
[    3.839331]  r4:0b300001
[    3.841885] [<c1a01bb0>] (mount_root) from [<c1a01f4c>] (prepare_namespace+0x160/0x19c)
[    3.849959]  r10:c187a2f4 r9:c1a7e858 r8:c1e22000 r7:c1a7e838 r6:00000008 r5:c1a7e86d
[    3.857827]  r4:c1e22028
[    3.860381] [<c1a01dec>] (prepare_namespace) from [<c1a01604>] (kernel_init_freeable+0x29c/0x2b0)
[    3.869322]  r5:c22c7500 r4:c1c0fc94
[    3.872920] [<c1a01368>] (kernel_init_freeable) from [<c1229c64>] (kernel_init+0x20/0x13c)
[    3.881258]  r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c1229c44
[    3.889127]  r4:00000000
[    3.891682] [<c1229c44>] (kernel_init) from [<c0200120>] (ret_from_fork+0x14/0x34)
[    3.899310] Exception stack(0xc21c3fb0 to 0xc21c3ff8)
[    3.904396] 3fa0:                                     00000000 00000000 00000000 00000000
[    3.912621] 3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[    3.920841] 3fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[    3.927491]  r5:c1229c44 r4:00000000
[    3.931105] CPU0: stopping
[    3.933835] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.15.10-armv7-lpae-x15 #1
[    3.941178] Hardware name: Freescale i.MX7 Dual (Device Tree)
[    3.946945] Backtrace: 
[    3.949410] [<c1212f44>] (dump_backtrace) from [<c1213190>] (show_stack+0x20/0x24)
[    3.957028]  r7:c2107f80 r6:00000000 r5:60000193 r4:c169d798
[    3.962707] [<c1213170>] (show_stack) from [<c121d86c>] (dump_stack_lvl+0x48/0x54)
[    3.970321] [<c121d824>] (dump_stack_lvl) from [<c121d890>] (dump_stack+0x18/0x1c)
[    3.977940]  r5:c1c0caa4 r4:00000004
[    3.981531] [<c121d878>] (dump_stack) from [<c020fbd0>] (do_handle_IPI+0x360/0x38c)
[    3.989237] [<c020f870>] (do_handle_IPI) from [<c020fc24>] (ipi_handler+0x28/0x30)
[    3.996858]  r9:c1c01e58 r8:c1c01dd8 r7:c2107f80 r6:00000014 r5:c1c0caa4 r4:c214b000
[    4.004629] [<c020fbfc>] (ipi_handler) from [<c02be0a0>] (handle_percpu_devid_irq+0xa4/0x268)
[    4.013207] [<c02bdffc>] (handle_percpu_devid_irq) from [<c02b70e0>] (handle_domain_irq+0x8c/0xc0)
[    4.022221]  r9:c1c01e58 r8:00000004 r7:00000000 r6:c2151000 r5:00000000 r4:c1af683c
[    4.029991] [<c02b7054>] (handle_domain_irq) from [<c0201348>] (gic_handle_irq+0x78/0x8c)
[    4.038220]  r10:00000001 r9:c1c00000 r8:e081400c r7:c1af6848 r6:e0814000 r5:c1c01e58
[    4.046081]  r4:c1c0caa4 r3:00000404
[    4.049671] [<c02012d0>] (gic_handle_irq) from [<c0200ac8>] (__irq_svc+0x48/0x74)
[    4.057195] Exception stack(0xc1c01e58 to 0xc1c01ea0)
[    4.062270] 1e40:                                                       00000000 dbb23900
[    4.070485] 1e60: 00000001 c1c00000 00000001 dbb1ee30 ea4f782a c24e1840 ffffffff 00000000
[    4.078698] 1e80: 00000001 c1c01ee4 c1c01e50 c1c01ea8 c1232f34 c0f1eab4 20000013 ffffffff
[    4.086913]  r9:c1c00000 r8:ffffffff r7:c1c01e8c r6:ffffffff r5:20000013 r4:c0f1eab4
[    4.094682] [<c0f1e918>] (cpuidle_enter_state) from [<c0f1ee18>] (cpuidle_enter+0x40/0x50)
[    4.103011]  r10:c1c00000 r9:00000000 r8:ea208600 r7:c1c0b0ec r6:00000001 r5:c24e1840
[    4.110870]  r4:dbb1ee30
[    4.113417] [<c0f1edd8>] (cpuidle_enter) from [<c027ad40>] (do_idle+0x228/0x2e0)
[    4.120866]  r9:c24e1840 r8:dbb1ee30 r7:c1c0b0ec r6:c1c0b098 r5:c1c00000 r4:00000000
[    4.128637] [<c027ab18>] (do_idle) from [<c027b168>] (cpu_startup_entry+0x28/0x30)
[    4.136254]  r10:30c5387d r9:c1a7ea64 r8:c1c0b040 r7:00000000 r6:ffffffff r5:c1c1fb68
[    4.144113]  r4:000000e4
[    4.146660] [<c027b140>] (cpu_startup_entry) from [<c1229c3c>] (rest_init+0xe0/0xe8)
[    4.154449] [<c1229b5c>] (rest_init) from [<c1a00b00>] (arch_call_rest_init+0x18/0x1c)
[    4.162418]  r5:c1a7ea64 r4:c1e22040
[    4.166010] [<c1a00ae8>] (arch_call_rest_init) from [<c1a012b4>] (start_kernel+0x720/0x770)
[    4.174410] [<c1a00b94>] (start_kernel) from [<00000000>] (0x0)
[    4.180379]  r10:30c5387d r9:410fc075 r8:83000000 r7:00000000 r6:30c0387d r5:00000000
[    4.188238]  r4:c1a00330
[    4.190801] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1) ]---

I think that probably the interesting part is at 3.7*

[    3.718552] List of all partitions:
[    3.722161] b300         3735552 mmcblk2 
[    3.722177]  driver: mmcblk
[    3.729077]   b301         3734528 mmcblk2p1 ce7561c6-01
[    3.729093] 
[    3.735984] No filesystem could mount root, tried: 
[    3.735992]  ext4
[    3.740918] 
[    3.744392] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)

That’s a realy good sign… USB in u-boot can be hit and miss… First…

append: root=/dev/mmcblk2p1 ro rootfstype=ext4 rootwait

With the USB that should be /dev/sda1

But

[    3.604035] ci_hdrc ci_hdrc.1: EHCI Host Controller
[    3.609037] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 1
[    3.631301] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[    3.637315] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[    3.645661] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.652955] usb usb1: Product: EHCI Host Controller
[    3.657889] usb usb1: Manufacturer: Linux 5.15.10-armv7-lpae-x15 ehci_hcd
[    3.664739] usb usb1: SerialNumber: ci_hdrc.1
[    3.670370] hub 1-0:1.0: USB hub found
[    3.674306] hub 1-0:1.0: 1 port detected
[    3.718552] List of all partitions:
[    3.722161] b300         3735552 mmcblk2 
[    3.722177]  driver: mmcblk
[    3.729077]   b301         3734528 mmcblk2p1 ce7561c6-01
[    3.729093] 
[    3.735984] No filesystem could mount root, tried: 
[    3.735992]  ext4
[    3.740918] 

I bet we missed one of the USB modules, for this device that is still set as a module… (we need to rebuild the kernel with it built-in)

Regards,

1 Like

Thanks for your reply, your hints are always precious.

Just replacing /dev/mmcblk2p1 with /dev/sda1 both in the extlinux.conf and the /etc/fstab files makes the board boot perfectly into Ubuntu with the USB drive as root drive.