Error creating Encrypted SSD / Migrating

Same here. Migrations to both non-encrypted and encrypted drive result in black screen after reboot (with or without --emmc).

Boot from SD card still works.

To get to the bottom of this, it would help if anybody affected by this, could connect to the serial line of the Pocket Reform with a UART adapter to find out what is happening.

1 Like

It gets stuck at “Starting kernel…” for me, here’s the full log from S2.

U-Boot SPL 2022.04-gb0e908b1-dirty (May 02 2024 - 19:18:25 +0000)
config to do 4000 1d training.
config to do 400 1d training.
config to do 100 1d training.
config to do 4000 2d training.
Normal Boot
Trying to boot from BOOTROM
image offset 0x0, pagesize 0x200, ivt offset 0x0
NOTICE:  Do not release JR0 to NS as it can be used by HAB
NOTICE:  BL31: v2.8(release):lf-6.1.22-2.0.0-6-g7e3484cc1
NOTICE:  BL31: Built : 15:05:50, Oct 17 2023


U-Boot 2022.04-gb0e908b1-dirty (May 02 2024 - 19:18:25 +0000)

CPU:   i.MX8MP[8] rev1.1 1800 MHz (running at 1200 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 39C
Reset cause: POR
Model: MNT Pocket Reform with i.MX8MP Module
Board: nitrogen8mp
       Watchdog enabled
DRAM:  8 GiB
No USB device found
Core:  142 devices, 26 uclasses, devicetree: separate
MMC:   FSL_SDHC: 0, FSL_SDHC: 2
Loading Environment from MMC...
*** Warning - bad CRC, using default environment

missing node fb_lvds
missing node ldb/lvds-channel@0
missing node ldb/lvds-channel@1
missing node mipi_dsi
missing node lcdif
Display: hdmi:1920x1080M@60 (1920x1080)
[*]-Video Link 2 (1920 x 1080)
        [0] lcd-controller@32fc6000, video
        [1] hdmi@32fd8000, display
In:    serial
Out:   serial
Err:   serial

 BuildInfo:
  - ATF 7e3484c

missing node fb_lvds
missing node ldb/lvds-channel@0
missing node ldb/lvds-channel@1
missing node mipi_dsi
missing node lcdif
Net:   Could not get PHY for FEC1: mask 0x90
Could not get PHY for FEC1: mask 0x90
Micrel ksz9031
eth0: ethernet@30bf0000 [PRIME]
Hit any key to stop autoboot:  0
MMC: no card present
mmc_init: -123, time 2
switch to partitions #0, OK
mmc2(part 0) is current device
Scanning mmc 2:1...
Found U-Boot script /boot.scr
5167 bytes read in 1 ms (4.9 MiB/s)
## Executing script at 40480000
32129536 bytes read in 216 ms (141.9 MiB/s)
52834 bytes read in 3 ms (16.8 MiB/s)
36717939 bytes read in 203 ms (172.5 MiB/s)
Booting Debian 6.8.12-mnt-reform-arm64 from mmc 2:1...
Moving Image from 0x40480000 to 0x40600000, end=42570000
## Flattened Device Tree blob at 43000000
   Booting using the fdt blob at 0x43000000
   Using Device Tree in place at 0000000043000000, end 000000004300fe61

Starting kernel ...

Thank you! I do not spot anything fishy in your log. You have your /boot partition on eMMC and u-boot succeeded to load kernel, dtb and initramfs from it. So we might need a bit more verbosity. In reform-tools 1.35 the default loglevel for linux was set to “3” which results in only very few messages from getting printed (basically only the errors). This was so that the kernel would not overwrite things like the login prompt with more messages. You can switch to a higher loglevel either directly in u-boot by pressing a key when u-boot writes Hit any key to stop autoboot: and then you write:

setenv bootargs "${bootargs} loglevel=7"
boot

or you boot from an sd-card and re-create your boot.scr on the first partition of eMMC by editing /etc/default/flash-kernel with the following content:

LINUX_KERNEL_CMDLINE="loglevel=7"

and then re-running flash-kernel. The second method is a bit more involved. Maybe try the u-boot method first. If you need live assistance, I (or other friendly people) can usually be found in our IRC channel.

2 Likes

@minute does the pocket reform have HDMI output as early as during u-boot like the imx8mq has?

Thanks for instructions @josch , I was able to get the verbose output, it’s below. Does anything here look suspicious?

U-Boot SPL 2022.04-gb0e908b1-dirty (May 02 2024 - 19:18:25 +0000)
config to do 4000 1d training.
config to do 400 1d training.
config to do 100 1d training.
config to do 4000 2d training.
Normal Boot
Trying to boot from BOOTROM
image offset 0x0, pagesize 0x200, ivt offset 0x0
NOTICE:  Do not release JR0 to NS as it can be used by HAB
NOTICE:  BL31: v2.8(release):lf-6.1.22-2.0.0-6-g7e3484cc1
NOTICE:  BL31: Built : 15:05:50, Oct 17 2023


U-Boot 2022.04-gb0e908b1-dirty (May 02 2024 - 19:18:25 +0000)

CPU:   i.MX8MP[8] rev1.1 1800 MHz (running at 1200 MHz)
CPU:   Commercial temperature grade (0C to 95C) at 44C
Reset cause: POR
Model: MNT Pocket Reform with i.MX8MP Module
Board: nitrogen8mp
       Watchdog enabled
DRAM:  8 GiB
No USB device found
Core:  142 devices, 26 uclasses, devicetree: separate
MMC:   FSL_SDHC: 0, FSL_SDHC: 2
Loading Environment from MMC...
*** Warning - bad CRC, using default environment

missing node fb_lvds
missing node ldb/lvds-channel@0
missing node ldb/lvds-channel@1
missing node mipi_dsi
missing node lcdif
Display: hdmi:1920x1080M@60 (1920x1080)
[*]-Video Link 2 (1920 x 1080)
	[0] lcd-controller@32fc6000, video
	[1] hdmi@32fd8000, display
In:    serial
Out:   serial
Err:   serial

 BuildInfo:
  - ATF 7e3484c

missing node fb_lvds
missing node ldb/lvds-channel@0
missing node ldb/lvds-channel@1
missing node mipi_dsi
missing node lcdif
e[?2004lNet:   Could not get PHY for FEC1: mask 0x90
Could not get PHY for FEC1: mask 0x90
Micrel ksz9031
eth0: ethernet@30bf0000 [PRIME]
Hit any key to stop autoboot:  2  0 
=> setenv bootargs "${bootargs} loglevel=7"
=> boot
MMC: no card present
mmc_init: -123, time 2
switch to partitions #0, OK
mmc2(part 0) is current device
Scanning mmc 2:1...
Found U-Boot script /boot.scr
5167 bytes read in 2 ms (2.5 MiB/s)
## Executing script at 40480000
32129536 bytes read in 216 ms (141.9 MiB/s)
52834 bytes read in 3 ms (16.8 MiB/s)
36717939 bytes read in 203 ms (172.5 MiB/s)
Booting Debian 6.8.12-mnt-reform-arm64 from mmc 2:1...
Moving Image from 0x40480000 to 0x40600000, end=42570000
## Flattened Device Tree blob at 43000000
   Booting using the fdt blob at 0x43000000
   Using Device Tree in place at 0000000043000000, end 000000004300fe61

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.8.12-mnt-reform-arm64 (debian-kernel@lists.debian.org) (aarch64-linux-gnu-gcc-13 (Debian 13.2.0-25) 13.2.0, GNU ld (GNU Binutils for Debian) 2.42) #1 SMP Debian 6.8.12-1+reform20240605T104210Z (2024-06-05)
[    0.000000] KASLR disabled due to lack of seed
[    0.000000] Machine model: MNT Pocket Reform with i.MX8MP Module
[    0.000000] efi: UEFI not found.
[    0.000000] OF: reserved mem: 0x0000000056000000..0x0000000057dfffff (30720 KiB) nomap non-reusable optee_core@56000000
[    0.000000] OF: reserved mem: 0x0000000057e00000..0x0000000057ffffff (2048 KiB) nomap non-reusable optee_shm@57e00000
[    0.000000] NUMA: No NUMA configuration found
[    0.000000] NUMA: Faking a node at [mem 0x0000000040000000-0x000000023fffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x23efb9240-0x23efbbfff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000040000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000023fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000040000000-0x0000000055ffffff]
[    0.000000]   node   0: [mem 0x0000000058000000-0x000000023fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000023fffffff]
[    0.000000] On node 0, zone DMA: 8192 pages in unavailable ranges
[    0.000000] cma: Reserved 256 MiB at 0x00000000f0000000 on node -1
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 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.2
[    0.000000] percpu: Embedded 31 pages/cpu s90088 r8192 d28696 u126976
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Kernel command line: ro no_console_suspend cryptomgr.notests loglevel=3  ro no_console_suspend pci=pcie_bus_perf nvme_core.default_ps_max_latency_us=0 console=tty1 fbcon=rotate:3 cma=256MB loglevel=7 console=ttymxc1  console=tty1
[    0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[    0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Fallback order for Node 0: 0 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 2056192
[    0.000000] Policy zone: Normal
[    0.000000] mem auto-init: stack:all(zero), heap alloc:on, heap free:off
[    0.000000] software IO TLB: area num 4.
[    0.000000] software IO TLB: mapped [mem 0x00000000ec000000-0x00000000f0000000] (64MB)
[    0.000000] Memory: 2848324K/8355840K available (14848K kernel code, 3088K rwdata, 5536K rodata, 7744K init, 772K bss, 295004K reserved, 262144K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 49458 entries in 194 pages
[    0.000000] ftrace: allocated 194 pages with 3 groups
[    0.000000] trace event string verifier disabled
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=512 to nr_cpu_ids=4.
[    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=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 160 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GICv3: GICv3 features: 16 PPIs
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000038880000
[    0.000000] ITS: No ITS available, not enabling LPIs
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    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.001246] Console: colour dummy device 80x25
[    0.001258] printk: legacy console [tty1] enabled
[    0.003200] Calibrating delay loop (skipped), value calculated using timer frequency.. 16.00 BogoMIPS (lpj=32000)
[    0.003230] pid_max: default: 32768 minimum: 301
[    0.006134] LSM: initializing lsm=lockdown,capability,landlock,yama,apparmor,tomoyo,bpf,integrity
[    0.006188] landlock: Up and running.
[    0.006197] Yama: disabled by default; enable with sysctl kernel.yama.*
[    0.006313] AppArmor: AppArmor initialized
[    0.006331] TOMOYO Linux initialized
[    0.006358] LSM support for eBPF active
[    0.007333] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.007370] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.011410] RCU Tasks Rude: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1.
[    0.011527] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1.
[    0.011753] rcu: Hierarchical SRCU implementation.
[    0.011766] rcu: 	Max phase no-delay instances is 1000.
[    0.014439] EFI services will not be available.
[    0.014806] smp: Bringing up secondary CPUs ...
[    0.015433] Detected VIPT I-cache on CPU1
[    0.015492] GICv3: CPU1: found redistributor 1 region 0:0x00000000388a0000
[    0.015530] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.016285] Detected VIPT I-cache on CPU2
[    0.016335] GICv3: CPU2: found redistributor 2 region 0:0x00000000388c0000
[    0.016360] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.017014] Detected VIPT I-cache on CPU3
[    0.017057] GICv3: CPU3: found redistributor 3 region 0:0x00000000388e0000
[    0.017078] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.017150] smp: Brought up 1 node, 4 CPUs
[    0.017231] SMP: Total of 4 processors activated.
[    0.017243] CPU: All CPU(s) started at EL2
[    0.017272] CPU features: detected: 32-bit EL0 Support
[    0.017282] CPU features: detected: 32-bit EL1 Support
[    0.017293] CPU features: detected: CRC32 instructions
[    0.017341] alternatives: applying system-wide alternatives
[    0.140109] node 0 deferred pages initialised in 120ms
[    0.142224] devtmpfs: initialized
[    0.157316] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.157374] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.165685] pinctrl core: initialized pinctrl subsystem
[    0.168476] DMI not present or invalid.
[    0.169793] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.171063] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[    0.171363] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.171945] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.172017] audit: initializing netlink subsys (disabled)
[    0.172246] audit: type=2000 audit(0.168:1): state=initialized audit_enabled=0 res=1
[    0.174287] thermal_sys: Registered thermal governor 'fair_share'
[    0.174296] thermal_sys: Registered thermal governor 'bang_bang'
[    0.174314] thermal_sys: Registered thermal governor 'step_wise'
[    0.174325] thermal_sys: Registered thermal governor 'user_space'
[    0.174337] thermal_sys: Registered thermal governor 'power_allocator'
[    0.174405] cpuidle: using governor ladder
[    0.174441] cpuidle: using governor menu
[    0.174704] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.174820] ASID allocator initialised with 65536 entries
[    0.176020] Serial: AMBA PL011 UART driver
[    0.184091] platform soc@0: Fixed dependency cycle(s) with /soc@0/bus@30000000/efuse@30350000/unique-id@8
[    0.184714] platform funnel: Fixed dependency cycle(s) with /soc@0/etm@28440000
[    0.184845] amba 28440000.etm: Fixed dependency cycle(s) with /funnel
[    0.185053] platform funnel: Fixed dependency cycle(s) with /soc@0/etm@28540000
[    0.185164] amba 28540000.etm: Fixed dependency cycle(s) with /funnel
[    0.185346] platform funnel: Fixed dependency cycle(s) with /soc@0/etm@28640000
[    0.185451] amba 28640000.etm: Fixed dependency cycle(s) with /funnel
[    0.185619] platform funnel: Fixed dependency cycle(s) with /soc@0/etm@28740000
[    0.185714] amba 28740000.etm: Fixed dependency cycle(s) with /funnel
[    0.185902] platform funnel: Fixed dependency cycle(s) with /soc@0/funnel@28c03000
[    0.185996] amba 28c03000.funnel: Fixed dependency cycle(s) with /soc@0/etf@28c04000
[    0.186035] amba 28c03000.funnel: Fixed dependency cycle(s) with /funnel
[    0.186204] amba 28c03000.funnel: Fixed dependency cycle(s) with /soc@0/etf@28c04000
[    0.186293] amba 28c04000.etf: Fixed dependency cycle(s) with /soc@0/etr@28c06000
[    0.186336] amba 28c04000.etf: Fixed dependency cycle(s) with /soc@0/funnel@28c03000
[    0.186509] amba 28c04000.etf: Fixed dependency cycle(s) with /soc@0/etr@28c06000
[    0.186622] amba 28c06000.etr: Fixed dependency cycle(s) with /soc@0/etf@28c04000
[    0.189564] imx8mp-pinctrl 30330000.pinctrl: initialized IMX pinctrl driver
[    0.190090] platform 30350000.efuse: Fixed dependency cycle(s) with /soc@0/bus@30000000/clock-controller@30380000
[    0.190844] platform 30350000.efuse: Fixed dependency cycle(s) with /soc@0/bus@30000000/clock-controller@30380000
[    0.191969] platform 30380000.clock-controller: Fixed dependency cycle(s) with /soc@0/interrupt-controller@38800000
[    0.203967] platform 32e60000.dsi: Fixed dependency cycle(s) with /soc@0/bus@32c00000/dsi@32e60000/panel@0
[    0.204035] platform 32e60000.dsi: Fixed dependency cycle(s) with /soc@0/bus@32c00000/display-controller@32e80000
[    0.204366] platform 32e60000.dsi: Fixed dependency cycle(s) with /soc@0/bus@32c00000/display-controller@32e80000
[    0.204467] platform 32e80000.display-controller: Fixed dependency cycle(s) with /soc@0/bus@32c00000/dsi@32e60000
[    0.204833] platform 32fc4000.display-bridge: Fixed dependency cycle(s) with /soc@0/bus@32c00000/hdmi@32fd8000
[    0.204889] platform 32fc4000.display-bridge: Fixed dependency cycle(s) with /soc@0/bus@32c00000/display-controller@32fc6000
[    0.205192] platform 32fc4000.display-bridge: Fixed dependency cycle(s) with /soc@0/bus@32c00000/display-controller@32fc6000
[    0.205332] platform 32fc6000.display-controller: Fixed dependency cycle(s) with /soc@0/bus@32c00000/display-bridge@32fc4000
[    0.205832] platform 32fc4000.display-bridge: Fixed dependency cycle(s) with /soc@0/bus@32c00000/hdmi@32fd8000
[    0.206006] platform 32fd8000.hdmi: Fixed dependency cycle(s) with /soc@0/bus@32c00000/display-bridge@32fc4000
[    0.214758] Modules: 24720 pages in range for non-PLT usage
[    0.214772] Modules: 516240 pages in range for PLT usage
[    0.215877] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.215911] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.215924] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.215937] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.215950] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.215963] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.215978] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.215988] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.222757] ACPI: Interpreter disabled.
[    0.223561] iommu: Default domain type: Translated
[    0.223578] iommu: DMA domain TLB invalidation policy: strict mode
[    0.224030] pps_core: LinuxPPS API ver. 1 registered
[    0.224044] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.224074] PTP clock support registered
[    0.224114] EDAC MC: Ver: 3.0.0
[    0.224706] scmi_core: SCMI protocol bus registered
[    0.226732] NetLabel: Initializing
[    0.226752] NetLabel:  domain hash size = 128
[    0.226762] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    0.226846] NetLabel:  unlabeled traffic allowed by default
[    0.227033] vgaarb: loaded
[    0.227467] clocksource: Switched to clocksource arch_sys_counter
[    0.229576] VFS: Disk quotas dquot_6.6.0
[    0.229710] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.230618] AppArmor: AppArmor Filesystem Enabled
[    0.230697] pnp: PnP ACPI: disabled
[    0.240138] NET: Registered PF_INET protocol family
[    0.240438] IP idents hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.247094] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    0.247223] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.247356] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.248063] TCP bind hash table entries: 65536 (order: 9, 2097152 bytes, linear)
[    0.250003] TCP: Hash tables configured (established 65536 bind 65536)
[    0.250577] MPTCP token hash table entries: 8192 (order: 5, 196608 bytes, linear)
[    0.250968] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    0.251137] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    0.251590] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.251627] NET: Registered PF_XDP protocol family
[    0.251647] PCI: CLS 0 bytes, default 64
[    0.251987] Trying to unpack rootfs image as initramfs...
[    0.252143] kvm [1]: IPA Size Limit: 40 bits
[    0.253593] kvm [1]: GICv3: no GICV resource entry
[    0.253615] kvm [1]: disabling GICv2 emulation
[    0.253637] kvm [1]: GIC system register CPU interface enabled
[    0.253669] kvm [1]: vgic interrupt IRQ9
[    0.253711] kvm [1]: Hyp mode initialized successfully
[    0.255613] Initialise system trusted keyrings
[    0.255690] Key type blacklist registered
[    0.255910] workingset: timestamp_bits=42 max_order=21 bucket_order=0
[    0.255973] zbud: loaded
[    0.257362] fuse: init (API version 7.39)
[    0.258176] integrity: Platform Keyring initialized
[    0.258231] integrity: Machine keyring initialized
[    0.258249] Key type asymmetric registered
[    0.258261] Asymmetric key parser 'x509' registered
[    2.115520] Freeing initrd memory: 35856K
[    2.138763] alg: self-tests disabled
[    2.139050] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[    2.139181] io scheduler mq-deadline registered
[    2.151258] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    2.166819] SoC: i.MX8MP revision 1.1
[    2.186024] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    2.189548] Serial: AMBA driver
[    2.190888] 30860000.serial: ttymxc0 at MMIO 0x30860000 (irq = 15, base_baud = 5000000) is a IMX
[    2.191129] serial serial0: tty port ttymxc0 registered
[    2.191742] 30880000.serial: ttymxc2 at MMIO 0x30880000 (irq = 16, base_baud = 5000000) is a IMX
[    2.192629] 30890000.serial: ttymxc1 at MMIO 0x30890000 (irq = 17, base_baud = 1500000) is a IMX
[    2.192663] imx-uart 30890000.serial: Console IMX rounded baud rate from 114286 to 114300
[    2.192692] printk: legacy console [ttymxc1] enabled
[    3.576638] 30a60000.serial: ttymxc3 at MMIO 0x30a60000 (irq = 18, base_baud = 5000000) is a IMX
[    3.586696] msm_serial: driver initialized
[    3.590990] SuperH (H)SCI(F) driver initialized
[    3.600425] mousedev: PS/2 mouse device common for all mice
[    3.611666] ledtrig-cpu: registered to indicate activity on CPUs
[    3.618799] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    3.626985] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    3.639264] NET: Registered PF_INET6 protocol family
[    3.667201] Segment Routing with IPv6
[    3.670970] In-situ OAM (IOAM) with IPv6
[    3.674979] mip6: Mobile IPv6
[    3.677974] NET: Registered PF_PACKET protocol family
[    3.683148] mpls_gso: MPLS GSO support
[    3.694883] registered taskstats version 1
[    3.699210] Loading compiled-in X.509 certificates
[    3.707033] Loaded X.509 cert 'Build time autogenerated kernel key: 79656edc0600585d231e77434981ae3351894bb1'
[    3.728323] Key type .fscrypt registered
[    3.732294] Key type fscrypt-provisioning registered
[    3.775807] Key type encrypted registered
[    3.779865] AppArmor: AppArmor sha256 policy hashing enabled
[    3.785583] ima: No TPM chip found, activating TPM-bypass!
[    3.791087] ima: Allocated hash algorithm: sha256
[    3.795839] ima: No architecture policies found
[    3.800422] evm: Initialising EVM extended attributes:
[    3.805572] evm: security.selinux
[    3.808912] evm: security.SMACK64 (disabled)
[    3.813195] evm: security.SMACK64EXEC (disabled)
[    3.817824] evm: security.SMACK64TRANSMUTE (disabled)
[    3.822886] evm: security.SMACK64MMAP (disabled)
[    3.827514] evm: security.apparmor
[    3.830923] evm: security.ima
[    3.833902] evm: security.capability
[    3.837488] evm: HMAC attrs: 0x1
[    3.860936] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    3.871454] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    3.882010] gpio gpiochip2: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    3.892585] gpio gpiochip3: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    3.903158] gpio gpiochip4: Static allocation of GPIO base is deprecated, use dynamic allocation.
[    3.929226] clk: Disabling unused clocks
[    3.945493] Freeing unused kernel memory: 7744K
[    4.076784] Checked W+X mappings: passed, no W+X pages found
[    4.082532] Run /init as init process
[    5.882100] i2c i2c-0: using pinctrl states for GPIO recovery
[    5.888375] i2c i2c-0: IMX I2C adapter registered
[    5.903257] i2c i2c-1: using pinctrl states for GPIO recovery
[    5.935562] i2c i2c-1: IMX I2C adapter registered
[    5.936414] platform soc@0: Fixed dependency cycle(s) with /soc@0/bus@30000000/efuse@30350000
[    5.979760] sdhci: Secure Digital Host Controller Interface driver
[    5.986011] sdhci: Copyright(c) Pierre Ossman
[    6.076448] i2c i2c-2: using pinctrl states for GPIO recovery
[    6.086369] i2c i2c-2: IMX I2C adapter registered
[    6.091434] sdhci-pltfm: SDHCI platform and OF driver helper
[    6.124594] sdhci-esdhc-imx 30b40000.mmc: Got CD GPIO
[    6.163509] mmc2: SDHCI controller on 30b60000.mmc [30b60000.mmc] using ADMA
[    6.170986] mmc0: SDHCI controller on 30b40000.mmc [30b40000.mmc] using ADMA
[    6.235509] mmc1: SDHCI controller on 30b50000.mmc [30b50000.mmc] using ADMA
[    6.247377] mmc2: new HS400 Enhanced strobe MMC card at address 0001
[    6.254836] mmcblk2: mmc2:0001 X29128 117 GiB
[    6.257963] nxp-pca9450 0-0025: pca9450bc probed.
[    6.259264] rtc-pcf8523 2-0068: registered as rtc0
[    6.269391]  mmcblk2: p1 p2
[    6.274250] mmcblk2boot0: mmc2:0001 X29128 4.00 MiB
[    6.283857] rtc-pcf8523 2-0068: setting system clock to 2024-06-06T11:19:56 UTC (1717672796)
[    6.286064] mmcblk2boot1: mmc2:0001 X29128 4.00 MiB
[    6.302664] mmc1: queuing unknown CIS tuple 0x01 [d9 01 ff] (3 bytes)
[    6.304427] mmcblk2rpmb: mmc2:0001 X29128 4.00 MiB, chardev (240:0)
[    6.323031] mmc1: queuing unknown CIS tuple 0x1a [01 01 00 02 07] (5 bytes)
[    6.331005] imx-dwmac 30bf0000.ethernet: IRQ eth_lpi not found
[    6.333568] mmc1: queuing unknown CIS tuple 0x1b [c1 41 30 30 ff ff 32 00] (8 bytes)
[    6.337359] imx-dwmac 30bf0000.ethernet: User ID: 0x10, Synopsys ID: 0x51
[    6.345798] mmc1: queuing unknown CIS tuple 0x14 [] (0 bytes)
[    6.351537] imx-dwmac 30bf0000.ethernet: 	DWMAC4/5
[    6.360422] mmc1: new ultra high speed DDR50 SDIO card at address 0001
[    6.362110] imx-dwmac 30bf0000.ethernet: DMA HW capability register supported
[    6.375789] imx-dwmac 30bf0000.ethernet: RX Checksum Offload Engine supported
[    6.382968] imx-dwmac 30bf0000.ethernet: TX Checksum insertion supported
[    6.389702] imx-dwmac 30bf0000.ethernet: Wake-Up On Lan supported
[    6.395936] imx-dwmac 30bf0000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[    6.403649] imx-dwmac 30bf0000.ethernet: device MAC address ba:38:70:e1:63:2c
[    6.410855] imx-dwmac 30bf0000.ethernet: Enabled L3L4 Flow TC (entries=8)
[    6.417709] imx-dwmac 30bf0000.ethernet: Enabled RFS Flow TC (entries=10)
[    6.424545] imx-dwmac 30bf0000.ethernet: Enabling HW TC (entries=256, max_off=256)
[    6.432151] imx-dwmac 30bf0000.ethernet: Using 34/40 bits DMA host/device width
[    6.440144] mdio_bus stmmac-1: ethernet-phy has invalid PHY address
[    6.446453] mdio_bus stmmac-1: scan phy ethernet-phy at address 0
[    6.452901] mdio_bus stmmac-1: scan phy ethernet-phy at address 1
[    6.459258] mdio_bus stmmac-1: scan phy ethernet-phy at address 2
[    6.465606] mdio_bus stmmac-1: scan phy ethernet-phy at address 3
[    6.471968] mdio_bus stmmac-1: scan phy ethernet-phy at address 4
[    6.478321] mdio_bus stmmac-1: scan phy ethernet-phy at address 5
[    6.484671] mdio_bus stmmac-1: scan phy ethernet-phy at address 6
[    6.491023] mdio_bus stmmac-1: scan phy ethernet-phy at address 7
[    6.529784] imx-dwmac 30bf0000.ethernet end1: renamed from eth0
[    6.752033] usbcore: registered new interface driver usbfs
[    6.757636] usbcore: registered new interface driver hub
[    6.763076] usbcore: registered new device driver usb
[    6.775098] hid: raw HID events driver (C) Jiri Kosina
[    6.785640] usbcore: registered new interface driver usbhid
[    6.791258] usbhid: USB HID core driver
[    6.958428] mc: Linux media interface: v0.10
[    6.982887] videodev: Linux video capture interface: v2.00
[    7.009253] meson_vdec: module is from the staging directory, the quality is unknown, you have been warned.
[   17.391860] platform 32ec0000.blk-ctrl: deferred probe pending: imx8m-blk-ctrl: failed to get noc entries
[   17.401506] platform 381f0040.usb-phy: deferred probe pending: platform: supplier 32f10000.blk-ctrl not ready
[   17.411537] platform 382f0040.usb-phy: deferred probe pending: platform: supplier 32f10000.blk-ctrl not ready
[   17.421483] platform 32f10100.usb: deferred probe pending: platform: supplier 32f10000.blk-ctrl not ready
[   17.431069] platform 32f10108.usb: deferred probe pending: platform: supplier 32f10000.blk-ctrl not ready
[   17.440657] platform 30830000.spi: deferred probe pending: spi_imx: can't get the TX DMA channel!
[   17.449546] platform 32f00000.pcie-phy: deferred probe pending: platform: supplier 32f10000.blk-ctrl not ready
[   17.459566] platform 38330000.blk-ctrl: deferred probe pending: imx8m-blk-ctrl: failed to get noc entries
[   17.469151] platform 32f10000.blk-ctrl: deferred probe pending: imx8mp-blk-ctrl: failed to get noc entries
[   17.478823] platform 32e60000.dsi: deferred probe pending: platform: supplier 32ec0000.blk-ctrl not ready
[   17.488409] platform 32e80000.display-controller: deferred probe pending: platform: supplier 32ec0000.blk-ctrl not ready
[   17.499296] platform 33800000.pcie: deferred probe pending: platform: supplier 32f00000.pcie-phy not ready
[   17.508973] platform 32fc6000.display-controller: deferred probe pending: imx-lcdif: Cannot connect bridge

Ah, thanks for the detailled log. What I can see here could be one of those typical catch-22s with the initramfs. Probably not all required drivers are loaded by initramfs, especially not something that is required for PCIe. And because those drivers are on a PCIe disk, they cannot be loaded. So initramfs fails and doesn’t tell you on the serial console, because it’s probably shown on the invisible tty1. So we need to bake more drivers into the kernel or into the initramfs.

Edit: You can see that at the end of the log for all those drivers incl PCIe PHY waiting for something that is never loaded, probably blk-ctrl related.

4 Likes

Thanks to everyone for looking into this… @minute can give a short update, when the update is done?

Yes, I’ll look into this in detail tomorrow. Sorry for the inconvenience!

1 Like

Thanks! No need for sorry. Great device with great support

Any news? Sorry for being impatient.

Today and yesterday was the weekend, leaving only one actual work day between Lukas’ last message and today.

You can experiment yourself by:

  1. booting a vanilla system from the sd-card
  2. mount a partition on nvme to make sure that you have all modules loaded
  3. run lsmod to see which modules your kernel has loaded
  4. dump the list of modules into a file in /usr/share/initramfs-tools/modules.d/ similar to the reform.conf in that directory
  5. rebuild the initramfs and migrate the system with these changes to nvme
  6. watch the system boot with an attached uart adapter to spot what changed
2 Likes

thanks. I just wrote, because he said tomorrow :slight_smile: But really not need to hurry.

Working on this right now.

2 Likes

OK, I found the issue: initramfs-tools wasn’t including some critical drivers that are needed for display, USB and PCIe in initramfs. Sorry I didn’t catch this before release!

Waiting for @josch to pull the trigger: imx8mp: add missing initramfs drivers; fixes display, pcie and usb in initramfs (!71) · Merge requests · Reform / MNT Reform Tools · GitLab

4 Likes

Great. Thanks for taking care

We now have a number of improvements collected:

  • imx8mp: add missing initramfs drivers; fixes display, pcie and usb in initramfs
  • sbin/reform-setup-encrypted-nvme: make /boot on eMMC the default for reform-boot-config
  • sbin/reform-boot-config: allow interactive umount
  • initramfs-tools/scripts/reform: run ‘dmesg -n 7’ in the initramfs on ls1028 as workaround for dwc3 unreliability
  • sbin/reform-setup-encrypted-nvme: if reform-boot-config fails, print steps how to re-run it

These are yet untested. If you want to help to get these changes merged earlier or even find all the bugs, feel free to test the changes of this MR:

1 Like

Thanks for the update @josch , I was able to test most of the changes (excluding the LS1028A stuff).

Migration to encrypted SSD works from the beginning to the end, reform-boot-config didn’t fail, but happy to try failing cases too.

The console font when the SSD passphrase is requested is still too small, it only gets upscaled later during boot. Not tragic, but is it possible to increase it from the start?

3 Likes

I am not sure if this change will affect the console font early enough for the LUKS passphrase prompt (why do you need a large font there? your passphrase is not printed to the screen, right?) but you usually do this either interactively by running:

sudo dpkg-reconfigure console-setup

Or by reading man 5 console-setup and then editing /etc/default/console-setup and setting the variables FONTFACE and FONTSIZE to valid values as listed in that man page. For the change to have effect, do not forget to re-generate your initramfs with update-initramfs -u.

Thanks, going to try that next. For now I’m having another interesting issue with reboots when the system is on an encrypted SSD.

So rebooting immediately after migration works fine, but there’s a black screen on all subsequent reboots.

Rebooting from the SD card and re-running migration works again for one reboot.

The log for black screen doesn’t look any strange, but maybe I’m missing anything? It can’t be missing drivers, as the first reboot would fail as well, right?