With the 4.14 kernel, the SPI data flash driver is loading first. This results in the MTD partitions being in the wrong order. The kernel command line contains
line to tell the kernel where to find the root FS, but when the drivers load in the wrong order, the kernel tries to mount the wrong partition, which fails.root=/dev/mtdblock2 rw rootfstype=ubifs ubi.mtd=2 root=ubi0:rootfs0
How can I specify/control which driver gets loaded first?
The DTB contains partition information for both the SPI data flash and NAND flash MTD partitions. The kernel command line also contains the partition information for the NAND flash (same values as the DTB), which take precedence over those in the DTB.