Solved Orange Pi Zero image build via Crochet buildkernel fail (missing software)

Hi,

While waiting for my Orange Pi Zero to arrive I decided to get a Freebsd sd card image for it.

This board is not officially listed in Crochet however my first attempt to build a "OrangePi-Plus2E" image failed as well as the patched up Orange Pi Zero profile I made, same error while buildkernel for both.

Code:
>>> stage 3.1: building everything
--------------------------------------------------------------
cd /root/crochet/work/obj/arm.armv6/usr/src12/sys/GENERIC; MAKEOBJDIRPREFIX................long text omitted...........................[/B]
cd: /root/crochet/work/obj/arm.armv6/usr/src12/sys/GENERIC:[B] [/B]No such file or directory
*** [buildkernel] Error code 2

make[1]: stopped in /usr/src12
1 error

make[1]: stopped in /usr/src12
*** [buildkernel] Error code 2

make: stopped in /usr/src12
1 error

I tried creating an empty folder with that name GENERIC, result was "do not know how to make all". There is a file in the source tree of that name, this is the default kernelconf used. I tried a custom kernelconf (GENERIC with stripped down driver support) and the GENERIC part in the path was replaced with the kernelconf filename and resulted in the same error so the KERNELCONF value has something to do with it.

If I can get FreeBSD working on my Orange Pi Zero at the end of the month (i.e. solve this problem and successfully build image), and install the FAMP stack on it I will donate €20 early November to whomever (or to the FreeBSD project if preferred) helps me fix this.

"buildworld" seems ok. full log below.
http://rauliweb.com/_.buildkernel.armv6-GENERIC.log

There is more to this, I do not know if it matters.

First I tried an OrangePi-Plus2E image build as apparently working FreeBSD images have been made for the Orange Pi Zero using this board profile. Then I found a blog specifically about making an image for the Nano Pi Neo and Orange Pi Zero both very similar hardware. I used pkg install to get the orange pi zero u-boot, copied the Nano Pi Neo profile/board folder and edited its setup.sh to refer to the orange pi u-boot files and change label names to the orange pi zero, therefore as far I can tell creating a more spot on board profile.

After trying to build this, same GENERIC directory missing error.
I tried to chase down the error by locating where it would be in the build scripts but cannot find it.

I am trying to build this on FreeBSD 11.1-release-p1 in Virtualbox using kernel sources from head (freebsd 12-current).

I am new to FreeBSD (and sbc image creation) and am just trying to figure out this as I go along.

Cheers,
Rauli
 
The cause of the error was missing software.

The following commands I recommend to run before performing a crochet build.
(credits to https://www.raspberrypi.org/forums/viewtopic.php?f=85&t=90613)

Code:
pkg install git
pkg install devel/subversion
pkg install python
pkg install devel/gmake
pkg install textproc/gsed

Additionally we need the u-boot files. Apparently the Orange Pi One is compatible with our Orange Pi Zero.

Code:
pkg install u-boot-orange-pi-one

And of course edit the "setup.sh" in the /board/OrangePi-Zero folder (which itself I copied from the /board/NanoPi-NEO folder obtainable from https://github.com/jaredmcneill/crochet/tree/nanopi-neo) and update the third line to "
Code:
SUNXI_UBOOT=u-boot-orangepi-one
"

I managed to build using Freebsd 11.1 src and also just finished by testing to build with ALLWINNER kernelconf instead of GENERIC as set in the setup.sh script. I am also building another image using the recommended GENERIC and Freebsd (12 development) head src and will report in about 4 weeks whether either image works.

If you want specific step by step instructions what I did to make this work, message me on my website rauliweb.com.

Regards,
Rauli
 
Another Update...FreeBSD 12 (head) build failed...
Code:
--- accf_data.kld ---
ld -m armelf_fbsd -d -warn-common -r -d -o accf_data.kld accf_data.o
ld: unrecognised emulation mode: armelf_fbsd
Supported emulations: elf_x86_64_fbsd elf_i386_fbsd
*** [accf_data.kld] Error code 1

make[4]: stopped in /usr/src/sys/modules/accf_data
1 error
If you do not have FreeBSD sources, the crochet script will warn you and give the command to get the "recommended" sources which happens to be the head branch.
When I realized we were dealing with development kernel, I thought this may affect making of the image and that "release" would be better.

I think the Crochet project needs to look into this and if anyone here can shed some light on this that would be appreciated.

FreeBSD 11.1 supports armv6, which itself apparently also supports armv7 that the orange pi zero soc is based on. Hopefully this will work.

p.s. I tried to edit my previous post to try fix a typo. Said my post looked like spam. When someone spams, someone bans! An e-mail verified account should not be subject to spam filtering I think when you can just ban the account on any sign of a serious breach.
 
Back
Top