I’m trying to bring up linux differently, from u-boot directly from nvme without extlinux, and a kernel I compiled myself (on the box itself under ubuntu). That kernel has the sifive patches and has a command line built into it like this:
root=/dev/nvme0n1p3 append earlyprintk rw rootfstype=ext4 rootwait console=ttySIF0,115200 LANG=en_US.UTF-8 earlycon
I’m using u-boot patched and compiled with OpenSBI in 2 sdcard partitions like the recipes do (following carlosedp/riscv-bringup)
My u-boot commands are like this:
These make the LED blue (why not!):
=> mw.l 0x10020024 0x0000ffff
=> mw.l 0x10020028 0x0000ffff
=> mw.l 0x1002002c 0x0
Get the PCI going:
=> pci enum
Get the NVME going:
=> nvme scan
Load linux compressed img from partition 3 on the nvme into stated memory location
=> load nvme 0:3 0x84000000 boot/vminuz-5.12.13-sifive
(it will be moved when decompressed to 0x80200000)
Load the flattened device tree (this came from sifive u-boot patches)
=> load nvme 0:3 0x88000000 boot/hifive-unmatched-a00.dtb
Boot linux (with no initrd, specifying the kernel and the FDT):
=> booti 0x84000000 - 0x88000000
I get this output, then it freezes:
Uncompressing Kernel Image
Moving Image from 0x84000000 to 0x80200000, end=81c76b70
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Device Tree to 00000000ffff7000, end 00000000fffff590 ...
I expect it to say “OK” at the end of the Loading Device Tree line. Or maybe it’s loaded the device tree and the kernel has failed. Ideas?