after a (very long) time away from Genode (sorry Norman T_T) I am finally returning to my projects to work on Genode for my PhD, and I am embarking another student in the journey.
We are looking at a capable board to work on, running IMX8M, some NPU for AI workloads and a few goodies like an HDMI output, network etc to get confortable.
Unless we find better recommendations, we would likely go with tthe Verdin iMX8M Plus board:
Integrated Network (Ethernet preferred, Wifi is a plus)
Both integrated Ethernet ports of the SOC are supported (FEC / STMMAC). As far as I can see it you would only have to extract the correct DTB from the BSP of Thoradex, which usually are really good.
For WiFi the question comes down to the type of Module used and if it is already supported by the current driver. If it is already supported, it boils down to enable USB-host support.
USB
The USB-host driver of the SOC also is supported, for this you only need to extract the DTB from the BSP.
To extract the DTB for a driver you can use the tool/dts/extract script.
There is a series of posts from Norman on https://genodians.org/ about enabling Genode on the Pinephone which explains enabling new boards in great detail.
Thanks Pirmin, it’s been too long since we talked (sorry for kinda disappearing for a while too ^^;).
Thanks ffor your answer, that doesn’t sound too bad I guess, but will likely be a 2~3 month effort to bring up Scuplt on this, then publish a corresponding repo.
Would you have any other hardware platform suggestion that would require less porting maybe?
Since this is for research purpose, we are quite flexible at the moment
your estimation of 1-2 months for enabling another board using the same i.MX8 family is probably right. But I’d argue such an exercise might be quite valuable to get a solid grip on Genode’s low-level code as well as the specific hardware. I think sooner or later, expertise in these topics will be needed anyway. So why not kick off you line of research with it? Let the Platforms book be your guide.
Anyway, regarding i.XM8-based hardware supported by Sculpt OS, we have enabled an armStone board earlier this year. This specific board is supported in the master branch. We presented Sculpt OS on this board at this year’s Embedded World. Here is how it looked like:
Note that this was a one-off use of this board. We don’t use it regularly and it not integrated in our CI. However, if you want to get something up and running on a purchasable i.MX8 board, it is probably the path of least effort.
Thanks for all your suggestions! we will check with our lab if those boards can be used cross team too.
I understand the armStone board isn’t maintained in the CI, so even it works now, there is no guarantee it will continue to be maintained in the future. (At least though, it would be a good starting point, even if we want to port Genode+Sculpt to another platform).
On the side-notes, there might be an avenue to publish something by doing the porting (and becoming the maintainer) of that board. Academics are still very paper-publishing driven so we need to take this into consideration.
for the record, we were also looking at iMX95 Toradex Verdin Module (which includes other interesting cores like the M33) but I couldn’t find traces of work on the iMX9*… maybe I missed something?