If you’re coming from the Nano platform, there’s good news and bad news.
Mostly good; :)
The good news:
No more u-boot. CBoot now retrieves extlinux.conf and takes care of
displaying a boot menu on the serial console and the loading of
the kernel initrd/initramfs and fdt (if you have one).
All of the boot loaders that used to be in the 10 or 14 partitions
on the SDCard or eMMC, are in the 32MB flash on the module.
Although the SDCard image does contain 11 partitions, they are
for recovery and using the A/B boot slot facility. The kernel
and DTB partitions on the card are only used if CBoot can’t
find /boot/extlinux/extlinux.conf or if you don’t have an FDT
entry in extlinux.conf. I’m running now with only 1 partition
named “APP” on the SDCard and all that has on it is /boot. This
should pave the way for supporting other distributions.
Although you can’t use NVMe as the location of the boot partition,
nothing special is needed to get it to work as the root filesystem.
Just update the APPEND line in extlinux.conf to point ot the
correct root device.
The bad news:
- It appears you still need the APP partition on either the SDCard
or eMMC. There’s no support for PCIe/NVMe in CBoot. Although
the documentation and the console messages imply that USB storage
is supported, I can’t seem to find a device that qualifies.
I’ve tried a USB<>SDCard adapter, a USB<>SATA bridge, and a simple
USB stick and all fail to be recognized with the following
Enumerated USB Device 0bda:5489 [0005.207] I> [0005.208] E> Enumerated device doesn't belong to MSD class or protocol is not bulk-only!! [0005.216] E> USBMSD: Failed to initialize Enumerated USB device either not an MSD device or supported protoco[0005.226] E> USBMSD: Failed to open usbmsd open, 0. [0005.230] E> Error opening USBMSD driver 0, err: 7c7c0312 [0005.236] E> Failed to initialize device 5-0 [0005.240] E> USB boot failed, err: 2088502034
Anyway, I’m still exploring but this is a leap ahead!