FOGProject / fos

FOG Operating System
31 stars 33 forks source link

Add ARM Support #25

Closed parkerberb-nfv closed 5 years ago

parkerberb-nfv commented 5 years ago

I think we should fully support ARM client machines in FOG.

I have submitted some code related to this in the past: here and here

I currently use FOG with the above changes to manage my ARM64 based machines, but this takes a few shortcuts. For ARM to be fully supported, we would need:

1) Support for 64 and 32 bit arm kernel and init images, just like the user can currently select with kernel and init to use for their 64 bit / 32 bit x86 machines

2) Reliable detection of system arch. Currently the default.ipxe script relies on cpuid, which is x86 specific: docs. I fall back on buildarch, but this is not a perfect solution either. This should identify the host as one of (32-bit x86, 64-bit x86, 32-bit ARM, 64-bit ARM) and use that to grab the correct kernel and init when pxe booting.

3) Bundling of ARM-based grub / refind / ipxe / kernel / initrd. My PR above allows the regular FOS system to build arm based kernel and init, but I am not familiar with how you consume / build everything and bundle it into a FOG release.

parkerberb-nfv commented 5 years ago

I'm closing this, I meant to put it under fogproject, not fos