I am interested in building arm/powerpc / mips kernel. Can build "make everything" generates arm/powerpc /mips iso/img files ?
Any help ?
Building from native environments (even if emulated) works automatically.
But since arm/mips are probably not the fastest you want to look into cross building. Base and kernel packages cross-build should be trivial, but requires a bit of modification to tools.git as I've not gotten around to free time for this.
Cross-building ports will be less trivial. There are also some obstacles in the form of packages that don't build on non Intel arches that either need to be removed or simply coerced into building (sometimes it's just a FreeBSD ports options that mistakenly prevents such a build), other times it's a code fix.
The current plan is to have an ARM test build, which will probably be a bit less in scope than its Intel build siblings but still good enough to be used for setting up and securing a network.
Any help here is greatly appreciated and I'll gladly pick up fixes that make it easier for others to do this in the future.
PS: I would suggest trying a native environment build first, see how far that goes and what needs to be done.
Thanks franco. As you said tools.git would need lot more changes. I will try different make file to tigger kernel. But what exactly is base ? I saw it was building ZFS during a cross compile.
I will also try in native env.
Do you have list of opnsense features that doesnt work in ARM/MIPS ?
No, FreeBSD is perfectly fine. What doesn't always work is the ports builds, in these cases the ports can be removed from the build and then the build lacks certain features, but that's ok.
An example is the startup/shutdown beep that should not compile under anything other than i386/amd64.
Phalcon MVC is currenltly set to i386/amd64 only too, but in this case it should be trivial to make the port work.
The biggest thing here is time and collaborative progress.
Thanks franco. I have an native hardware will give a try. I have issue with NFS mounted /usr compilation in native kernel. Will let u know further updates on this.
interesting topic - this should apply to other non-x86 based archs supported by FreeBSD? Example: SPARC64. I have a couple of Sun Netra T1s, and an Netra X1 could act has routers - the machines already have 2 NICs...
From the FreeBSD source side that's going to be straightforward. The ports may give a bit of trouble, not sure about endian-issues with big endian arches in several tools, e.g. the Phalcon framework.
For a pure hobby project it might be more work than worth the trouble, otherwise it's something that can be looked into with the hardware around like you said. :)