I recently obtained an NVME SSD, installed it, and used reform-setup-encrypted-nvme
to migrate to it. I was able to boot into the SSD successfully once, and confirmed that I was booting into the correct storage device both by noticing the presence of the disk decryption prompt at startup and by checking which device was mounted at /
.
After some time, I powered off the device, and the next time I attempted to power on the device I was met with a blank screen. The system controller is responsive and the keyboard backlight turns on when I power on.
I was able to use a USB serial adapter with a second device to get a startup log. It hangs indefinitely after Starting kernel...
:
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 59C
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
5166 bytes read in 2 ms (2.5 MiB/s)
## Executing script at 40480000
33499648 bytes read in 187 ms (170.8 MiB/s)
52866 bytes read in 3 ms (16.8 MiB/s)
37155637 bytes read in 208 ms (170.4 MiB/s)
Booting Debian 6.9.7-mnt-reform-arm64 from mmc 2:1...
Moving Image from 0x40480000 to 0x40600000, end=426d0000
## Flattened Device Tree blob at 43000000
Booting using the fdt blob at 0x43000000
Using Device Tree in place at 0000000043000000, end 000000004300fe81
Starting kernel ...
I was able to see kernel messages by editing the kernel boot parameters (editenv bootargs
at uboot, again over serial) with loglevel=7
, so the handoff from bootloader to kernel is working, but I don’t see anything that seems related to the failure.
I also flashed the system image from reform.debian.net to an sd; however, I don’t get any different behavior on startup with the SD card inserted, and the bootloader proceeds to (attempt to) boot from emmc. I’ve verified that the SD card isn’t corrupted by comparing the md5 sum with that of pocket-reform-system-imx8mp-bpo.img
.
My questions:
- Is there a series of kernel parameters that will give me a shell over serial so that I can investigate further? I tried both
console=ttyS0
andconsole=ttyS1
with and withoutinit=/bin/sh
, but neither work. - Is there some way to prompt uboot to boot from the SD card, or how would I debug being unable to boot to the system image on the SD card?
- What else should I check out?