Ajuda para (Re)compilar o kernel

1. Ajuda para (Re)compilar o kernel

Paulo Sérgio Correia
psctec

(usa Outra)

Enviado em 17/07/2020 - 18:55h

Pessoal,

Estou tentando adicionar um novo módulo e no manual fala "Add CONFIG_INPUT_FPC1020 to the kernel menu configuration".

Acredito que isto seja (re)compilar o kernel, mas como fazer isto?

Att,

Paulo Correia


  


2. Re: Ajuda para (Re)compilar o kernel

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 17/07/2020 - 19:26h

https://www.vivaolinux.com.br/artigo/Compilacao-Kernel-Linux-no-Slackware
Mais opções:
https://www.google.com/search?q=compilar+kernel+linux&sxsrf=ALeKk038oVrPLjAjbEPHHRPJDaXh2I-r5w:1...
______________________________________________________________________
Importante: echo -e "\n$(lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p')\n"
Att.: Marcelo Oliver
______________________________________________________________________


3. Re: Ajuda para (Re)compilar o kernel

Mauricio Ferrari
mauricio123

(usa Slackware)

Enviado em 17/07/2020 - 22:07h


Muito bom, só que pra slackware. Não sei se o artigo é adaptável para debian e derivações. Tem que ver a distro que ele usa.

___________________________________
Conhecimento não se Leva para o Túmulo.


4. Re: Ajuda para (Re)compilar o kernel

João Cláudio de Alcântara
aguamole

(usa Lubuntu)

Enviado em 17/07/2020 - 22:38h

Nunca vi alguém ter que recompilar kernel só que é facilzinho.
Eu recompilo kernel customizado para o meu sistema toda vez que sai atualização de segurança no kernel.org
Entre no site: www.kernel.org baixa a versão com suporte ao seu hardware.
Copia o arquivo compactado baixado para "/usr/src/" e descompacta.
Entra na pasta que acabo de descompactar no emulador de terminal.
Roda este comando.
# make mrproper && make clean 
E então pluga na sua maquina todos os seus hardware pendrives de marca diferente, smartphone, ate mesmo a sua calculadora pluga tudo.
Então roda este comando.
# make localmodconfig 
Então agora é a parte que você queria:
# make menuconfig 
Marca e desmarca tudo que você quiser só que o "localmodconfig" já deixo marcado e desmarco um monte de coisa automaticamente para você.
Não esqueça de salvar com o nome de ".config" esse nome é obrigatório.
Agora é a compilação:
# make -jx bindeb-pkg 
Troca o "x" do "-jx" para o numero de treads que tem no seu CPU para a compilação ser mais rápida.
O "bindeb-pkg" é para a compilação gerar arquivo ".deb" para você instalar depois com o "dpkg".
Esses ".deb" sera gerado na pasta "/usr/src".
https://www.youtube.com/watch?v=DxFp_Ry78UY

Essa forma compila kernel customizado para a maquina.
Para compilar usando o padrão não use o "localmodconfig".

CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.


5. Re: Ajuda para (Re)compilar o kernel

Paulo Sérgio Correia
psctec

(usa Outra)

Enviado em 18/07/2020 - 12:31h

Então,

Uso Xubuntu 18.04, com o kernel 4.15.0-111-generic

O objetivo é fazer finalmente funcionar o leitor de impressões digitais do notebook que é o fpc1020
E isto de colocar no Kernel está no manual que está disponível em https://github.com/SanniZ/fpc1020-driver/blob/master/Documentation/2-750-FPC77XXAN-E%20TSF_Integrati... na página 5, item 4.3 que segue abaixo:

4.3.
FPC TSF Driver Built Into the Kernel
In order to make a TSF device driver part of the kernel it must be built from within the kernel
source tree. This section lists the required steps for the TSF linux driver integration into the
kernel.

Copy source files into the platform Linux source tree, e.g. linux/drivers/input/misc
Add CONFIG_INPUT_FPC1020 to the kernel menu configuration.
Add FPC1020 to the Makefile.
Configure the kernel to include fpc1020.
Make the new kernel and/or Android image

O Evgeny Brazgin que ajudou a resolver problemas de compilação do módulo, aí eu descobri como assinar o módulo devido ao secure boot.
https://gitlab.freedesktop.org/libfprint/libfprint/-/issues/137#note_572862

Aí descobri que não era bom usar o kernel 5.7.4 no dia-a-dia, e como teve atualização do kernel 4.15 hoje indo pro 4.15.0-111, reverti a este kernel, recompilei o módulo, assinei o módulo, dei o insmod no fpc1020.ko, no lsmod ele está carregado mas não criou nenhuma pasta no /dev com isto concluo que a recompilação do kernel neste caso é obrigatória.

Caso eu esteja errado, aceito sugestões e links explicando onde está o erro.

Mas, continuo sem saber como fazer esta recompilação, pois no kernel.org não tem a versão 4.15.0-111, o que tem é a versão 4.15, aí pergunto é a mesma coisa?
Ou tenho que baixar de outro lugar? qual?

Desabafo: Está faltando muito pouco, para depois de 1 ano buscando no amago da internet, em fóruns (até em inglês) para fazer com que finalmente funcione o leitor de digitais, isto foi a única coisa que falta funcionar no notebook, o resto funciona 100%.

Depois que funcionar coloco um tutorial de como fazer bem explicadinho, passo a passo aqui.

Mas, no momento preciso de ajuda para recompilar ou de orientação.



6. Re: Ajuda para (Re)compilar o kernel

João Cláudio de Alcântara
aguamole

(usa Lubuntu)

Enviado em 18/07/2020 - 15:52h

Você pode usar qualquer versão que esta em www.kernel.org.
A instalação usando o "dpkg" do ".deb" compilado não vai desinstalar a versão atual do seu sistema ela estará disponível na seleção do Grub.
E não desinstala a versão atual apos a instalação da versão futura porque se alguma coisa der errado você pode selecionar outra versão no Grub.
Para aparecer a lista de kernel no Grub:
Ao ligar o computador fique pressionando "Shift" ao aparecer um titulo "Grub 2" selecione a opção "Advanced option" e selecione o kernel desejado.
Tenha em mente que o "Grub" vai selecionar automaticamente a versão do kernel mais recente então se você compilar uma versão mais antiga que a atual a atual sera selecionada auto no "Grub".

A documentação diz que é para ter "/dev/fpc1020" mais as vezes tenha o driver só que o kernel esteja bugado.
Tenta compilar outra versão mais recente talvez o 5.4 as vezes corrigiram.
Porque a 5.4? porque ela vai ter correção de vulnerabilidade por tempo prolongado então toda vez que sair correção você deve compilar para as correção seja aplicada.
Agora se você não quer ficar compilando para corrigir as vulnerabilidade você pode usar a ultima estável.
Tenha em mente que se você não corrigir as vulnerabilidade do kernel você perde em segurança.
As distro disponibiliza essas correção para os usuário mais como você esta compilando o seu próprio kernel você é quem vai ter que cuidar desta parte.
Se for bug você compilar a mesma versão do kernel atual o bug vai permanecer porque depois que o kernel é lançado eles só corrige vulnerabilidade e os bug permanece.

Caso você consiga que o "/dev/fpc1020" funcione me avisa que eu te passo o meu shell script que automatiza uma serie de coisinhas que você teria que fazer manual para compilar o kernel.

CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.


7. Re: Ajuda para (Re)compilar o kernel

Mauricio Ferrari
mauricio123

(usa Slackware)

Enviado em 18/07/2020 - 16:18h


aguamole escreveu:

Nunca vi alguém ter que recompilar kernel só que é facilzinho.
Eu recompilo kernel customizado para o meu sistema toda vez que sai atualização de segurança no kernel.org
Entre no site: www.kernel.org baixa a versão com suporte ao seu hardware.
Copia o arquivo compactado baixado para "/usr/src/" e descompacta.
Entra na pasta que acabo de descompactar no emulador de terminal.
Roda este comando.
# make mrproper && make clean 
E então pluga na sua maquina todos os seus hardware pendrives de marca diferente, smartphone, ate mesmo a sua calculadora pluga tudo.
Então roda este comando.
# make localmodconfig 
Então agora é a parte que você queria:
# make menuconfig 
Marca e desmarca tudo que você quiser só que o "localmodconfig" já deixo marcado e desmarco um monte de coisa automaticamente para você.
Não esqueça de salvar com o nome de ".config" esse nome é obrigatório.
Agora é a compilação:
# make -jx bindeb-pkg 
Troca o "x" do "-jx" para o numero de treads que tem no seu CPU para a compilação ser mais rápida.
O "bindeb-pkg" é para a compilação gerar arquivo ".deb" para você instalar depois com o "dpkg".
Esses ".deb" sera gerado na pasta "/usr/src".
https://www.youtube.com/watch?v=DxFp_Ry78UY

Essa forma compila kernel customizado para a maquina.
Para compilar usando o padrão não use o "localmodconfig".

CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.


Tá perfeito. Vou usar isso para mim. Eu também tava procurando algo do tipo. Eu queria compilar para o Linux mint ficar com a inicialização mais rápida. No fim, acabou me ajudando também.

___________________________________
Conhecimento não se Leva para o Túmulo.


8. Re: Ajuda para (Re)compilar o kernel

Paulo Sérgio Correia
psctec

(usa Outra)

Enviado em 19/07/2020 - 12:25h

Baixei o sources do próprio ubuntu que criou uma pasta linux-source-4.15.0 dentro de /usr/src.

Ai de cara já chamei o make menuconfig que abre a imagem em anexo, entrei em todas as opções de drivers, input, ... e nada de aparecer o FPC1020
conforme o manual copiei os fontes para /usr/src/linux-source-4.15.0/linux/include/misc e na dúvida para /usr/src/linux-source-4.15.0/linux-source-4.15.0/drivers/input/misc, chamo de novo o make menuconfig e nada de aparecer o FPC1020
Edito os arquivos Makefile que estão nesta pasta colocando a chamada:
obj-$(CONFIG_INPUT_FPC1020)             += fpc1020.o 

chamo de novo o make menuconfig e nada de aparecer o FPC1020

Vi que pulei dois passos e rodei o:
# make mrproper && make clean 

Rodou sem erros

Aí fui rodar o:
 make localmodconfig
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/zconf.lex.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
using config: '/boot/config-4.15.0-111-generic'
vmmon config not found!!
vmnet config not found!!
vboxdrv config not found!!
vboxnetflt config not found!!
vboxnetadp config not found!!
module fpc1020 did not have configs CONFIG_INPUT_FPC1020


Não gostei do module fpc1020 did not have configs CONFIG_INPUT_FPC1020, e dei um control c para parar.
Li sobre o .config em dois lugares e fiz um config.bkp e rodei o:
cp /boot/config-`uname -r` .config[\code]

Rodei de novo o:
[code] make localmodconfig
e mesmo erro e nada do FPC1020.

Me sinto a milímetros de fazer funcionar :(

Aonde errei?



9. Re: Ajuda para (Re)compilar o kernel

João Cláudio de Alcântara
aguamole

(usa Lubuntu)

Enviado em 19/07/2020 - 13:16h

Eu não estou entendendo a documentação por estar em inglês eu sei alguns verbos e outros eu tenho que adivinhar isso dificulta o meu entendimento.
Mais o 4.3 parece dizer:
Copiar os arquivos fontes dentro da arvore da plataforma Linux fonte "linux/drivers/input/misc" 

Se for isso esta dizendo para você copiar arquivos de não sei de onde e colocar dentro do código fonte do Linux nessa pasta especificada ai.
Eu não faço ideia o que é isso.

Eu não posso ajudar muito porque meu inglês é limitado.

CPU i5-8400 GTX 750 SofRaid 4xSSD 16GB DDR4 mesmo assim uso Lubuntu.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts