dimecres, d’agost 10, 2005

Projecte Evil: usar els drivers de targes de xarxa per a Windows en el FreeBSD

Els drivers són enganyats per a què creguin que s'executen en un entorn Windows, mentre que per al sistema operatiu s'executen com a un mòdul natiu de FreeBSD.

La manca de drivers per als sistemes operatius lliures com Linux o els diversos sabors de BSD no és un problema nou, i de fet és més greu com més nova és la tecnologia que empra el dispositiu que intentem configurar. Un bon exemple d'això són les targes de xarxa sense fils, ja que molts fabricants (gairebé m'atreviria a dir que la majoria) no faciliten dades tècniques que permetin a la comunitat de desenvolupadors crear un driver de codi obert.

Alguns projectes com OpenBSD només accepten drivers en codi obert, de forma que puguin ser comprovables en, per exemple, auditories de seguretat. Altres, com és el cas de FreeBSD, són més pragmàtics en aquest sentit, i prioritzen la possibilitat de treballar amb més maquinari sobre la possibilitat de comptar amb el codi font del controlador.

Per això ha nascut el projecte Evil, l'objectiu del qual és permetre que FreeBSD empri de forma efectiva els drivers per a maquinari escrits i compilats per a la plataforma Windows. Es compta amb una API que emula la interfície que el sistema de Microsoft proporciona als controladors de dispositius per a què treballin, però que es comunica amb el nucli del sistema, de manera que mentre que els drivers treballen igual com ho farien en Windows, per a FreeBSD treballen com a un mòdul natiu més d'aquest Unix.

El projecte Evil es circumscriu a targes de xarxa, però seria molt interessant estendre aquesta iniciativa a altres camps com el dels mòdems, perquè molts portàtils munten els anomenats winmòdems que només poden operar correctament sota Windows.

Més informació:

Project Evil: Windows network drivers on FreeBSD - Ping Wales | Welsh technology news
http://www.pingwales.co.uk/tutorials/project-evil.html