08-11-2021, 12:30 AM
(This post was last modified: 08-11-2021, 12:29 PM by calinb.
Edit Reason: "SIP" >> "SPI" (meant to type SPI)
)
(08-10-2021, 04:11 PM)codingpanic Wrote: I've done several searches and there is one SPI package that appears to enable NVMe boot, but the repo was archived by the developer.If you're talking about this thread:
Is there any way to set this up so NVMe is the default boot drive? Without using the emmc at all?
Thanks
https://forum.pine64.org/showthread.php?tid=8439
then you can still download the binary images here or build from source (I think this is PCM720's most recent code but older code is archived elsewhere too):
https://github.com/pcm720/u-boot-build-scripts/releases
I have not tried to flash my SPI yet, but I dowloaded the images and I also built them myself natively on my Pinebook Pro (compile takes several hours IIRC). My native build binaries were a little smaller than PCM720's cross compile. Even though I did my own build I think I'll use PCM720's binary images, if I ever flash my SPI, because other users have had success with them. My native build is untested and I don't really want to risk the compiler differences.
I'm running Manjaro, which can boot from NVMe but it requires the eMMC to be retained and installed in the PPB with U-boot code intact (U-boot code is written to the "tracks" before the boot partition) so, if you want to remove the eMMC entirely, you'll need to flash your SPI memory, as you've indicated. The Manjaro U-boot redirects to the NVMe boot partition when a valid /boot is not found on the eMMC. Both / and /boot are on the NVMe drive however and are not required to be present on eMMC at all (though it's been handy for me too keep / and /boot on my eMMC as a backup). If the eMMC is repartitioned, the first partition must begin after offset to avoid overwriting the U-boot loader area.
Unfortunately Manjaro NVMe boot broke when Manjaro updated the kernel to 5.13 and I have not solved the problem. I edited my pacman.conf file to ignore kernel updates and so I've "pinned" my kernel to 5.12.
Here's my long thread where I tried to isolate the problem and learned to build a test kernel but there's more info there about NVMe boot on Manjaro:
https://forum.manjaro.org/t/nvme-support...04-1/63774
There's no Manjaro Kernel build howto for Pinbook Pro that I could find and the process is a little different on the Pinebook Pro so my thread is good for learning though my stuggles with a custom kernel package build too.