Any good alternative to Raspberry for Arm64?

Klaus Küchemann maciphone2 at googlemail.com
Mon Mar 29 01:50:13 UTC 2021



> Am 28.03.2021 um 22:02 schrieb Søren Schmidt <soren.schmidt at gmail.com>:
> 
> 
> On 28 Mar 2021, at 21.48, Klaus Küchemann <maciphone2 at googlemail.com> wrote:
>>> 
>>> Well, at least u-boot2021.01 has all the needed support to boot a rockpro64 or pinebookpro from nvme/sata/usb/sd/mmc/net.
>>> If you put u-boot into the SPI-flash it will boot from any of the above media.
>>> 
>>> --
>>> Søren Schmidt
>>> sos at deepcore.dk / sos at freebsd.org
>>> "So much code to hack, so little time“
>>> 
>> 
>> yes, I used 2021.04-rcXX( master, self-compiled)… the strange thing on Rock960-board was that it needed some reboots 
>> until nvme was scanned correctly in u-boot-prompt.
>> Thean it boots FreeBSD straight up and then hangs on mountroot> ( because there’s no /dev/nda0 or /dev/nvmeXX).
>> I presume an electrical issue since it was once(only once) detected by adding nvme_load=„YES“& nvd_load=„YES“ in rc.conf. 
>> The u-boot patch related to nvme on that board also was based on a voltage-change .
>> … I`ll post some debug-output the next hours… (`guess pcie has mem alloc issue from dmesg)…
>> 
>> Anyone successfully booting from nvme on any aarch64-board ??
> 
> 
> Yes, both my rockpro64’s and my pinebookpro boots of NVMe just fine, there is one caveat though, for it to work it needs to be a NVMe device that uses as little power as possible (I use older Intel 660 IIRC uses only 3.5W max), otherwise the HW cant cope..
> 
> 
> Søren Schmidt
> sos at deepcore.dk / sos at freebsd.org
> "So much code to hack, so little time“
> 


> On 28 Mar 2021, at 21.48, Klaus Küchemann <maciphone2 at googlemail.com> wrote:
>>> 
>> … I`ll post some debug-output the next hours… (`guess pcie has mem alloc issue from dmesg)…

This is one of the next hours :-). :


with uSD plugged in(fbsd  installed on it ) :

rock960 =>    pci
rockchip_pcie pcie at f8000000: PCIe link training gen1 timeout!
No such bus
rock960 => boot (from uSD)...

--dmesg :---
...
pcib0: <Rockchip PCIe controller> mem 0xf8000000-0xf9ffffff,0xfd000000-0xfdffffff irq 6,7,8 on ofwbus0
pcib0: Gen1 link training timeouted: 0x00180001.
pci0: <PCI bus> on pcib0
pcib1: <PCI-PCI bridge> at device 0.0 on pci0
pcib0: failed to reserve resource for pcib1
pcib1: failed to allocate initial memory window: 0-0xfffff
pci1: <PCI bus> on pcib1
...
---
root at generic:~ # cat /boot/loader.conf
...
nvme_load="YES"
nvd_load="YES"

..
root at generic:~ # reboot      ( !!!) 
--
U-Boot TPL 2021.04-rc4 (Mar 28 2021 - 22:44:49)
Channel 0: LPDDR3, 800MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
Channel 1: LPDDR3, 800MHz
BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB
256B stride
Trying to boot from BOOTROM
Returning to boot ROM...

U-Boot SPL 2021.04-rc4 (Mar 28 2021 - 22:44:49 +0000)
Trying to boot from MMC2
NOTICE:  BL31: v2.4(release):
NOTICE:  BL31: Built : 22:59:19, Jan 30 2021


U-Boot 2021.04-rc4 (Mar 28 2021 - 22:44:49 +0000)

SoC: Rockchip rk3399
Reset cause: RST
Model: 96boards Rock960
DRAM:  3.9 GiB
PMIC:  RK808 
MMC:   mmc at fe310000: 2, mmc at fe320000: 1, sdhci at fe330000: 0
Loading Environment from MMC... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Model: 96boards Rock960
starting USB...net found.
Bus usb at fe380000: USB EHCI 1.00
Bus usb at fe3a0000: USB OHCI 1.0
Bus usb at fe3c0000: USB EHCI 1.00
Bus usb at fe3e0000: USB OHCI 1.0
Bus dwc3: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
Bus dwc3: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus usb at fe380000 for devices... 1 USB Device(s) found
scanning bus usb at fe3a0000 for devices... 1 USB Device(s) found
scanning bus usb at fe3c0000 for devices... 1 USB Device(s) found
scanning bus usb at fe3e0000 for devices... 1 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
scanning bus dwc3 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0 
rock960 => pci
Scanning PCI devices on bus 0
BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
_____________________________________________________________
00.00.00   0x1d87     0x0100     Bridge device           0x04
rock960 => nvme scan
rock960 => nvme info
Device 0: Vendor: 0x15b7 Rev: 211070WD Prod: 20251C807274        
            Type: Hard Disk
            Capacity: 238475.1 MB = 232.8 GB (488397168 x 512)
——

Now I swap out the uSD while device-power is on ( so that only the nvme has freebsd installed)
 ( u-boot is on the eMMC !!) :

rock960 => run nvme_boot …..
….
OK lsdev 
disk devices:
    disk0:    249737216 X 512 blocks (removable)
efipart_readwrite: rw=1, blk=0 size=1 status=7
    disk1:    59768832 X 512 blocks (removable)
      disk1p1: Unknown
      disk1p2: Unknown
      disk1p3: Unknown
      disk1p4: EFI
      disk1p5: Unknown
    disk2:    488397168 X 512 blocks  	 ( this is the nvme-drive !!!)
      disk2s1: DOS/Windows
      disk2s2: FreeBSD
        disk2s2a: FreeBSD UFS
http: (unknown)
net devices:
-
OK show currdev
disk2p2:
--
OK boot disk2p2:/boot/kernel/kernel

.... !!!!!!!Definitely boots from nvme !!!!!

.... Bla bla bla .....
pcib0: <Rockchip PCIe controller> mem 0xf8000000-0xf9ffffff,0xfd000000-0xfdffffff irq 6,7,8 on ofwbus0
pcib0: Gen1 link training timeouted: 0x00180001.
pci0: <PCI bus> on pcib0
pcib1: <PCI-PCI bridge> at device 0.0 on pci0
pcib0: failed to reserve resource for pcib1
pcib1: failed to allocate initial memory window: 0-0xfffff
pci1: <PCI bus> on pcib1
..........

mountroot: waiting for device /dev/ufs/rootfs...
Mounting from ufs:/dev/ufs/rootfs failed with error 19.

...
mountroot> ?

... shows only partitions of the eMMC ...

FreeBSD-14.0-CURRENT-arm64-aarch64-RPI-20210318-a771bf748f9-245511.img.xz  is dd`d to the nvme-drive .. previously cleanly new formatted with dd(/dev/zero) & gpart ...

not sure to post an freebsd-bug-report because it could be u-boot or hardware-related like Søren Schmidt described : <<(I use older Intel 660 IIRC uses only 3.5W max), otherwise the HW cant cope..>>


Drive is a WD-blue nvme (M-key), directly plugged into the M.2-slot of the Rock960 ,
Doesn't matter whether 12V/2a (default plug) or 12V/3a is used .

The real strange thing is that it definitely boots up from nvme.

Original u-boot-patch is :

https://lists.denx.de/pipermail/u-boot/2020-April/408490.html

Thanks for reading 

K.






More information about the freebsd-arm mailing list