Logiciels Libres et Systèmes Embarqués


5.2. Evaluation des travaux disponibles

J'ai évalué tous les portages du noyau Linux pour Virtex-II Pro selon les critères suivants :

  • la généricité, c'est-à-dire que le noyau doit fonctionner sur différentes architectures et différentes cartes à base de Virtex.
  • être non contraignant, dans le sens où le concepteur d'architectures doit être influencé le moins possible par les modifications faites dans le noyau.
  • être moins intrusif possible, c'est-à-dire modifier au minimum le noyau, pour que l'application d'autres correctifs puisse se faire sans aucun problème.

Le tableau suivant présente les résultats obtenus :

Tableau 5.1. Évaluation des travaux disponibles

portagegénéricitécontraignantintrusifclassement
Mind++++++1
Avnet+-+2
MontaVista-+-3

J'ai créé un script permettant de compter toutes les modifications faites sur le noyau officiel. Ces résultats m'ont permis de confirmer mes observations :

Tableau 5.2. Modifications faites sur le noyau

portageajoutssuppressionsfichiers mofifiéspilotes disponibles
Mind29764626UARTLite, XEmac
Avnet149811935102UARTLite, XEmac, SystemACE
MontaVista11006569854176710UARTLite, XEmac, SystemACE, I2C, TouchScreen, Keyb, GPIO, SPI

D'après ces conclusions, le portage de Mind [15] [16] est nettement meilleur, c'est donc celui-ci que j'ai utilisé. Attention, je n'ai pas appliqué automatiquement l'ensemble des modifications que Mind avait faites. J'ai apporté certains changements non négligeables. Il faut savoir que si le portage de MontaVista se classe dernier, ce n'est pas parce qu'il est le plus mauvais, mais parce que cette société distribue un noyau sur lequel de nombreux correctifs sont appliqués alors qu'ils n'ont pas un rapport direct avec le Virtex. Cela nuit fortement au critère de non-intrusion, qui est à mon avis l'un des plus important.