Orange Pi Zero support

Emmanuel Vadot manu at bidouilliste.com
Sat Jun 24 16:43:09 UTC 2017


On Sat, 24 Jun 2017 17:15:39 +0200
Emmanuel Vadot <manu at bidouilliste.com> wrote:

> On Sat, 24 Jun 2017 13:13:40 +0200
> Johnny Sorocil <jsorocil at gmail.com> wrote:
> 
> > Hi all!
> > 
> > I am trying to run FreeBSD on Orange Pi Zero board (Allwinner H2+ SoC).
> > 
> > I have few questions:
> > 1) How to build vanilla u-boot which will be capable booting FreeBSD
> > kernel? I have managed to load ubldr, but not the kernel.
> 
>  The easiest way is to use my github fork
> (https://github.com/evadot/u-boot/tree/freebsd) This have all the
> patches for FreeBSD that haven't made upstream yet.
>  As soon as U-Boot 2017.07 is out (it should be out on July 10th) I'll
> create a new branch on the FreeBSD fork
> (https://github.com/freebsd/u-boot).
> 
>  Step to compile U-Boot:
> 
>  export CROSS_COMPILE=arm-none-eabi-
>  gmake board_defconfig
>  gmake menuconfig (and select "Enable FreeBSD boot")
>  gmake
> 
> > 2) How to use newer Linux dts/dtb files?
> 
>  For Allwinner it's straight forward, with a few exception we use the
> Linux DTS untouched.
> 
> > 1) u-boot
> > This is how I built u-boot:
> > git clone git://git.denx.de/u-boot.git
> > cd u-boot
> > git checkout v2017.05
> > # apply patch so it can be built on FreeBSD (tested on FreeBSD 11.1-BETA1)
> > (in the attachment)
> > gmake ARCH=arm CROSS_COMPILE=arm-none-eabi- orangepi_zero_defconfig
> > gmake -j4 ARCH=arm CROSS_COMPILE=arm-none-eabi-
> > dd if=u-boot-sunxi-with-spl.bin conv=notrunc,sync of=/dev/mmcsd0 bs=1024
> > seek=8
> > 
> > In the u-boot prompt:
> >   fatload mmc 0 0x42000000 ubldr.bin
> >   setenv fdtfile sun8i-h3-orangepi-one.dtb
> >   go 0x4200000
> > ubldr will work as expected, but kernel will hang at the start.
> > If I use
> > /usr/local/share/u-boot/u-boot-orangepi-one/u-boot-sunxi-with-spl.bin then
> > the kernel and userland will boot normally.
> > This is tested booting -CURRENT from Jul 22 (git: 57e30b47aab)
> > 
> > 2) newer DTS/DTB
> > If I use sun8i-h3-orangepi-one.dtb from FreeBSD source tree then the board
> > will boot fine, but I don't have network.
> > I can also boot normally if the dtb file is rebuilt manually:
> >   cd /usr/src/sys/gnu/dts/arm
> >   cpp -P -x assembler-with-cpp -I /usr/src/sys/gnu/dts/include -include
> > sun8i-h3-orangepi-plus.dts /dev/null | dtc -O dtb -o ./sun8i-h3-rebuilt.dtb
> >   ls -lh sun8i-h3-rebuilt.dtb
> >   -rw-r--r--  1 root  wheel    15K Jun 24 13:02 sun8i-h3-rebuilt.dtb
> > But, if dtb files from Armbian (Linux 4.11) are used, kernel will hang:
> >   Using DTB from loaded file
> > 'boot/dtb-4.11.3-sun8i/sun8i-h2-plus-orangepi-zero.dtb'.
> >   Kernel entry at 0x42200100...
> >   Kernel args: -v
> > The same file boots Linux without problems.
> > 
> > I don't know why newer dtb files won't work because there is no output on
> > serial console.
> > Any ideas how to make it work?
> 
>  There is nothing on the serial console because we miss the h2
> definition in aw_machdep.c
>  I've started to add proper support for it today but there is some
> problems with some old clocks drivers. I'm currently patching them and
> hope to commit H2Plus support today or tomorow.
> 
>  Cheers,
> 
> -- 
> Emmanuel Vadot <manu at bidouilliste.com> <manu at freebsd.org>
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"

 Sometime I'm just stupid and find problem where there is none.
 H2+ support has been commited in r320315.

 Ethernet and Wifi isn't supported yet.

 Let me know if you have any problems.

-- 
Emmanuel Vadot <manu at bidouilliste.com> <manu at freebsd.org>


More information about the freebsd-arm mailing list