What is the advantage of mdef vs yocto?


#1

What is the benefit of using the legato framework for adding kernel modules instead of building a new kernel using yocto and the FX30 source?

I see the Legato documentation says the kernel modules must be prebuilt using yocto and the mdef points to the .ko file. Since the modules have to be built using yocto anyway, why use legato for the modules at all? Is there a sandboxing benefit or a benefit to long-term maintenance?

I’m using the FX30 sources here:
https://source.sierrawireless.com/resources/airlink/software_downloads/fx30-firmware/fx30-firmware/

I’m using Legato documentation for 16.10.4 here:
https://docs.legato.io/16_10_4/defFilesMdef.html#defFiles_kernelDriver


#2

Some people are not expertise on yocto, so using mdef might be easy to them


#3

There is quite a bit of work that has been done since 16.10.4 on this topic.
Cf the latest doc at https://docs.legato.io/latest/defFilesMdef.html for instance.

With newer versions, the toolchains is enough to build kernel modules, so Yocto doesn’t have to be part of the equation, and you can take the official kernel/rootfs released with your product + a custom Legato that contains your apps and kernel modules.

I’m not sure if any new release coming up for FX30 with more recent versions of Yocto/Legato. Might be best to contact a SWI representative if you’re interested about a newer version.