Preciso instalar o código-fonte do kernel para aplicar um patch?

1

Estou usando o Ubuntu 14.04 com o Linux versão 3.16.0-30-generic. Eu instalei o Beignet para suporte ao OpenCL. Eu estou correndo em alguns erros e a documentação Beignet diz para resolvê-los, aplicando este patch para o kernel do Linux. Eu tentei salvar o patch e rodar

patch -p1 < disable-batchbuffer-security.patch

Mas diz que não é possível encontrar o arquivo a ser corrigido. Eu tentei procurar por i915_gem_execbuffer.c mas não consegui encontrá-lo. Preciso instalar o código-fonte do kernel para aplicar o patch?

    
por Andrew Neves 19.03.2015 / 16:37

2 respostas

0

A resposta curta é: sim.

A resposta longa é que você precisará compilar seu próprio kernel. Então, depois de instalar suas fontes do repositório, você precisa corrigi-las. Este é o ponto, onde usar o comando patch a partir de cima. Eu acho que aqui você pode encontrar um bom começo como documentação sobre como fazer isso no seu sistema Ubuntu.

    
por frlan 19.03.2015 / 16:44
0

Você tem um kernel 3.16. Por que você precisa instalar o código-fonte do kernel? O patch é para aumentar os erros _local que você recebe quando compila

     ./build/utest/utest_run

que seria corrigido no kernel Linux 4.2. Já que você está usando um kernel antigo, o patch consertará os 15-30 erros que você recebe quando compila

             ./utest_run.

Uma coisa que você precisa fazer que a documentação não mencionou é fazer o login na raiz ( sudo su ) antes de aplicar o patch. Se você der uma olhada na primeira linha desse patch, verá que o patch passa pelo diretório /drivers em sua pasta raiz. Faça isso, aplique o analisador de comandos se for necessário e execute ./utest_run novamente. Não deixe de relatar sua saída aqui para ajudar outras pessoas no futuro.

Boa sorte!

    
por Calorified 11.06.2015 / 01:43