Hi,
I’ve flashed Debian 9 Desktop(Dual Display) to an NVMe drive using etcher.
With only the NVMe drive connected (so no SD and eMMC), it won’t boot at all.
If i flash the same image to an eMMC and connect both (so eMMC and NVMe are connected, SD is not) then it boots from the NVMe).
I’m now debugging this a bit and attached a serial connection to see the console data it spits out.
The error it gives is clear as to why it fails but “why” that happens is a total mystery to me.
Scanning nvme 0:4...
Found /extlinux/extlinux.conf
pxefile_addr_str = 0x00500000
bootfile = /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
598 bytes read in 1 ms (584 KiB/s)
select kernel
1: kernel-4.4.154-111-rockchip-g39b306a41b2d
2: kernel-4.4.154-95-rockchip-gd2ab1f26e1b3
Enter choice: Retrieving file: /hw_intfc.conf
reading /hw_intfc.conf
1807 bytes read in 1 ms (1.7 MiB/s)
dtoverlay number: 0, name:/overlays/console-on-ttyS2.dtbo
dtoverlay number: 1, name:/overlays/spi1-flash.dtbo
hw_conf.valid = 1
hw_conf.pwm0 = 0
hw_conf.pwm1 = 0
hw_conf.uart2 = 0
hw_conf.uart4 = 0
hw_conf.spi1 = 1
hw_conf.spi2 = 0
hw_conf.i2c2 = 0
hw_conf.i2c6 = 0
hw_conf.i2c7 = 0
hw_conf.dts_overlay_count = 2
hw_conf.dts_overlay[0] = /overlays/console-on-ttyS2.dtbo
hw_conf.dts_overlay[1] = /overlays/spi1-flash.dtbo
1: kernel-4.4.154-111-rockchip-g39b306a41b2d
Retrieving file: /vmlinuz-4.4.154-111-rockchip-g39b306a41b2d
reading /vmlinuz-4.4.154-111-rockchip-g39b306a41b2d
ERROR: status = 2013, phase = 1, head = 1
Error reading cluster
** Unable to read file /vmlinuz-4.4.154-111-rockchip-g39b306a41b2d **
Skipping kernel-4.4.154-111-rockchip-g39b306a41b2d for failure retrieving kernel
Retrieving file: /hw_intfc.conf
reading /hw_intfc.conf
1807 bytes read in 0 ms
dtoverlay number: 2, name:/overlays/console-on-ttyS2.dtbo
dtoverlay number: 3, name:/overlays/spi1-flash.dtbo
hw_conf.valid = 1
hw_conf.pwm0 = 0
hw_conf.pwm1 = 0
hw_conf.uart2 = 0
hw_conf.uart4 = 0
hw_conf.spi1 = 1
hw_conf.spi2 = 0
hw_conf.i2c2 = 0
hw_conf.i2c6 = 0
hw_conf.i2c7 = 0
hw_conf.dts_overlay_count = 4
hw_conf.dts_overlay[0] =
hw_conf.dts_overlay[1] =
hw_conf.dts_overlay[2] = /overlays/console-on-ttyS2.dtbo
hw_conf.dts_overlay[3] = /overlays/spi1-flash.dtbo
2: kernel-4.4.154-95-rockchip-gd2ab1f26e1b3
Retrieving file: /vmlinuz-4.4.154-95-rockchip-gd2ab1f26e1b3
reading /vmlinuz-4.4.154-95-rockchip-gd2ab1f26e1b3
ERROR: status = 2013, phase = 1, head = 0
Error reading cluster
** Unable to read file /vmlinuz-4.4.154-95-rockchip-gd2ab1f26e1b3 **
Skipping kernel-4.4.154-95-rockchip-gd2ab1f26e1b3 for failure retrieving kernel
SCRIPT FAILED: continuing...
As you can see, it cannot find the kernel image files.
I mounted the NVMe in another pc. The fourth partition (and EFI one) does have vmlinuz-4.4.154-111-rockchip-g39b306a41b2d
and vmlinuz-4.4.154-95-rockchip-gd2ab1f26e1b3
right in the EFI mount at it’s root level. It’s not hidden away in a sub folder or something.
For whatever reason that i don’t get, it reads the bootfile just fine:
bootfile = /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
reading /extlinux/extlinux.conf
598 bytes read in 1 ms (584 KiB/s)
select kernel
1: kernel-4.4.154-111-rockchip-g39b306a41b2d
2: kernel-4.4.154-95-rockchip-gd2ab1f26e1b3
but fails, on the very same mount, to read the kernel images.
They are there:
-rwxr-xr-x 1 root root 20M Jul 8 17:04 vmlinuz-4.4.154-111-rockchip-g39b306a41b2d
-rwxr-xr-x 1 root root 19M Oct 21 2019 vmlinuz-4.4.154-95-rockchip-gd2ab1f26e1b3
Any idea what it’s doing wrong and how to fix it?
Cheers,
Mark