Installing FreeBSD on Allwinner H3 (Orange Pi Lite)

Hello everyone!

I am a new member of the community and I'm really interested in getting a BSD server running on an Orange Pi Lite (Allwinner H3) to learn more about it.

I come from a Linux background, and I'm a little confused on how to install BSD. I've seen many pages here that tell you "how to install" it but to be honest it all goes over my head and it is unclear which image to use and how to write it properly (it is not just a simple Etcher write?) Can anyone tell me how to install it on an SD card to be used on an H3 in English?

Thanks in advance.
 
I am a new member of the community and I'm really interested in getting a BSD server running on an Orange Pi Lite (Allwinner H3) to learn more about it.
Reading the Handbook and FAQ would be a good starting point

... it is unclear which image to use ...
From the FreeBSD wiki page FreeBSD on Allwinner (sunxi) systems armv7 would be the right image. Since the Orange Pi is not listed I would try FreeBSD-12.1-RELEASE-arm-armv7-GENERICSD.img.xz from https://download.freebsd.org/ftp/releases/arm/armv7/ISO-IMAGES/12.1/

... how to write it properly (it is not just a simple Etcher write?) Can anyone tell me how to install it on an SD card to be used on an H3
How to write with Etcher I can't say, but from linux for example: After unxz(1) the compressed image dd if=FreeBSD-12.1-RELEASE-arm-armv7-GENERICSD.img of=/dev/da0 bs=1m conv=sync
Change /dev/da0 according to the system inserted SD card's device name, and double check it's the correct device.

After the image is written on SD card insert it in the Orange Pi and boot.
 
For the sake of documentation, I tried Rasbpberry-pi armv6, generics armv7, and raspberry pi 2 armv7. None worked.
 
I made some progress, but I need some help. I wrote the genericSD version of the 13.0-CURRENT image to the sd card, and then applied a board-specific u-boot to it, and it started booting, but I got the panic shown below:

Code:
WARNING: Some AP's failed to start
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.
panic: Built bad topology at 0xc0ab4a34.  CPU mask (f) != (1)
cpuid = 0
time = 1
KDB: stack backtrace:
db_trace_self() at db_trace_self
         pc = 0xc05d329c  lr = 0xc007a5c0 (db_trace_self_wrapper+0x30)
         sp = 0xc0e14c98  fp = 0xc0e14db0
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
         pc = 0xc007a5c0  lr = 0xc02b1130 (vpanic+0x164)
         sp = 0xc0e14db8  fp = 0xc0e14dd8
         r4 = 0x00000100  r5 = 0xc0b1b920
         r6 = 0xc073aab8  r7 = 0x00000000
vpanic() at vpanic+0x164
         pc = 0xc02b1130  lr = 0xc02b0efc (doadump)
         sp = 0xc0e14de0  fp = 0xc0e14de4
         r4 = 0xc0ab4a34  r5 = 0xc0e14e0a
         r6 = 0x00800001  r7 = 0x00000000
         r8 = 0x02400000  r9 = 0xc0b1bdf4
        r10 = 0xc0b18a40
doadump() at doadump
         pc = 0xc02b0efc  lr = 0xc03125e8 ($a.2+0x3f0)
         sp = 0xc0e14dec  fp = 0xc0e14e30
         r4 = 0xc0b18a40  r5 = 0xc0e14de4
         r6 = 0xc02b0efc r10 = 0xc0e14dec
$a.2() at $a.2+0x3f0
         pc = 0xc03125e8  lr = 0xc02e5c0c (sched_setup+0x10)
         sp = 0xc0e14e38  fp = 0xc0e14e60
         r4 = 0xc2291a84  r5 = 0xc0a9e5d4
         r6 = 0x00800001  r7 = 0x00000000
         r8 = 0x02400000  r9 = 0xc0b1b90c
        r10 = 0xc0b1b8fc
sched_setup() at sched_setup+0x10
         pc = 0xc02e5c0c  lr = 0xc024ae9c (mi_startup+0x2a4)
         sp = 0xc0e14e68  fp = 0xc0e14e90
         r4 = 0xc2291a84  r5 = 0xc0a9e5d4
         r6 = 0x00800001  r7 = 0x00000000
         r8 = 0x02400000  r9 = 0xc0b1b90c
        r10 = 0xc0b1b8fc
mi_startup() at mi_startup+0x2a4
         pc = 0xc024ae9c  lr = 0xc00002c4 (_start+0x144)
         sp = 0xc0e14e98  fp = 0x00000000
         r4 = 0xc00003f8  r5 = 0xc0b78000
         r6 = 0x00000000  r7 = 0x00c52078
         r8 = 0xc0d4b000  r9 = 0x58f3a180
        r10 = 0x00000000
_start() at _start+0x144
         pc = 0xc00002c4  lr = 0xc00002c4 (_start+0x144)
         sp = 0xc0e14e98  fp = 0x00000000
KDB: enter: panic
[ thread pid 0 tid 100000 ]
Stopped at      kdb_enter+0x58: ldrb    r15, [r15, r15, ror r15]!
db>

Has anyone encountered this before?
 
Not familiar with your exact problem but I was able to boot 12.1-RELEASE and 13.0-CURRENT on similar board (Orange Pi Zero, Allwinner H2+ which is H3 without some features).
 
Not familiar with your exact problem but I was able to boot 12.1-RELEASE and 13.0-CURRENT on similar board (Orange Pi Zero, Allwinner H2+ which is H3 without some features).

How did you do it? I'm desperately trying to build an image with crochet. I both a have a Zero and a One but never managed to build a working image from source, and can't find one online either. I tried 12.1 and HEAD, only need wired network.
 
I've been running FreeBSD 12 on a OrangePi One for a while now.

I assume you that have installed the bootloader for it sysutils/u-boot-orangepi-one and followed the instructions from the release announcement
You will not get a console through the HDMI port, you have to either connect to the serial console with an adapter or through ssh.
For convenience for those without console access to the system, a freebsd user with a password of freebsd is available by default for ssh(1) access. Additionally, the root user password is set to root, which it is strongly recommended to change the password for both users after gaining access to the system.

If it doesn't not work I would first try with another SD card.
 
I have class 10 SD-cards that run Debian and Armbian on both boards. Currently I got as far as seeing the FreeBSD bootmenu on the OPI One, which gets dumped through the kernel init output. After that, all freezes on "kernel args (null)". Which kernel configuration and which dts file are required?
 
How did you do it? I'm desperately trying to build an image with crochet. I both a have a Zero and a One but never managed to build a working image from source, and can't find one online either. I tried 12.1 and HEAD, only need wired network.

I didn't try yet to build my own images, "GENERICSD" works for me.
For my Orange Pi Zero I tried with:
ftp://ftp1.freebsd.org/pub/FreeBSD...1/FreeBSD-12.1-RC2-arm-armv7-GENERICSD.img.xz
ftp://ftp1.freebsd.org/pub/FreeBSD...T-arm-armv7-GENERICSD-20200220-r358133.img.xz

Code:
pkg install u-boot-orangepi-zero
doas dd if=./FreeBSD*.img of=/dev/mmcsd0 bs=1M conv=sync
dd if=/usr/local/share/u-boot/u-boot-orangepi-zero/u-boot-sunxi-with-spl.bin of=/dev/mmcsd0 bs=1024 seek=8 conv=sync

They will work and use dtb/sun8i-h2-plus-orangepi-zero.dtb IIRC.
Some thing won't work (I2C, USBs and sound out on expansion board, UARTs other than UART0) but it will definitely.
I was amazed actually pretty with experience - a few months before it was different - you need to patch and build your own u-boot which won't work, then you download one built by manu which will work. Then all mess with built-in devices tree vs Linux... OpenBSD a few months before also required finding the right device tree, but FreeBSD since 12.1 works mostly out of the box :)
 
Thx, it works with serial output on a OPI Zero 512. Never actually tried this, I was thinking the u-boot.img from the sysutils/u-boot-orangepi... ports was supposed to be the required file to write to the card, as crochet uses this file by default in the Orangepi-One setup.sh script.
Now I'm going to try a manual buildworld again...
 
Hi, I've got Orange Pi Plus (the model which is no longer manufactured, as I understand, since it is no longer on the website, but has the same Allwinner H3 as many other available models). Interesting, it has SATA controller on it. Anyway, I'd like to run FreeBSD on it. I've tried to do with above video, but there is no u-boot customization package for the Orange Pi Plus. I've looked at u-boot sources in the original GitLab repo, and seems like there are all required source DTB files for the Orange Pi Plus. Is there any instructions how to build own u-boot customization package like those ones already in the FreeBSD repos? I want to try building it for my Orange Pi Plus.
 
Hi, I've got Orange Pi Plus (the model which is no longer manufactured, as I understand, since it is no longer on the website, but has the same Allwinner H3 as many other available models). Interesting, it has SATA controller on it. Anyway, I'd like to run FreeBSD on it. I've tried to do with above video, but there is no u-boot customization package for the Orange Pi Plus. I've looked at u-boot sources in the original GitLab repo, and seems like there are all required source DTB files for the Orange Pi Plus. Is there any instructions how to build own u-boot customization package like those ones already in the FreeBSD repos? I want to try building it for my Orange Pi Plus.
orangepi plus defconfig file is here orangepi_plus_defconfig for making u-boot image
clone uboot then
make orangepi_plus_defconfig
make
 
alfa: How do we get access to the video? It keeps indicating that it is private even though I'm signed in to the forum.
 
alfa: How do we get access to the video? It keeps indicating that it is private even though I'm signed in to the forum.
If you mean the video in post #13, that video has been made private on youtube, by the person who uploaded it to youtube. Post #13 was made on Aug 8, 2020, when the youtube link was presumably still publicly viewable.
 
Back
Top