Orange PI Zero2 and FreeBSD 13.2

Ok, fating now with some problems and restrictions related to diskless ideology but nothing non-resolvable so far.

The only thing I stuck with now: I can not make the booting process fully automated because every time kernel is booting it is asking on the serial console:

"Enter full pathname of shell or RETURN for /bin/sh: "

So, I am pressing "Enter", then I got:

"root@:/ #"

Then I am typing: "exit" and boot process successfully finishing saying:
-----------------------------
<stuff skipped>
Starting syslogd.
NFS access cache time=60
Mounting late filesystems:.

Thu Jan 1 00:00:42 UTC 1970

FreeBSD/arm64 (Amnesiac) (ttyu2)

login:
-------------------------

So, what the problem? How can I make it not ask that bloody question?
Thank you again for any help!
 
Well, googling that I understand that it is because some error during the boot and the kernel entering to the shell for fix that errors manually.
But I can not see any obvious errors, here is the full boot log of the kernel:
--<<BOOT>>---
Copyright (c) 1992-2021 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 13.2-RELEASE #0 n254617-525ecfdad597-dirty: Fri Jun 9 19:41:17 NZST 2023
build@freebsdbuild:/usr/home/build/fbsd_new/obj/usr/home/build/fbsd_new/src/arm64.aarch64/sys/GENERIC arm64
FreeBSD clang version 14.0.5 (https://github.com/llvm/llvm-project.git llvmorg-14.0.5-0-gc12386ae247c)
VT: init without driver.
module firmware already present!
real memory = 1073479680 (1023 MB)
avail memory = 1023594496 (976 MB)
Starting CPU 1 (1)
Starting CPU 2 (2)
Starting CPU 3 (3)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
arc4random: WARNING: initial seeding bypassed the cryptographic random device because it was not yet seeded and the knob 'bypass_before_seeding' was enabled.
random: entropy device external interface
MAP 7af15000 mode 2 pages 1
MAP 7af19000 mode 2 pages 1
MAP 7af1b000 mode 2 pages 6
MAP 7ff40000 mode 2 pages 16
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
clk_fixed0: <Fixed clock> on ofwbus0
simplebus0: <Flattened device tree simple bus> on ofwbus0
regfix0: <Fixed Regulator> on ofwbus0
psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
rtc0: <Allwinner RTC> mem 0x7000000-0x70003ff irq 35 on simplebus0
rtc0: registered as a time-of-day clock, resolution 1.000000s
ccu_h6ng0: <Allwinner H6 Clock Control Unit NG> mem 0x3001000-0x3001fff on simplebus0
gic0: <ARM Generic Interrupt Controller> mem 0x3021000-0x3021fff,0x3022000-0x3023fff,0x3024000-0x3025fff,0x3026000-0x3027fff irq 17 on simplebus0
gic0: pn 0x2, arch 0x2, rev 0x1, implementer 0x43b irqs 192
generic_timer0: <ARMv8 Generic Timer> irq 4,5,6,7 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 24000000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 24000000 Hz quality 1000
iichb0: <Allwinner RSB> mem 0x7083000-0x70833ff irq 38 on simplebus0
iicbus0: <OFW I2C bus> on iichb0
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
cpu1: <Open Firmware CPU> on cpulist0
cpu2: <Open Firmware CPU> on cpulist0
cpu3: <Open Firmware CPU> on cpulist0
pmu0: <Performance Monitoring Unit> irq 0,1,2,3 on ofwbus0
aw_wdog0: <Allwinner A31 Watchdog> mem 0x30090a0-0x30090bf irq 8 on simplebus0
uart2: <16x50 with 256 byte FIFO> mem 0x5000000-0x50003ff irq 21 on simplebus0
uart2: console (115384,n,8,1)
awg0: <Allwinner Gigabit Ethernet> mem 0x5020000-0x502ffff irq 34 on simplebus0
awg0: Failed to find syscon node
awg0: cannot get syscon driver handle
miibus0: <MII bus> on awg0
rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 0 on miibus0
rgephy0: none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
rgephy1: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
rgephy1: none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
awg0: Ethernet address: 02:00:be:9b:71:c6
iicbus0: <unknown card> at addr 0xe8a
iic0: <I2C generic I/O> on iicbus0
gpioled0: <GPIO LEDs> on ofwbus0
gpioled0: <led-0> failed to map pin
gpioled0: <led-1> failed to map pin
armv8crypto0: <AES-CBC,AES-XTS,AES-GCM>
Timecounters tick every 1.000 msec
usb_needs_explore_all: no devclass
Trying to mount root from nfs:192.168.1.60:/exports/m [ro]...
CPU 0: ARM Cortex-A53 r0p4 affinity: 0
Cache Type = <64 byte D-cacheline,64 byte I-cacheline,VIPT ICache,64 byte ERG,64 byte CWG>
Instruction Set Attributes 0 = <CRC32,SHA2,SHA1,AES+PMULL>
Instruction Set Attributes 1 = <>
Instruction Set Attributes 2 = <>
Processor Features 0 = <AdvSIMD,FP,EL3 32,EL2 32,EL1 32,EL0 32>
Processor Features 1 = <>
Memory Model Features 0 = <TGran4,TGran64,SNSMem,BigEnd,16bit ASID,1TB PA>
Memory Model Features 1 = <8bit VMID>
Memory Model Features 2 = <32bit CCIDX,48bit VA>
Debug Features 0 = <DoubleLock,2 CTX BKPTs,4 Watchpoints,6 Breakpoints,PMUv3,Debugv8>
Debug Features 1 = <>
Auxiliary Features 0 = <>
Auxiliary Features 1 = <>
AArch32 Instruction Set Attributes 5 = <CRC32,SHA2,SHA1,AES+VMULL,SEVL>
AArch32 Media and VFP Features 0 = <FPRound,FPSqrt,FPDivide,DP VFPv3+v4,SP VFPv3+v4,AdvSIMD>
AArch32 Media and VFP Features 1 = <SIMDFMAC,FPHP DP Conv,SIMDHP SP Conv,SIMDSP,SIMDInt,SIMDLS,FPDNaN,FPFtZ>
CPU 1: ARM Cortex-A53 r0p4 affinity: 1
CPU 2: ARM Cortex-A53 r0p4 affinity: 2
CPU 3: ARM Cortex-A53 r0p4 affinity: 3
Release APs...done
awg0: link state changed to DOWN
NFS ROOT: 192.168.1.60:/exports/m
awg0: link state changed to UP
Warning: bad time from time-of-day clock, system time will not be set accurately
Warning: bad time from time-of-day clock, system time will not be set accurately
Enter full pathname of shell or RETURN for /bin/sh:

Or may be is that one?
"Warning: bad time from time-of-day clock, system time will not be set accurately"
If so, how to fix it?

Thank you for any help!
Lev.
 
Happy for your progress on Orange Pi Zero 3
2. Looking forward to s port go Orange Pi 800 , Orange Pi 5, wiki.radxa.org/rock5
Look for manual report how to boot with remote NFS disk.
 
Well, googling that I understand that it is because some error during the boot and the kernel entering to the shell for fix that errors manually.
Its called Single User Mode.
It is falling back to single user mode.
Check fstab for errors.

You will find that in single user mode the disk is mounted in Read-Only mode.
To mount it RW do a fsck -y / then mount -o rw /
 
Its called Single User Mode.
It is falling back to single user mode.
Check fstab for errors.

You will find that in single user mode the disk is mounted in Read-Only mode.
To mount it RW do a fsck -y / then mount -o rw /

fstab is very simple:
--------------------------------
# Device Mount FStype Options Dump Pass
192.168.1.60:/exports/m / nfs ro 0 0
--------------------------------

I have a feeling that something not quite right with NFS client/server settings.

When I login to normal multi-user mode and remount root as read-write by the command:
# mount -u /
then everything looks normal: I can create/remove files, directories, but when I try to change root password:
# passwd
Changing local password for root
New Password:
Retype New Password:
passwd: could not lock the passwd file: No locks available
root@diskless1:~ #

Similar error when I tried to install pkg
#
pkg install flock
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: Y
Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:13:aarch64/quarterly, please wait...
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
pkg-static: sqlite error while executing
<lots of sqlite stuff skipped>
in file pkgdb.c:2333: database is locked
#

So, something wrong with NFS locks, any idea?

Thank you in advance!
 
Well, problem with single user mode was really, really stupid!!!
I always boot from loader with command "boot -s" and I did not understand what does it mean!
And "-s" means: boot in single user mode! I AM STUPID !!!
So, just "boot: without any flag brings me to normal multi-user mode and normal login.

But now, I have another stupid problem!
I can not login! I do not know root password!
What root password will be for release 13.2 if I build and install it from sources ?
Or, how can I reset root password?
I can not reset it in single-user mode because when I tried to remount root in read-write I got:
--------------------
root@:/ # mount -u /
mount_nfs: can't update /var/db/mounttab for 192.168.1.60:/exports/m
--------------------
(Which is strange, I did not have that problem before)
So, I can not change the root password.
But I have access to root file system (because it is on NFS server) and I can change any file.
I tried to copy files: master.passwd passwd pwd.db spwd.db from NFS server /etc to nfs root directory and tried to login with the same passwords as in NFS server buit it does not work.

Also, I do not have access to /etc/master.passwd from single user mode, may be it is a problem?
root@:/ # cat /etc/master.passwd
cat: /etc/master.passwd: Permission denied
root@:/ #


Thank you in advance for any help!
 
ok, that problem solved:
on the NFS server:
# cd $NFSROOT
# mkdir -p conf/base
# tar -c -v -f conf/base/etc.cpio.gz --format cpio --gzip etc
# tar -c -v -f conf/base/var.cpio.gz --format cpio --gzip var
That it is!
Reboot the OrangePI zero 2 and login to root on serial console without any password.
When freebsd boots, if these files: /conf/base/etc.cpio.gz and /conf/base/var.cpio.gz exitsts then
the directories /etc and /var is creating in memory with full access and yes, default root password is empty, the system was asking the password only because
it was not able to read /etc/master.passwd from nfs-mounted /etc, I do not know why!
 
do you have maproot in exports
Yes, here is my exports file:
------------------------
/exports/orangepizero2 -maproot=root:wheel
/usr/home/diskless -alldirs -maproot=root:wheel
--------------------------

and fstab on diskless:
--------------------------
### Common fstab for diskless clients
# Device Mount FStype Options Dump Pass
192.168.1.61:/exports/orangepizero2 / nfs nfsvers=3,rw 0 0
192.168.1.61:/usr/home/diskless /home nfs nfsvers=3,rw, userquota 0 0
proc /proc procfs rw 0 0
--------------------------

Actually everything is solved, except of that bloody lock :-(
 
Ok! That one solved as well!
Need to put int /etc/rc.conf on BOTH sides: client and server:
rpc_lockd_enable="YES"
rpc_statd_enable="YES"
 
Thank you for writing down these details, so others, like myself can learn from your sharing this knowledge, sle123. Can you tar the necessary files you modified. So I can use them as a 'working template' to change same items on my arm64 system. In my case a booting working Raspberry Pi 4B with 8 Gbytes dram memory.

https://revadig.blogspot.com/2019/09/freebsd-workstation-user-report.html Use this shell script file to record your configuraton files into a single text file for documentation and recording to look back and compare in the future with new changes or modifications you make to configuration files like /etc/rc.conf /boot/loader.conf and other configuration and xorg files.
chmod +x User_Report_Freebsd.sh
./User_Report_Freebsd.sh > my_conf_files_June16_2023.txt

I hope this helps us all keep track of our changes to configuration files for FreeBSD arm64.
github with User_Report.py python GUI for executing User_Report.sh
 

Attachments

  • user_report_freebsd.zip
    4.2 KB · Views: 60
i had a look at the dts and source code and looks like sd/emmc, gpio/pintctrl are unsupported
but they don't look to hard to port from linux
that's what i mostly did with rockpi-s (rk3308)
 
i had a look at the dts and source code and looks like sd/emmc, gpio/pintctrl are unsupported
but they don't look to hard to port from linux
that's what i mostly did with rockpi-s (rk3308)

Thank you for writing down these details, so others, like myself can learn from your sharing this knowledge, sle123. Can you tar the necessary files you modified. So I can use them as a 'working template' to change same items on my arm64 system. In my case a booting working Raspberry Pi 4B with 8 Gbytes dram memory.

https://revadig.blogspot.com/2019/09/freebsd-workstation-user-report.html Use this shell script file to record your configuraton files into a single text file for documentation and recording to look back and compare in the future with new changes or modifications you make to configuration files like /etc/rc.conf /boot/loader.conf and other configuration and xorg files.
chmod +x User_Report_Freebsd.sh
./User_Report_Freebsd.sh > my_conf_files_June16_2023.txt

I hope this helps us all keep track of our changes to configuration files for FreeBSD arm64.
github with User_Report.py python GUI for executing User_Report.sh
Hi wb7odyfred,

I am not sure, will it help in your situation, but I have created a document where I have described in details step-by step what I did.


Everything is working now!
The only small thing: orangepizero2 can not ping its own IP address from its own command line. Pings from other hosts - fine.
Anyone ideas? What have I missed?
 
i had a look at the dts and source code and looks like sd/emmc, gpio/pintctrl are unsupported
but they don't look to hard to port from linux
that's what i mostly did with rockpi-s (rk3308)
Hi Covacat,

I am not an expert in dts/dtb files, what I have only achieved through comparathing dts for H6 and H616 is: I made only ethernet interface working.
What I have did here, the dts patch in P.2.2 of that document:

If you would make working other stuff: USB, MMC, GPIO, that would be great!
I am ready to test your dts files if you do not have Orange PI Zero2 available.

Or, I can try to do it myself if you give me some advices: links to info where I can learn how to do it.

So far, I tried to copy dts files from linux, from u-boot and I got the same result: compilation ok, but nothing worked!

Thank you in advance!
 
its not fixable by hacking the dtb only
there are a bunch of soc devices that are similar between h6 and h616 but they are not quite the same
the gpio, clock, sdmmc, probably usb phy drivers need support by hacking the kernel
ill try to hack the drivers and add h616 support (by looking on how linux does it) (thats what i did for the rockpi-s board)
currently i do not have a h616 board but i ordered an android tv box based on h616
hopefully it has uart pins or pads on the motherboard so i can debug what i am doing
 
i've got a board
Code:
U-Boot SPL 2023.07-rc4-dirty (Jul 21 2023 - 06:52:05 +0300)
DRAM: 1024 MiB
Trying to boot from MMC1
NOTICE:  BL31: v2.9(release):v2.9.0-230-ge09b8aa5a
NOTICE:  BL31: Built : 08:11:57, Jun 26 2023
NOTICE:  BL31: Detected Allwinner H616 SoC (1823)
NOTICE:  BL31: Found U-Boot DTB at 0x4a097130, model: OrangePi Zero2


U-Boot 2023.07-rc4-dirty (Jul 21 2023 - 06:52:05 +0300) Allwinner Technology

CPU:   Allwinner H616 (SUN50I)
Model: OrangePi Zero2
DRAM:  1 GiB
Core:  48 devices, 18 uclasses, devicetree: separate
WDT:   Not starting watchdog@30090a0
MMC:   mmc@4020000: 0
Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...
In:    serial@5000000
Out:   serial@5000000
Err:   serial@5000000
Net:   eth0: ethernet@5020000
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
BootOrder not defined
EFI boot manager: Cannot load any image
Found EFI removable media binary efi/boot/bootaa64.efi
1180860 bytes read in 106 ms (10.6 MiB/s)
Booting /efi\boot\bootaa64.efi
console comconsole failed to initialize
Consoles: EFI console
    Reading loader env vars from /efi/freebsd/loader.env
Setting currdev to disk0p1:
FreeBSD/arm64 EFI loader, Revision 1.1

   Command line arguments: loader.efi
   Image base: 0x7add8000
   EFI version: 2.100
   EFI Firmware: Das U-Boot (rev 8227.1792)
   Console: efi,comconsole (0)
   Load Path: /efi\boot\bootaa64.efi
   Load Device: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(1,0x01,0,0x8000,0xf000)
Trying ESP: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(1,0x01,0,0x8000,0xf000)
Setting currdev to disk0p1:
Trying: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(2,0x01,0,0x18000,0x1cf2000)
Setting currdev to disk0p2:
Loading /boot/defaults/loader.conf
Loading /boot/defaults/loader.conf
Loading /boot/device.hints
Loading /boot/loader.conf
Loading /boot/loader.conf.local
/
Loading kernel...
/boot/kernel/kernel text=0x2a8 text=0x8d85f0 text=0x2182e4 data=0x1bfb10 data=0x0+0x2a9000 0x8+0x12f4e0+0x8+0x151367\
Loading configured modules...
/boot/kernel/wlan_amrr.ko text=0xcd5 text=0xad8 data=0x2e8+0x4 0x8+0x840+0x8+0x504
loading required module 'wlan'
/boot/kernel/wlan.ko text=0x13b00 text=0x3bf00 data=0x8458+0x2d8 0x8+0x8d30+0x8+0x7208
/boot/kernel/umodem.ko text=0x2060 text=0x1350 data=0x6c8+0x10 0x8+0xee8+0x8+0xb42
loading required module 'ucom'
/boot/kernel/ucom.ko text=0x249f text=0x3380 data=0x8a0+0x858 0x8+0x1188+0x8+0xb19
/boot/kernel/rtwn.ko text=0x6494 text=0x184bc data=0x658 0x8+0x3720+0x8+0x18c4
/etc/hostid size=0x25
/boot/kernel/if_rtwn_usb.ko text=0xc980 text=0x6a90 data=0x1df8+0x3f 0x8+0x4218+0x8+0x2952
/boot/dtb/allwinner/sun50i-h616-orangepi-zero2.dtb size=0x3c2d
/boot/entropy size=0x1000

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...
Using DTB from loaded file '/boot/dtb/allwinner/sun50i-h616-orangepi-zero2.dtb'.
EFI framebuffer information:
addr, size     0x0, 0x0
dimensions     0 x 0
stride         0
masks          0x00000000, 0x00000000, 0x00000000, 0x00000000
---<<BOOT>>---
WARNING: Cannot find freebsd,dts-version property, cannot check DTB compliance
Copyright (c) 1992-2021 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 13.2-RELEASE GENERIC arm64
FreeBSD clang version 14.0.5 (https://github.com/llvm/llvm-project.git llvmorg-14.0.5-0-gc12386ae247c)
VT: init without driver.
module firmware already present!
real memory  = 1073479680 (1023 MB)
avail memory = 1023037440 (975 MB)
Starting CPU 1 (1)
Starting CPU 2 (2)
Starting CPU 3 (3)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
random: unblocking device.
random: entropy device external interface
MAP 7af11000 mode 2 pages 1
MAP 7af15000 mode 2 pages 1
MAP 7af17000 mode 2 pages 2
MAP 7af1a000 mode 2 pages 4
MAP 7ff40000 mode 2 pages 16
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
clk_fixed0: <Fixed clock> on ofwbus0
simplebus0: <Flattened device tree simple bus> on ofwbus0
regfix0: <Fixed Regulator> on ofwbus0
regfix1: <Fixed Regulator> on ofwbus0
psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
rtc0: <Allwinner RTC> mem 0x7000000-0x70003ff irq 44 on simplebus0
rtc0: registered as a time-of-day clock, resolution 1.000000s
ccu_h616ng0: <Allwinner H616 Clock Control Unit NG> mem 0x3001000-0x3001fff on simplebus0
ccu_sun50i_h616_r0: <Allwinner SUN50I_H616_R Clock Control Unit NG> mem 0x7010000-0x701020f on simplebus0
gic0: <ARM Generic Interrupt Controller> mem 0x3021000-0x3021fff,0x3022000-0x3023fff,0x3024000-0x3025fff,0x3026000-0x3027fff irq 17 on simplebus0
gic0: pn 0x2, arch 0x2, rev 0x1, implementer 0x43b irqs 192
gpio0: <Allwinner GPIO/Pinmux controller> mem 0x300b000-0x300b3ff irq 9,10,11,12,13,14,15,16 on simplebus0
gpiobus0: <OFW GPIO bus> on gpio0
gpio1: <Allwinner GPIO/Pinmux controller> mem 0x7022000-0x70223ff on simplebus0
gpiobus1: <OFW GPIO bus> on gpio1
generic_timer0: <ARMv8 Generic Timer> irq 4,5,6,7 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 24000000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 24000000 Hz quality 1000
aw_syscon0: <Allwinner syscon> mem 0x3000000-0x3000fff on simplebus0
awusbphy0: <Allwinner USB PHY> mem 0x5100400-0x5100423,0x5101800-0x5101813,0x5200800-0x5200813,0x5310800-0x5310813,0x5311800-0x5311813 on simplebus0
iichb0: <Allwinner RSB> mem 0x7083000-0x70833ff irq 47 on simplebus0
iicbus0: <OFW I2C bus> on iichb0
axp806_pmu0: <X-Powers AXP806 Power Management Unit> at addr 0xe8a on iicbus0
axp806_pmu0: regulator_parse_ofw_stdparam: Missing regulator name
axp806_pmu0: cannot attach regulator bldo2
axp806_pmu0: regulator_parse_ofw_stdparam: Missing regulator name
axp806_pmu0: cannot attach regulator bldo3
axp806_pmu0: regulator_parse_ofw_stdparam: Missing regulator name
axp806_pmu0: cannot attach regulator bldo4
axp806_pmu0: regulator_parse_ofw_stdparam: Missing regulator name
axp806_pmu0: cannot attach regulator cldo1
axp806_pmu0: regulator_parse_ofw_stdparam: Missing regulator name
axp806_pmu0: cannot attach regulator cldo2
axp806_pmu0: regulator_parse_ofw_stdparam: Missing regulator name
axp806_pmu0: cannot attach regulator cldo3
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
cpu1: <Open Firmware CPU> on cpulist0
cpu2: <Open Firmware CPU> on cpulist0
cpu3: <Open Firmware CPU> on cpulist0
pmu0: <Performance Monitoring Unit> irq 0,1,2,3 on ofwbus0
aw_wdog0: <Allwinner A31 Watchdog> mem 0x30090a0-0x30090bf irq 8 on simplebus0
gpioc0: <GPIO controller> on gpio0
aw_mmc0: <Allwinner Integrated MMC/SD controller> mem 0x4020000-0x4020fff irq 18 on simplebus0
��]X.��r���standard ns8250 class UART with FIFOs> mem 0x5000000-0x50003ff irq 21 on simplebus0
uart0: console (-1,n,8,1)
awg0: <Allwinner Gigabit Ethernet> mem 0x5020000-0x502ffff irq 34 on simplebus0
miibus0: <MII bus> on awg0
rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 0 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
rgephy1: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
rgephy1:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
awg0: Ethernet address: 02:00:21:7c:a1:20
musbotg0: <Allwinner USB DRD> mem 0x5100000-0x51003ff irq 35 on simplebus0
musbotg0: setting phy mode 3
usbus0: Dynamic FIFO sizing detected, assuming 16Kbytes of FIFO RAM
usbus0 on musbotg0
ehci0: <Generic EHCI Controller> mem 0x5200000-0x52000ff irq 38 on simplebus0
usbus1: EHCI version 1.0
usbus1 on ehci0
ohci0: <Generic OHCI Controller> mem 0x5200400-0x52004ff irq 39 on simplebus0
usbus2 on ohci0
gpioc1: <GPIO controller> on gpio1
iic0: <I2C generic I/O> on iicbus0
gpioled0: <GPIO LEDs> on ofwbus0
armv8crypto0: <AES-CBC,AES-XTS,AES-GCM>
Timecounters tick every 1.000 msec
usbus0: 480Mbps High Speed USB v2.0
usbus1: 480Mbps High Speed USB v2.0
usbus2: 12Mbps Full Speed USB v1.0
Trying to mount root from ufs:/dev/mmcsd0s2a []...
CPU  0: ARM Cortex-A53 r0p4 affinity:  0
                   Cache Type = <64 byte D-cacheline,64 byte I-cacheline,VIPT ICache,64 byte ERG,64 byte CWG>
 Instruction Set Attributes 0 = <CRC32,SHA2,SHA1,AES+PMULL>
 Instruction Set Attributes 1 = <>
 Instruction Set Attributes 2 = <>
         Processor Features 0 = <AdvSIMD,FP,EL3 32,EL2 32,EL1 32,EL0 32>
         Processor Features 1 = <>
      Memory Model Features 0 = <TGran4,TGran64,SNSMem,BigEnd,16bit ASID,1TB PA>
      Memory Model Features 1 = <8bit VMID>
      Memory Model Features 2 = <32bit CCIDX,48bit VA>
             Debug Features 0 = <DoubleLock,2 CTX BKPTs,4 Watchpoints,6 Breakpoints,PMUv3,Debugv8>
             Debug Features 1 = <>
         Auxiliary Features 0 = <>
         Auxiliary Features 1 = <>
AArch32 Instruction Set Attributes 5 = <CRC32,SHA2,SHA1,AES+VMULL,SEVL>
AArch32 Media and VFP Features 0 = <FPRound,FPSqrt,FPDivide,DP VFPv3+v4,SP VFPv3+v4,AdvSIMD>
AArch32 Media and VFP Features 1 = <SIMDFMAC,FPHP DP Conv,SIMDHP SP Conv,SIMDSP,SIMDInt,SIMDLS,FPDNaN,FPFtZ>
CPU  1: ARM Cortex-A53 r0p4 affinity:  1
CPU  2: ARM Cortex-A53 r0p4 affinity:  2
CPU  3: ARM Cortex-A53 r0p4 affinity:  3
Release APs...done
ugen0.1: <Mentor Graphics OTG Root HUB> at usbus0
ugen2.1: <Generic OHCI root HUB> at usbus2
ugen1.1: <Generic EHCI root HUB> at usbus1
uhub0 on usbus0
uhub1 on usbus1
uhub2 on usbus2
uhub0: <Mentor Graphics OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
uhub2: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2
uhub1: <Generic EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
uhub2: 1 port with 1 removable, self powered
uhub0: 1 port with 1 removable, self powered
mmc0: <MMC/SD bus> on aw_mmc0
mmcsd0: 16GB <SDHC 00000 0.0 SN 00017677 MFG 12/2019 by 159 TI> at mmc0 25.0MHz/4bit/32768-block
mmc0: Failed to set VCCQ for card at relative address 1
uhub1: 1 port with 1 removable, self powered
Warning: bad time from time-of-day clock, system time will not be set accurately
Dual Console: Serial Primary, Video Secondary
No suitable dump device was found.
Setting hostuuid: d764368e-a9b6-4215-a6ea-9f1c090dcf1c.
Setting hostid: 0x3bd62961.
Starting file system checks:
/dev/mmcsd0s2a: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/mmcsd0s2a: clean, 2847075 free (1747 frags, 355666 blocks, 0.0% fragmentation)
Mounting local filesystems:.
ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg /usr/local/lib/compat/pkg
Setting hostname: sunxi-50i-h616.eatlas.local.
Setting up harvesting: [UMA],[FS_ATIME],SWI,INTERRUPT,NET_NG,[NET_ETHER],NET_TUN,MOUSE,KEYBOARD,ATTACH,CACHED
Feeding entropy: rm: /entropy: Read-only file system
dd: /entropy: Read-only file system
dd: /boot/entropy: Read-only file system
.
ifconfig_b: SIOCIFCREATE2 (wlan0): Device not configured
lo0: link state changed to UP
Starting Network: lo0 awg0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
    inet 127.0.0.1 netmask 0xff000000
    groups: lo
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
awg0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=8000b<RXCSUM,TXCSUM,VLAN_MTU,LINKSTATE>
    ether 02:00:21:7c:a1:20
    media: Ethernet autoselect (none)
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
Starting devd.
Starting Network: awg0.
awg0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=8000b<RXCSUM,TXCSUM,VLAN_MTU,LINKSTATE>
    ether 02:00:21:7c:a1:20
    media: Ethernet autoselect (none)
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
add host 127.0.0.1: gateway lo0 fib 0: route already in table
add host ::1: gateway lo0 fib 0: route already in table
add net fe80::: gateway ::1
add net ff02::: gateway ::1
add net ::ffff:0.0.0.0: gateway ::1
add net ::0.0.0.0: gateway ::1
Updating /var/run/os-release done.
Updating motd:.
Clearing /tmp (X related).
Creating and/or trimming log files.
Starting syslogd.
Setting date via ntp.
21 Jul 09:20:56 ntpdate[716]: no servers can be used, exiting
Mounting late filesystems:.
Performing sanity check on sshd configuration.
Starting sshd.
Starting cron.
Starting background file system checks in 60 seconds.

Fri Jul 21 09:20
FreeBSD/arm64 (sunxi-50i-h616.eatlas.local) (ttyu0)
 
fixed rtc and thermal
also seems "mainline" u-boot has some dram timing problems, get weird panics after mountroot
seems that dram data from the x96-mate (android-tv-box) fixes it
 
latest dmesg
Code:
WARNING: Cannot find freebsd,dts-version property, cannot check DTB compliance
Copyright (c) 1992-2021 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 13.2-RELEASE-p1 GENERIC arm64
FreeBSD clang version 14.0.5 (https://github.com/llvm/llvm-project.git llvmorg-14.0.5-0-gc12386ae247c)
VT: init without driver.
module firmware already present!
real memory  = 1073479680 (1023 MB)
avail memory = 1023119360 (975 MB)
Starting CPU 1 (1)
Starting CPU 2 (2)
Starting CPU 3 (3)
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
random: unblocking device.
random: entropy device external interface
MAP 7af11000 mode 2 pages 1
MAP 7af15000 mode 2 pages 1
MAP 7af17000 mode 2 pages 2
MAP 7af1a000 mode 2 pages 4
MAP 7ff40000 mode 2 pages 16
kbd0 at kbdmux0
ofwbus0: <Open Firmware Device Tree>
clk_fixed0: <Fixed clock> on ofwbus0
simplebus0: <Flattened device tree simple bus> on ofwbus0
regfix0: <Fixed Regulator> on ofwbus0
regfix1: <Fixed Regulator> on ofwbus0
psci0: <ARM Power State Co-ordination Interface Driver> on ofwbus0
rtc0: <Allwinner RTC> mem 0x7000000-0x70003ff irq 44 on simplebus0
rtc0: registered as a time-of-day clock, resolution 1.000000s
ccu_h616ng0: <Allwinner H616 Clock Control Unit NG> mem 0x3001000-0x3001fff on simplebus0
ccu_sun50i_h616_r0: <Allwinner SUN50I_H616_R Clock Control Unit NG> mem 0x7010000-0x701020f on simplebus0
gic0: <ARM Generic Interrupt Controller> mem 0x3021000-0x3021fff,0x3022000-0x3023fff,0x3024000-0x3025fff,0x3026000-0x3027fff irq 17 on simplebus0
gic0: pn 0x2, arch 0x2, rev 0x1, implementer 0x43b irqs 192
gpio0: <Allwinner GPIO/Pinmux controller> mem 0x300b000-0x300b3ff irq 9,10,11,12,13,14,15,16 on simplebus0
gpiobus0: <OFW GPIO bus> on gpio0
gpio1: <Allwinner GPIO/Pinmux controller> mem 0x7022000-0x70223ff on simplebus0
gpiobus1: <OFW GPIO bus> on gpio1
generic_timer0: <ARMv8 Generic Timer> irq 4,5,6,7 on ofwbus0
Timecounter "ARM MPCore Timecounter" frequency 24000000 Hz quality 1000
Event timer "ARM MPCore Eventtimer" frequency 24000000 Hz quality 1000
aw_syscon0: <Allwinner syscon> mem 0x3000000-0x3000fff on simplebus0
aw_sid0: <Allwinner Secure ID Controller> mem 0x3006000-0x3006fff on simplebus0
awusbphy0: <Allwinner USB PHY> mem 0x5100400-0x5100423,0x5101800-0x5101813,0x5200800-0x5200813,0x5310800-0x5310813,0x5311800-0x5311813 on simplebus0
iichb0: <Allwinner RSB> mem 0x7083000-0x70833ff irq 47 on simplebus0
iicbus0: <OFW I2C bus> on iichb0
axp806_pmu0: <X-Powers AXP806 Power Management Unit> at addr 0xe8a on iicbus0
axp806_pmu0: regulator_parse_ofw_stdparam: Missing regulator name
axp806_pmu0: cannot attach regulator bldo2
axp806_pmu0: regulator_parse_ofw_stdparam: Missing regulator name
axp806_pmu0: cannot attach regulator bldo3
axp806_pmu0: regulator_parse_ofw_stdparam: Missing regulator name
axp806_pmu0: cannot attach regulator bldo4
axp806_pmu0: regulator_parse_ofw_stdparam: Missing regulator name
axp806_pmu0: cannot attach regulator cldo1
axp806_pmu0: regulator_parse_ofw_stdparam: Missing regulator name
axp806_pmu0: cannot attach regulator cldo2
axp806_pmu0: regulator_parse_ofw_stdparam: Missing regulator name
axp806_pmu0: cannot attach regulator cldo3
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
cpufreq_dt0: <Generic cpufreq driver> on cpu0
cpu1: <Open Firmware CPU> on cpulist0
cpu2: <Open Firmware CPU> on cpulist0
cpu3: <Open Firmware CPU> on cpulist0
pmu0: <Performance Monitoring Unit> irq 0,1,2,3 on ofwbus0
aw_wdog0: <Allwinner A31 Watchdog> mem 0x30090a0-0x30090bf irq 8 on simplebus0
gpioc0: <GPIO controller> on gpio0
aw_mmc0: <Allwinner Integrated MMC/SD controller> mem 0x4020000-0x4020fff irq 18 on simplebus0
uart0: <Non-standard ns8250 class UART with FIFOs> mem 0x5000000-0x50003ff irq 21 on simplebus0
uart0: console (-1,n,8,1)
awg0: <Allwinner Gigabit Ethernet> mem 0x5020000-0x502ffff irq 34 on simplebus0
miibus0: <MII bus> on awg0
rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 0 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
rgephy1: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
rgephy1:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
awg0: Ethernet address: 02:00:21:7c:a1:20
musbotg0: <Allwinner USB DRD> mem 0x5100000-0x51003ff irq 35 on simplebus0
musbotg0: setting phy mode 3
usbus0: Dynamic FIFO sizing detected, assuming 16Kbytes of FIFO RAM
usbus0 on musbotg0
ehci0: <Generic EHCI Controller> mem 0x5101000-0x51010ff irq 36 on simplebus0
usbus1: EHCI version 1.0
usbus1 on ehci0
ehci1: <Generic EHCI Controller> mem 0x5200000-0x52000ff irq 38 on simplebus0
usbus2: EHCI version 1.0
usbus2 on ehci1
ohci0: <Generic OHCI Controller> mem 0x5200400-0x52004ff irq 39 on simplebus0
usbus3 on ohci0
ehci2: <Generic EHCI Controller> mem 0x5310000-0x53100ff irq 40 on simplebus0
usbus4: EHCI version 1.0
usbus4 on ehci2
ohci1: <Generic OHCI Controller> mem 0x5310400-0x53104ff irq 41 on simplebus0
usbus5 on ohci1
ehci3: <Generic EHCI Controller> mem 0x5311000-0x53110ff irq 42 on simplebus0
usbus6: EHCI version 1.0
usbus6 on ehci3
gpioc1: <GPIO controller> on gpio1
iic0: <I2C generic I/O> on iicbus0
aw_thermal0: <Allwinner Thermal Sensor Controller> mem 0x5070400-0x50707ff irq 48 on simplebus0
aw_thermal0: syscon r0 is 7fffffff
aw_thermal0: syscon r0 is 7ffeffff
aw_thermal0: sensor1 cdata is 831 b42 30000 26000
aw_thermal0: sensor2 cdata is 825 b47 29000 26000
aw_thermal0: sensor3 cdata is 825 b47 29000 26000
aw_thermal0: sensor4 is not calibrated.
gpioled0: <GPIO LEDs> on ofwbus0
armv8crypto0: <AES-CBC,AES-XTS,AES-GCM>
Timecounters tick every 1.000 msec
usbus0: 480Mbps High Speed USB v2.0
usbus1: 480Mbps High Speed USB v2.0
usbus2: 480Mbps High Speed USB v2.0
usbus3: 12Mbps Full Speed USB v1.0
usbus4: 480Mbps High Speed USB v2.0
CPU  0: ARM Cortex-A53 r0p4 affinity:  0
                   Cache Type = <64 byte D-cacheline,64 byte I-cacheline,VIPT ICache,64 byte ERG,64 byte CWG>
 Instruction Set Attributes 0 = <CRC32,SHA2,SHA1,AES+PMULL>
 Instruction Set Attributes 1 = <>
 Instruction Set Attributes 2 = <>
         Processor Features 0 = <AdvSIMD,FP,EL3 32,EL2 32,EL1 32,EL0 32>
         Processor Features 1 = <>
      Memory Model Features 0 = <TGran4,TGran64,SNSMem,BigEnd,16bit ASID,1TB PA>
      Memory Model Features 1 = <8bit VMID>
      Memory Model Features 2 = <32bit CCIDX,48bit VA>
             Debug Features 0 = <DoubleLock,2 CTX BKPTs,4 Watchpoints,6 Breakpoints,PMUv3,Debugv8>
             Debug Features 1 = <>
         Auxiliary Features 0 = <>
         Auxiliary Features 1 = <>
AArch32 Instruction Set Attributes 5 = <CRC32,SHA2,SHA1,AES+VMULL,SEVL>
AArch32 Media and VFP Features 0 = <FPRound,FPSqrt,FPDivide,DP VFPv3+v4,SP VFPv3+v4,AdvSIMD>
AArch32 Media and VFP Features 1 = <SIMDFMAC,FPHP DP Conv,SIMDHP SP Conv,SIMDSP,SIMDInt,SIMDLS,FPDNaN,FPFtZ>
CPU  1: ARM Cortex-A53 r0p4 affinity:  1
CPU  2: ARM Cortex-A53 r0p4 affinity:  2
CPU  3: ARM Cortex-A53 r0p4 affinity:  3
Release APs...done
usbus5: 12Mbps Full Speed USB v1.0
usbus6: 480Mbps High Speed USB v2.0
Trying to mount root from ufs:/dev/mmcsd0s2a []...
ugen5.1: <Generic OHCI root HUB> at usbus5
ugen2.1: <Generic EHCI root HUB> at usbus2
ugen1.1: <Generic EHCI root HUB> at usbus1
ugen0.1: <Mentor Graphics OTG Root HUB> at usbus0
uhub0 on usbus5
uhub1 on usbus0
uhub0: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus5
uhub2 on usbus1
uhub3 on usbus2
uhub2: <Generic EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
uhub3: <Generic EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2
uhub1: <Mentor Graphics OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
ugen3.1: <Generic OHCI root HUB> at usbus3
ugen6.1: <Generic EHCI root HUB> at usbus6
ugen4.1: <Generic EHCI root HUB> at usbus4
uhub4 on usbus3
uhub5 on usbus6
uhub6 on usbus4
uhub4: <Generic OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus3
uhub5: <Generic EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus6
uhub6: <Generic EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus4
uhub0: 1 port with 1 removable, self powered
uhub4: 1 port with 1 removable, self powered
uhub1: 1 port with 1 removable, self powered
mmc0: <MMC/SD bus> on aw_mmc0
mmcsd0: 16GB <SDHC 00000 0.0 SN 00017677 MFG 12/2019 by 159 TI> at mmc0 25.0MHz/4bit/32768-block
mmc0: Failed to set VCCQ for card at relative address 1
uhub3: 1 port with 1 removable, self powered
uhub2: 1 port with 1 removable, self powered
uhub6: 1 port with 1 removable, self powered
uhub5: 1 port with 1 removable, self powered
Root mount waiting for: usbus2
usb_msc_auto_quirk: UQ_MSC_NO_GETMAXLUN set for USB mass storage device vendor 0x13fe USB DISK 3.0 (0x13fe:0x6300)
usb_msc_auto_quirk: UQ_MSC_NO_PREVENT_ALLOW set for USB mass storage device vendor 0x13fe USB DISK 3.0 (0x13fe:0x6300)
ugen2.2: <vendor 0x13fe USB DISK 3.0> at usbus2
umass0 on uhub3
umass0: <vendor 0x13fe USB DISK 3.0, class 0/0, rev 2.10/1.10, addr 2> on usbus2
umass0:  SCSI over Bulk-Only; quirks = 0x8100
umass0:0:0: Attached to scbus0
da0 at umass-sim0 bus 0 scbus0 target 0 lun 0
da0: < USB DISK 3.0 PMAP> Removable Direct Access SPC-4 SCSI device
da0: Serial Number 07000346C6AD9E66
da0: 40.000MB/s transfers
da0: 14808MB (30326784 512 byte sectors)
da0: quirks=0x3<NO_SYNC_CACHE,NO_6_BYTE>
Dual Console: Serial Primary, Video Secondary
lo0: link state changed to UP
awg0: link state changed to DOWN
awg0: link state changed to UP
 
got some zero3s. 1gb and 4gb variants. the 1gb version is as cheap a raspberry pi zero2w and half the price of opi zero2
it seems to be an evolution, it has h618 instead of h616. (larger l3 cache 1M vs 1/2M i think)
hacking axp313a pmic driver now
 
got some zero3s. 1gb and 4gb variants. the 1gb version is as cheap a raspberry pi zero2w and half the price of opi zero2
it seems to be an evolution, it has h618 instead of h616. (larger l3 cache 1M vs 1/2M i think)
hacking axp313a pmic driver now
I received an Orange Pi Zero 3 as well, directly from China -- 20 € including shipping. I struggled installing FreeBSD on an OPiZ2, mainly because I missed the fact that u-boot must be copied to the internal SPI flash of the devices. So, I started my projects with Linux, however I left all doors open for FreeBSD, which is my favorite OS, and the dream would be to have even WLAN working.

That said, I can already tell something about the performance of the Z3 compared to the Z2 and a RPi4B (all running Debian Linux). I got a project in C/Objective-C project (70000 lines of code) witch the target can build on a NFS volume of my developer machine. So the timings below may not be attributed to µSD-card peculiarities.

OPiZ3: 65 s (core temperature rises from 40 to 41 °C)
OPiZ2: 94 s (core temperature rises from 45 to 48 °C)
RPi4B: 44 s

On the RPi, I installed Linux only for some testing only. The very RPi4B operated by FreeBSD 14.0-CURRENT does build the same project in 60 s. Well 14-Current tells us: „WARNING: WITNESS option enabled, expect reduced performance.“ Perhaps on a release build it would be less then 60 s. I don’t run 13.2-RELEASE on the RPi because someone choose to spoil the I2C RTC address in 13 and this has been fixed in 14 only.
On my developer machine, a Mac Mini from 2011 the project builds within Xcode in less than 10 s (in words ten seconds from the scratch -- dual core i5 @ 2,5 GHz with SSD).

I really wanted to develop my projects with the Raspberry Pi 4, but for almost 2 years it was not available for reasonable prices. I found the Orange Pi Zero series. Forget for a second the availability and price issues, for my projects the Orange Pi Zero 3 is way better suited than the RPi. It is very tiny, and it runs with a 3 Watt embedded power source (5 V · 0.6 A, see below). The RPi won’t even start with that. Above build was done with that power source and WLAN was turned on - NFS was over 1GBs cable though.

Why do I tell all that? Because I do think that the Orange Pi Zero 3 is not just another SBC. It is on the leading edge of systems which developers for embedded systems do need. I would like to see FreeBSD supported as well on the Orange Pi Zeros as on the Raspberries. Until that happens I need to stay with Linux.
Bildschirmfoto 2023-08-19 um 12.07.18.png
Bildschirmfoto 2023-08-19 um 12.07.28.png
 
zero3
i built u-boot from orange-pi u-boot git and added EFI support, i can boot it

looks like the ethernet phy is not supported on freebsd (Motorcomm YT8521/YT8531)
fortunately openbsd has a driver which i can probably convert to freebsd
 
i frankensteined a phy driver from openbsd and linux and now i have ethernet
cpu frequency control does not work
did not decide where/what to hack yet
usb, ethernet, gpio, sdcard,pmic,pwm,thermal are working
for some reason cpu is hotter than zero2, both finger test and sensor reading
 
Code:
[root@sun50i-h616-evb /home/titus]# kldload mx25l
mx25l0: <M25Pxx Flash Family> at cs 0 mode 0 on spibus0
mx25l0: device type zb25vq128, size 16384K in 256 sectors of 64K, erase size 4K
yay!
 
Back
Top