Aplique o patch do kernel para suportar o modo PIC

6

Estou recebendo um erro ao tentar compilar drivers para um TP Link AC 600, no Kali Linux amd64 4.7.0 gcc 5.4.1 Debian 5.4.1-3 .

O erro é "o kernel do modelo de código de erro não suporta o modo PIC"

Depois de alguns passos achatados, encontrei alguém que estava tendo problemas semelhantes e alguém postou um patch.

Como aplico o patch e para onde o aplico?

Aqui está o outro link: Não é possível compilar o kernel: erro, o kernel não suporta o modo PIC

    
por SpaceGoat 02.11.2016 / 05:56

2 respostas

1

No que diz respeito aos drivers do Ubuntu e da Intel, a Intel testou apenas seus drivers para as versões LTS do Ubuntu ( veja a resposta de Todd Fujinaka ). Portanto, você precisa fazer downgrade do Ubuntu de 16.10 para 16.04.1 LTS ( reinstalar mantendo /home ).

Para todas as outras distribuições baseadas em Debian, como Kali, o mesmo é verdadeiro: você precisa fazer o downgrade (ou seja, reinstalar) para uma versão que seja explicitamente suportada pelo fornecedor do driver. Uma versão antes do material do PIC do gcc.

Essa pode não ser uma resposta agradável, mas é tecnicamente correta e, se você não for um desenvolvedor do kernel, tudo o que você pode fazer é sair em uma lista de discussão do kernel e perguntar se um desenvolvedor pode trabalhar o código do driver. Às vezes isso funciona, mas seja paciente.

    
por 28.11.2016 / 22:27
0

O processo para aplicar um patch é muito simples. Supondo que você tenha o diretório do kernel e o arquivo de correção assim:

- /usr/src/kernels (or where you have the kernel directory)
---- /user/src/kernels/kernel_directory
---- /user/src/kernels/patch_file

Dependendo de qual formato você possui o patch (normalmente .gz, .bz2 ou .xz), você precisa usar um comando diferente para extraí-lo. Você precisa entrar em kernel_directory e executar o próximo comando:

gzip -cd ../patch_file | patch -p1 - isto para um patch gzip

bzip2 -cd ../patch_file | patch -p1 - para um patch de bzip

xz -cd ../patch_file | patch -p1 - isto para um patch xz

Ele aplicará o arquivo de correção /usr/src/kernels/patch_file no kernel /usr/src/kernels/kernel_directory . Você precisa navegar primeiro para o /usr/src/kernels/kernel_directory e executar o comando a partir daí.

Considere fazer uma cópia do diretório do kernel, assim você pode fazer o processo com uma cópia do kernel no backup para revertê-lo facilmente.

NOTA: Este é apenas o processo para aplicar o patch, supondo que você esteja usando o patch apropriado para o seu kernel, ele não deve dar nenhum erro. Você precisa ter o arquivo de patch, como o funcionário do kernel.

    
por 21.11.2016 / 22:51