Not yet. When the u-boot pcie support is mainline, I will update my uboot package, so that this is also an option.
Having different options is ok here I think. I see there are many quirks around for supporting all the different nvme drives. Who knows which quirks are available in u-bootâŚ
On the plus side I did manage to figure it out the scripts and give the method a try. Seems to work well on my bpi-r3. However, functionality-wise it is still similar to what I had before, ATF and u-boot on sdcard and rootfs on NVME (atf w/o u-boot is a little bit faster though).
OpenWrtOne> pci enum
OpenWrtOne> pci
BusDevFun VendorId DeviceId Device Class Sub-Class
00.00.00 0x14c3 0x1f32 Bridge device 0x04
01.00.00 0x144d 0xa80b Mass storage controller 0x08
OpenWrtOne> nvme scan
OpenWrtOne> nvme info
Device 0: Vendor: 0x144d Rev: 7L1QHXC7 Prod: S67PNF0W854510
Type: Hard Disk
Capacity: 244198.3 MB = 238.4 GB (500118192 x 512)
For debugging purposes you can load u-boot.bin from usb/tftp and use go command on the loadaddr. This way you donât need built with atf everytime and flash itâŚbut i guess your current uboot does not have go command yet,so you have to do it onceâŚah you using erics image and loading uboot from atf? Then you will not need atf compile around uboot i guess
Had to change the constant patch a little bit (see attached) but other than that it worked perfectly. I now have u-boot on my sdcard and everything else on my nvme. No more messy backup restores for me. Thanks for all the help.
Btw, if anyone is interested, my nvme is a Samsung 980 1TB.
So we got PCIe support in U-Boot and we also got lots of on-board SPI-NOR flash and want to boot from NVMe. What I would do is what every PC or Apple mainboard is doing: store system firmware (âBIOSâ) in the SPI-NOR and have that use some generic method to boot from the NVMe (e.g. UEFI or U-Bootâs distro standard boot).
In case of the R3 (or R3 mini or R4) this means that TF-A and U-Boot should be in SPI-NOR, and U-Boot can be configured to carry out UEFI Standard boot and consider both USB and NVMe according to EFI boot variables, just like on a PC. That would put an end to writing endless how-tos for each and every board, and would allow standard installers of most Linux distributions with sufficient kernel driver support to just work.
Maybe porting Tow-Boot for the R3 (and the R4 and esp. also the R2 and R2Pro!) would be a worthwhile idea for that use-case. Iâm using that every day on the PineBook Pro⌠https://tow-boot.org/
For OpenWrt (and hence for me) this is not so attractive: OpenWrt is headless and fits in a couple of megabytes of flash; the userland is tightly tied to the kernel â no need for even a EFI boot filesystem to chose which kernel to load as kernel and userland are inseparable anyway, all in one uImage.FIT.
But I was kinda betting that all other (more storage intense) distros would jump on the Standard Boot train to rid themselves of per-board custom installer images and all the maintenance effort associated with that.
Finally got to testing eMMC installation from Openwrt (in NAND).
Downloaded pre-made AP image.gz from http://www.woudstra.mywire.org/images/bpir3-emmc-ap.img.gz and prepared to sda1 USB as instructedâŚ
Managed to install all necessary packages to openwrt and run the commands:
After few minutes all was done, but after switching DIPS to eMMC(LHHL) and PowerOn I canât access AP on 192.168.1.33 and no WIFI24 on air.
Seems something is not working as expectedâŚ
Is the â bootpart enable 7 1 /dev/mmcblk0â still valid for the latest image?
You can connect debuguart before powering on and share log how far the system goesâŚmaybe system boots completely and wifi firmware is missing or any setting is wrong which basicly prevents wifi to work