Como posso gerenciar os módulos do kernel construídos a partir do código fonte no Debian?

2

Estou instalando o Debian squeeze em um novo Mac Mini, e o Broadcom NIC nele funciona apenas com o mais recente módulo tg3 da Broadcom . Eu posso construir este módulo com bastante facilidade, mas executar uma compilação manual e sobrescrevendo o tg3.ko que vem com os pacotes do kernel parece um kludge porque:

  • as etapas não triviais que realizei para criar o módulo não são automatizadas
  • os upgrades do kernel vão quebrar a ethernet sobrescrevendo meu módulo personalizado

Eu li Como faço para criar pacotes debian de módulos do kernel? , mas as técnicas que pesquisei até agora parecem lidar com o caso do empacotamento de um módulo que não está nos pacotes do kernel . Dado que eu quero substituir um módulo já fornecido pelo pacote do kernel, em vez de adicionar um novo módulo, como posso fazer isso sem recorrer a kludges frágeis?

    
por Phil Frost 27.02.2013 / 16:07

2 respostas

3

Consegui fazer isso funcionar com o DKMS. Houve um problema adicional de não estrobiar o tg3.ko que já existe nos pacotes do kernel. Eu aprendi que pode haver um diretório "atualizações" em /lib/modules/$KERNELVERSION . Dessa forma, não preciso me preocupar em sobrescrever os arquivos de outro pacote e há uma maneira fácil de voltar à versão padrão. Mais aqui:

link

E aqui está um bom tutorial sobre o processo DKMS, que também descreve alguma mágica específica do Ubuntu / Debian quando módulos DKMS colocam seus módulos em / updates:

link

O dkms.conf que usei para este módulo em particular:

PACKAGE_NAME="tg3"
PACKAGE_VERSION="3.124c"
BUILT_MODULE_NAME[0]="tg3"
DEST_MODULE_LOCATION[0]="/updates"
MAKE[0]="'make' KVER=$kernelver"
AUTOINSTALL="yes"

A parte difícil sobre isso foi saber citar 'make' em $MAKE , porque se não for citada, o DKMS adicionará KERNELRELEASE=... a make e isso quebrará esse sistema de criação específico.

Eu consegui fazer todo o edifício em um chroot squeeze, rodar dkms mkdeb , depois instalar o pacote deb resultante no Mini para a vitória.

    
por 27.02.2013 / 17:50
0

Confira DKMS . Ele pode recompilar os módulos do kernel após as atualizações do kernel. Por exemplo, a nvidia usa isso.

    
por 27.02.2013 / 16:45