Augustin-FL / building-pfsense-iso-from-source

How to: Building a pfSense .iso from sources
55 stars 50 forks source link

Build for ARM #34

Closed sreekupm closed 3 years ago

sreekupm commented 4 years ago

Dear Augustin,

What are the changes required for ARM ?

Augustin-FL commented 4 years ago

Hi,

sreekupm commented 4 years ago

Can I build on X86 build machine?

Augustin-FL commented 3 years ago

The ports, yes. The kernel, no.

sreekupm commented 3 years ago

How we can build pfsense for ARM?

Augustin-FL commented 3 years ago

You need to excecute the build commands on an arm server

Augustin-FL commented 3 years ago

Can i close this issue?

neo-rainboy commented 3 years ago

I am sorry for late question, but can't we use an emulator to build the ARM on x86 machines?

sreekupm commented 3 years ago

Dear Neo-rainboy,

Please explain the process, it will help me and others.

neo-rainboy commented 3 years ago

It's just an assumption, I need Augustin's confirmation as well, but I assume we can emulate the whole process with QEMU

sreekupm commented 3 years ago

it's ok for ports, what about kernel ?

neo-rainboy commented 3 years ago

The same goes for kernel with cross compile tools I guess

sreekupm commented 3 years ago

ok thanks, can you explain the steps

sreekupm commented 3 years ago

@neo-rainboy please explain the same, it will help for me and others.

neo-rainboy commented 3 years ago

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

sreekupm commented 3 years ago

ok, done, waiting for the update.

Augustin-FL commented 3 years ago

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 ?

sreekupm commented 3 years ago

@neo-rainboy any updates?