Date: Sat, 24 Jun 2017 14:47:20 +0200 From: aggaz <aggaz@paranoici.org> To: freebsd-arm@freebsd.org Subject: Re: Orange Pi Zero support Message-ID: <aa58cd84-11c4-7b52-84a8-997c40fb1c0c@paranoici.org> In-Reply-To: <mailman.61.1498305601.55290.freebsd-arm@freebsd.org> References: <mailman.61.1498305601.55290.freebsd-arm@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello, try something like this: http://freebsd.1045724.x6.nabble.com/Re-FreeBSD-12-CURRENT-on-OrangePi-One-td6185280.html Regards > 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. > 2) How to use newer Linux dts/dtb files? > > 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? > -------------- next part -------------- > diff --git a/lib/bch.c b/lib/bch.c > index ec53483774..b45c507c51 100644 > --- a/lib/bch.c > +++ b/lib/bch.c > @@ -61,7 +61,11 @@ > #include <linux/bitops.h> > #else > #include <errno.h> > +#ifdef __FreeBSD__ > +#include <machine/endian.h> > +#else > #include <endian.h> > +#endif > #include <stdint.h> > #include <stdlib.h> > #include <string.h> > @@ -112,7 +116,7 @@ struct gf_poly_deg1 { > unsigned int c[2]; > }; > > -#ifdef USE_HOSTCC > +#if defined USE_HOSTCC && !defined __FreeBSD__ > static int fls(int x) > { > int r = 32;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?aa58cd84-11c4-7b52-84a8-997c40fb1c0c>