U-Boot with direct NVMe boot support for eMMC/SPI Flash
#1
Update (08/07/2020):
Now there's also an option to use mainline U-Boot (v2020.07) with reference ARM Trusted Firmware, no need to use Rockchip blobs anymore.
You can build it yourself using this repository and flash the image as usual (flash_erase + dd works for Manjaro):

https://github.com/pcm720/u-boot-build-scripts

The build script uses patches from dhivael, sigmaris and Manjaro.
v2020.07 binaries for SD/eMMC and SPI Flash are available as well, you can find them on Releases page of the repo.
The resulting SPI image works on my PBP and boots from NVMe just fine.
Boot priority is SD -> eMMC -> NVMe -> USB, and there's no need to destroy U-Boot on SD card anymore.

---------
While it's possible to place the boot partition on eMMC and use NVMe as rootfs, the lack of NVMe support in stock U-Boot kept bugging me, so I decided to do something about it.

So, by porting Rockchip PCIe patches from Radxa and backporting some NVMe patches from upstream U-boot, I was able to get NVMe support going on mrfixit2001's fork and now can successfully boot from my NVMe drive:

[Image: nrnCuS0.png]

You can find binary images for SD/eMMC/SPI flash and source code here.
Note that the current SPI image has issues when booting pre-made images from SD card.

For some reason Rockchip's SPL tries (and fails) to initialize trust mode with the microSD, so you'll have to zero out the bootloader, U-Boot and ATF on your SD card with the following commands:
Quote:dd if=/dev/zero bs=32k seek=1 count=1 of=<microSD>
dd if=/dev/zero bs=64k seek=128 count=64 of=<microSD>
dd if=/dev/zero bs=64k seek=192 count=64 of=<microSD>
The first command corrupts Rockchip's SPL, and second and third zero out U-Boot and ATF, respectively.

In other words, the microSD must not contain any of the bootcode. The same most likely goes for the eMMC.

As usual, I am not responsible for any damage or data loss caused by using these images. They work for me.
Don't flash it if you don't know how to recover from damaged bootloader and can't be bothered to search for recovery options.

If you're flashing the SPI image, make sure that all 16 Mbytes are accessible and that it can be flashed properly before doing anything.
If something doesn't look right, try using Manjaro. That's what I used to flash it to my device.
  Reply


Messages In This Thread
U-Boot with direct NVMe boot support for eMMC/SPI Flash - by pcm720 - 11-27-2019, 03:34 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Pinebook Boot CharlesBunders 10 160 11 hours ago
Last Post: tophneal
  Broken Boot djhnsn 15 279 05-05-2021, 04:14 PM
Last Post: djhnsn
  NVMe SSD and battery life? dieselnutjob 3 413 04-19-2021, 01:55 PM
Last Post: slyecho
  PBP won't boot (no amber or green LED) ian-s-mcb 46 8,326 04-15-2021, 09:58 AM
Last Post: SnowyMountainWeb
Question erase spi flash aiminick 1 143 04-07-2021, 06:50 AM
Last Post: tophneal
  PIneBook Pro - Boot from SD mcdomx 12 9,427 03-29-2021, 01:13 AM
Last Post: 5825bc9762
  Selling Pinebook Pro 128GB version (w/ NVMe adaptor) due to lack of use VoT 3 860 03-19-2021, 03:11 AM
Last Post: jj282
  Happy eMMC and SDcard OS usage for Pinebook Pro Newbies... Paulie420 40 16,323 02-27-2021, 11:01 AM
Last Post: wdt
  Novice question: Pinebook Pro does boot (does it?) but black screen Gert V. 21 3,274 01-27-2021, 10:48 PM
Last Post: rimaille
  [split] U-Boot with NVMe support, keyboard & display working as400 83 30,728 01-27-2021, 12:48 AM
Last Post: as400

Forum Jump:


Users browsing this thread: 1 Guest(s)