Re: FreeBSD on Star64 from Pine64

From: Mitchell Horne <mhorne_at_freebsd.org>
Date: Wed, 28 May 2025 17:47:08 UTC
Please try updating your firmware (u-boot), as Rich suggested. This
hardware should be supported by the version we ship in ports:
sysutils/u-boot-starfive-visionfive2.

This flavour of u-boot contains logic to select the appropriate DTB for
your hardware; you should not need to change or load anything manually.

After this I expect that booting FreeBSD should succeed, but I do not
have this Star64 hardware to confirm first-hand.

Mitchell

On 5/26/25 16:44, Milan Obuch wrote:
> Hi,
> 
> is somebody running FreeBSD on Pine64's Star64 board? Some time ago,
> I've got one board, but did not try it until today...
> 
> I downloaded an image from ftp.freebsd.org - snapshot
> FreeBSD-15.0-CURRENT-riscv-riscv64-GENERICSD-20250522-30fd79b0c0a3-277396.img
> and copied it to microSD card using dd.
> 
> Then I put this card into my board, reset it and voila, something
> happened... OpenSBI, U-Boot, EFI loader, kernel, but with a problem...
> 
> ---<<BOOT>>---
> GDB: no debug ports present
> KDB: debugger backends: ddb
> KDB: current backend: ddb
> Copyright (c) 1992-2025 The FreeBSD Project.
> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
>         The Regents of the University of California. All rights reserved.
> FreeBSD is a registered trademark of The FreeBSD Foundation.
> FreeBSD 15.0-CURRENT #0 main-n277396-30fd79b0c0a3: Thu May 22 04:31:55 UTC 2025
>     root@releng3.nyi.freebsd.org:/usr/obj/usr/src/riscv.riscv64/sys/GENERIC riscv
> FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd708029e0b2)
> WARNING: WITNESS option enabled, expect reduced performance.
>    t[0]: 0x0000000000000001
>    t[1]: 0xffffffc000a8be70 (thread0_st + 0x170)
>    t[2]: 0xffffffc000b02f80 (w_locklistdata + 0x43f80)
>    t[3]: 0xffffffc000b05400 (w_lohash)
>    t[4]: 0x0000000000000084
>    t[5]: 0x0000000000000000
>    t[6]: 0x0000000000000002
>    s[0]: 0xffffffc000003a20 (initstack + 0x3870)
>    s[1]: 0xffffffd1f32ea000
>    s[2]: 0x0000000000000000
>    s[3]: 0x0000000000000000
>    s[4]: 0xffffffc000b74218 (vm_dom + 0x218)
>    s[5]: 0xffffffc000673ab9 ($d + 0x814)
>    s[6]: 0x0000000000000de9
>    s[7]: 0xffffffc000b74304 (vm_dom + 0x304)
>    s[8]: 0x0000000000000999
>    s[9]: 0xffffffc000b74000 (vm_dom)
>   s[10]: 0xffffffc0008f4d40 (pageproc)
>   s[11]: 0x0000000000000000
>    a[0]: 0xffffffd000000000
>    a[1]: 0x0000000000000000
>    a[2]: 0x0000000000000fff
>    a[3]: 0xffffffd000000000
>    a[4]: 0xffffffd000000001
>    a[5]: 0x0000000000010000
>    a[6]: 0xffffffc00081b298 (lock_class_mtx_sleep)
>    a[7]: 0x4000000000000000
>      ra: 0xffffffc0005f6e4e (pmap_zero_page + 0x38)
>      sp: 0xffffffc000003a10 (initstack + 0x3860)
>      gp: 0xffffffc0008f2158 (__global_pointer$)
>      tp: 0xffffffc000b76040 (__pcpu)
>    sepc: 0xffffffc0005e6f86 (memset + 0x12)
> sstatus: 0x8000000200006100
> stval  : 0xffffffd000000000
> panic: Memory access exception at 0xffffffc0005e6f86: 0xffffffd000000000
> cpuid = 0
> time = 1
> KDB: stack backtrace:
> db_trace_self() at db_trace_self
> db_trace_self_wrapper() at db_trace_self_wrapper+0x36
> kdb_backtrace() at kdb_backtrace+0x2c
> vpanic() at vpanic+0x16e
> panic() at panic+0x26
> do_trap_supervisor() at do_trap_supervisor+0x108
> cpu_exception_handler_supervisor() at cpu_exception_handler_supervisor+0x74
> --- exception 7, tval = 0xffffffd000000000
> memset() at memset+0x12
> pmap_zero_page() at pmap_zero_page+0x34
> vm_page_alloc_noobj_domain() at vm_page_alloc_noobj_domain+0x240
> uma_small_alloc() at uma_small_alloc+0x66
> keg_alloc_slab() at keg_alloc_slab+0xb0
> zone_import() at zone_import+0xf6
> zone_alloc_item() at zone_alloc_item+0x68
> zone_ctor() at zone_ctor+0x542
> uma_startup1() at uma_startup1+0x184
> vm_mem_init() at vm_mem_init+0x3c
> mi_startup() at mi_startup+0x1ee
> va() at va+0x60
> KDB: enter: panic
> [ thread pid 0 tid 0 ]
> Stopped at      kdb_enter+0x3a: sd      zero,520(s1)
> db> 
> 
> (Full log in attachment... should not be mail mangled)
> 
> Is it possible to tell where is the problem?
> 
> I think I need to supply proper DTB file, but question is where I can
> get one :( I did some experiments with it, but no success yet...
> 
> Regards,
> Milan