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