Closed sreekupm closed 3 years ago
Hi,
The target architecture for building the kernel is based on uname -m
: if you want to build an ARM pfSense ISO, you will have to run an ARM FreeBSD builder.
The target architecture for the ports is defined by an environment variable (DEFAULT_ARCH_LIST
) and is checked by a function named poudriere_possible_archs
. Netgate has implemented the possibility to build ports for ARM on x86_64 architecture, using KVM-QEMU.
Can I build on X86 build machine?
The ports, yes. The kernel, no.
How we can build pfsense for ARM?
You need to excecute the build commands on an arm server
Can i close this issue?
I am sorry for late question, but can't we use an emulator to build the ARM on x86 machines?
Dear Neo-rainboy,
Please explain the process, it will help me and others.
It's just an assumption, I need Augustin's confirmation as well, but I assume we can emulate the whole process with QEMU
it's ok for ports, what about kernel ?
The same goes for kernel with cross compile tools I guess
ok thanks, can you explain the steps
@neo-rainboy please explain the same, it will help for me and others.
I will try to, but please give me at least 1-2 days to try and check the practicality of the solution as well, will update the results here, but if @Augustin-FL confirm the solution then will try to come up with the steps as well
ok, done, waiting for the update.
Hi @neo-rainboy
I believe It's not that simple : the kernel is built inside a jail. You need (I think?) to have an ARM jail in order to build an ARM kernel.
But : BSD jail system is not a real virtual machine....It's more something like linux namespaces/Docker/LXC/etc....
You can't have an ARM jail on an AMD64 server. Quoting from wikipedia : The FreeBSD jail does not [...] achieve true virtualization; it does not allow the virtual machines to run different kernel versions than that of the base system. All virtual servers share the same kernel [...]. It is possible to use jails to safely test new software, but not new kernels.
That said, I may be wrong : maybe you can create ARM kernel on an AMD64 jail. You will need need to tune some .sh files for that however...since Netgate never implemented this feature. I let you have a look and revert back to us ?
@neo-rainboy any updates?
Dear Augustin,
What are the changes required for ARM ?