|
Dr Luigi Rizzo, professor da Universitá di Pisa na Itália, é um dos principais commiters do FreeBSD. Históricamente suas mais conhecidas atividades estão relacionadas à manutenção do IPFW (Firewall nativo do FreeBSD) incluindo todas as extensões stateful deste firewall entre inúmeros outros recursos, além de ser o mantenedor do PicoBSD, de diversos dispositivos USB, criador do Dummynet, criador da LIBALIAS, entre outros. Rizzo dessa vez começa mais um projeto no mínimo curioso: criar uma API de compatibilidade com Linux tão refinada, que permita a recompilação de código de gerenciadores de dispositivos Linux, no FreeBSD, podendo assim utilizar drivers Linux no FreeBSD, sem qualquer alteração no código fonte deste. Leia a introdução do Projeto de Rizzo: "Linux tem uma grande quantidade de dispositivos de controle de hardware que não são suportados no FreeBSD, em especial dispositivos USB (acompanhe esta discussão sobre o tema). Não raramente, estes dispositivos de controle são escritos com base em informações derivadas de interceptação do comportamento de protocolos, engenharia reversa e similares. Isso torna o código altamente não-documentado e leva os esforços de portabilidade a se tornarem extremamente sujeito a falha. Para ajudar nessa tarefa, decidi começar um camada de compatibilidade que nos permite recompilar o código-fonte linux no FreeBSD, e prover nível de compatibilidade das APIs do kernel completo o suficiente para que os dispositivos de controle (ou ao menos algumas classes) possam ser usados sem modificações do código fonte. Essa metodologia não tem nada de novo - FreeBSD sempre ofereceu compatibilidade com diversas APIs distintas, no nível de chamadas de sistemas, e inclusive emulação para API Windows para drives de rede. De tal forma estou apenas extendendo o conceito para outra área que atualmente sofre a falta de um suporte nativo. Meu fóco inicial foi em câmeras USB, então a camada de compatibilidade atual contém o necssário para criar um dispositivo de controle usando a pilha USB." A iniciativa de Rizzo tem mais pontos positivos do que negativos. Os devices mais importantes, especialmente relacionados à networking e storage devices nunca deixarão de ser nativamente criados. Esses são pontos fortes do Projeto FreeBSD, o que nos remete diretamente aos dispositivos PATA e SATA criados por Soren Smith por exemplo. São os melhores do do mundo livre, e provavelmente melhores que os drivers oficiais também. Isso não mudará. Mas a grande vantagem é o suporte à aqueles drivers que o Projeto FreeBSD não tem o menor interesse em suportar - uma outra maneira de dizer que são drivers com baixa (ou nenhuma) prioridade. Imediatamente conseguimos pensar em Winmodens, algumas placas wireless de baixa qualidade, e uma série de dispositivos USB, especialmente relacionados à multimídia, como câmeras USB, scanners, caraokês e afins. São dispositivos que estão longe de fazer parte da primeira linha de prioridade no Projeto FreeBSD, especialmente por nunca serem usados em ambiente servidor - e especialmente, ter esse uso extremamente desencorajado. Quando esses drivers são criados são em geral port de outros sistemas BSD, especialmente NetBSD que tem um grande fóco em USB, ou então são iniciativas isoladas de commiters que querem ou precisam ter esse tipo de dispositivo controlado. Para usuários desktop portanto, essa é uma ótima notícia. Além de contarmos com a NDISAPI e o ndis(4) para compatibilidade com Windows (Evil Project), o projeto de Rizzo nos trará compatibilidade de dispositivos também com Linux. O que você acha dessa iniciativa? Aqui você encontra a página oficial do Projeto iniciado por Rizzo. O projeto tem o nome temporário de Linux-BSD-KLD. Mas já foi apelidade de Really Evil Project em menção ao Evil Project (NDIS). As evoluções desse esforço podem ser obtidas fazendo download de linux-kld.20070130-full.tgz. Essa tarball inclui ainda os drivers para quatro câmeas USB, criados a partir dos fontes para Linux. Se você tiver um dos dispositivos em questão, faça seus testes e relate à comunidade, através da lista ou submetendo comentários ou contribuições aqui no site.
|