Compared to the original Edison Images there are features I removed, because they didn’t build. And if I have no interest in the feature, fixing it has low priority.
There are also features that do build but don’t work fully. MRAA is an example of this. Certain functions are pinmux’ed, i.e. the function is on a pin that has an alternate function. In the original Edison kernel the mux was controlled through debugfs, more or less a temporary solution. However, MRAA relied on debugfs providing the pinmux control. And vanilla linux kernels do not provide this, so MRAA will cause an error on startup. As Andy puts it: you should not be using MRAA, so by default it’s not installed. Nevertheless I have upstreamed a patch to MRAA that disables debugfs for kernels > 4.0, so at least MRAA will start. This allows at least the serial port (hsu) and gpio to work.
As an alternative we use ACPI, libiio, libserial and libgpiod. The pinmux’es are envisioned to be set outside of the kernel (without requiring specific platform code). That means that code needs to go to U-Boot. To prevent platform code to be moved from the kernel to U-Boot, kernel developer Andy Shevchenko has worked to implement configurable ACPI tables describing Edison. With this U-Boot will work as a BIOS light, serving the ACPI tables to the kernel and allowing it to boot. Of course, without a user space driver system like MRAA you need the drivers in the kernel and an interface to them. That is where libiio comes in. There are > 400 driver there. This is a work in progress, but there are no other platform better suited than Edison to test these. I am sure Andy would appreciate help in fixing up the kernel, U-Boot or ACPI tables. There is code in the kernel for which these minimal ACPI tables is the first time use.
And finally there are features that don’t work but I haven’t tested yet.
In any case, if you find a bug, please create an issue on Github. Fixing the issue will of course be quicker if you provide the solution as well. And if you want or need features added, go ahead, fork us, add what you want and send me a pull request.
© 2018 Ferry Toth