Eu acho que “/ lib / modules / $ (uname -r) / build” aponta para pasta incorreta

5

Eu compilo / crio meus próprios pacotes deb do kernel com:

make-kpkg --rootcmd fakeroot --initrd --append-to-version=$version --revision=1 kernel_image kernel_headers

Mas quando eu instalo ambos os pacotes, em / lib / modules / (* name_kernel_compiled *) ele cria dois links, sources e build , apontando para a pasta com fontes, a partir do qual eu compilei. / p> O link

sources está correto, mas build deve apontar para / usr / src / linux - ( versão kernel ), você não acha ?

    
por Juan Simón 14.02.2011 / 16:44

2 respostas

2

A solução está na documentação make-kpkg :

  

Você pode ver outro exemplo no diretório de exemplos: /usr/share/kernel-package/examples/ para ver se há outro script de exemplo desejado para cp em /etc/kernel e criar seus próprios scripts.

  

Por exemplo, se você usar linux-headers-* packages para compilar módulos de terceiros para não precisar manter o diretório de fontes, talvez esteja interessado em:

/etc/kernel/header_postinst.d/link
/etc/kernel/header_postrm.d/link
/etc/kernel/header_prerm.d/link
/etc/kernel/postinst.d/force-build-link
/etc/kernel/postrm.d/force-build-link
  

Estes scripts tentarão certificar-se de que o link simbólico /lib/modules/$VERSION/build seja são - aponta para os pacotes de cabeçalho, quer você instale os pacotes de imagem primeiro, ou os pacotes de cabeçalho primeiro - e cuida da limpeza quando os pacotes estão instalados.

    
por Juan Simón 16.02.2011 / 21:51
3

O link simbólico /lib/modules/<version>/build deve apontar para o diretório de criação - isto é, onde os arquivos objeto foram colocados durante a construção do kernel. No seu caso, o diretório de origem é o mesmo que o diretório de construção, portanto, os dois links simbólicos apontarão para o mesmo diretório.

    
por Jeremy Kerr 15.02.2011 / 05:06