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