Kernel 3.16 lançado - compilar e instalar no Debian GNU/Linux
Kernel é o núcleo de qualquer sistema operacional. A função principal do kernel é atuar como mediador entre Aplicativo – CPU, Aplicativo – Memória e Aplicativo – Dispositivos (E/S). Funciona como Gerenciador de Memória, Gerenciador de Dispositivos e atende chamadas do Sistema além de realizar outras tarefas.
Para Linux, o Kernel é o seu coração. O Kernel Linux é lançado sob Licença Pública Geral GNU. Linus Torvalds desenvolveu o Kernel Linux no ano de 1991 e veio com a versão inicial do Kernel 0.01. Em 3 de agosto de 2014 (este ano) o Kernel 3.16 foi lançado. Nestes 22 anos, o kernel Linux teve muito desenvolvimento. Agora existem milhares de empresas, milhões de desenvolvedores independentes contribuindo para o Kernel Linux.
Uma estimativa aproximada das grandes marcas e sua contribuição para o atual Kernel Linux, que deverá ter 17 milhões de linhas de código, de acordo com a Linux Foundation, Linux Kernel Development Report.
- Chapéu Vermelho – 10,2%
- Intel – 8,8%
- Instrumentos Texas – 4,1%
- Linaro – 4,1%
- SUSE – 3,5%
- IBM – 3,1%
- Samsung – 2,6%
- Google – 2,4%
- Sistemas de gravação de visão – 2,3%
- Microeletrônica Wolfson – 1,6%
- Oráculo – 1,3%
- Broadcom – 1,3%
- Nvidia – 1,3%
- Escala livre – 1,2%
- Tecnologia Ingics – 1,2%
- Cisco – 0,9%
- Fundação Linux – 0,9%
- AMD – 0,9%
- Acadêmicos – 0,9%
- NetAPP – 0,8%
- Fujitsu – 0,7%
- paralelos – 0,7%
- ARM – 0,7%
Setenta por cento do desenvolvimento do kernel é feito por Desenvolvedores, que trabalham em empresas e são pagos para isso, parece interessante?
O Linux Kernel 3.16 foi lançado para indivíduos e empresas em ambiente de produção, que atualizarão seu kernel por vários motivos, alguns dos quais incluem.
- Patches de segurança
- Melhoria de estabilidade
- Drivers atualizados – Melhor suporte ao dispositivo
- Melhoria na velocidade de processamento
- Funções mais recentes, etc.
Este artigo tem como objetivo atualizar o kernel Debian, do jeito Debian, o que significa menos trabalho manual, menos riscos, mas com perfeição. Também atualizaremos o kernel do Ubuntu na parte posterior deste artigo.
Etapa 1: baixando o kernel 3.16
Antes de prosseguirmos, devemos saber sobre nosso kernel atual, que está instalado.
avi@tecmint:~$ uname -mrns
Linux tecmint 3.14-1-amd64 x86_64
Sobre opções:
- -s : Imprimir sistema operacional ('Linux', aqui).
- -n : Imprime o nome do host do sistema (‘tecmint’, aqui).
- -r : Imprimir versão do kernel (‘tecmint 3.14-1-amd64’, aqui).
- -m : Imprimir conjunto de instruções de hardware (‘x86_64’, aqui).
Baixe o kernel estável mais recente no link abaixo. Não se confunda com o link de download de patches lá. Baixe aquele que diz claramente – “ÚLTIMO KERNEL ESTÁVEL”.
- https://www.kernel.org/
Alternativamente você pode usar wget para baixar o kernel, o que é mais conveniente.
avi@tecmint:~/Downloads$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.xz
Etapa 2: verificar a assinatura do Kernel 3.16
Após a conclusão do download e antes de prosseguirmos, é altamente recomendável verificar a assinatura do kernel.
avi@tecmint:~/Downloads$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.16.tar.sign
A verificação da assinatura precisa ser feita em um arquivo descompactado. Isso exige uma assinatura em vários formatos de compactação, a saber, .gz, .bz2, .xz.
Em seguida, descompacte a imagem do kernel do Linux.
avi@tecmint:~/Downloads$ unxz linux-3.16.tar.xz
Verifique-o contra a assinatura.
avi@tecmint:~/Downloads$ gpg --verify linux-3.16.tar.sign
Nota: Se o comando acima lançar gpg: Não é possível verificar a assinatura: erro de chave pública não encontrada. Isso significa que precisamos baixar a chave pública manualmente do servidor PGP.
avi@tecmint:~/Downloads$ gpg --recv-keys 00411886
Após baixar a chave, verifique a chave novamente.
avi@tecmint:~/Downloads$ gpg --verify linux-3.16.tar.sign
Você notou duas coisas sobre a verificação da chave GPG.
- gpg: Boa assinatura de “Linus Torvalds <[email >”.
- Impressão digital de chave primária: ABAF 11C6 5A29 70B1 30AB E3C4 79BE 3E43 0041 1886 .
Nada para se preocupar com a impressão digital da chave, agora temos certeza de que o arquivo está OK e assinado. Vamos em frente!
Etapa 3: instalação dos pacotes necessários
Antes de prosseguirmos e começarmos a construir o kernel, precisamos instalar certos pacotes para facilitar a construção do kernel e o processo de instalação e fazê-lo da maneira Debian sem riscos.
Instale libcurse5-dev, fakeroot e pacote kernel.
avi@tecmint:~/Downloads$ sudo apt-get install libncurses5-dev
avi@tecmint:~/Downloads$ sudo apt-get install fakeroot
avi@tecmint:~/Downloads$ sudo apt-get install kernel-package
Etapa 4: Construindo o Kernel 3.16
Após a instalação bem-sucedida dos pacotes acima, estamos prontos para construir o kernel. Vá para a imagem extraída do kernel do Linux (extraímos acima, durante a verificação da assinatura).
avi@tecmint:~/Downloads$ cd linux-3.16/
Agora é importante copiar a configuração atual do kernel para apresentar o diretório de trabalho como usuário root.
cp /boot/config-'uname -r' .config
Ele está copiando /boot/config-'uname -r' para o diretório de trabalho atual “/home/avi/Downloads/linux-3.16 ” e salvando-o como '.config'.
Aqui ‘uname -r‘ será automaticamente substituído e processado pela versão do kernel atualmente instalada.
Como um arquivo de ponto não pode ser visto da maneira normal, você precisa usar a opção ‘-a‘ com ls para visualizar isso, em seu diretório de trabalho atual’.
ls -al
Existem três maneiras de construir um kernel Linux.
- make oldconfig : É uma forma interativa na qual o kernel pergunta, um por um, o que deve suportar e o que não deve. É um processo muito demorado.
- make menuconfig : É um sistema baseado em menu de linha de comando onde o usuário pode ativar e desativar uma opção. Requer a biblioteca ncurses, portanto, adaptamos isso acima.
- make qconfig/xconfig/gconfig : É o sistema baseado em menu gráfico onde o usuário pode ativar e desativar uma opção. Requer biblioteca QT.
Obviamente usaremos ‘make menuconfig‘.
Com medo de construir o kernel? Você não deveria estar. É divertido, há muitas coisas que você aprenderá. Você deve ter em mente o seguinte.
- Suas necessidades de hardware e drivers apropriados.
- Escolha novos recursos enquanto você mesmo constrói o kernel, como - suporte de alta memória.
- Otimizar kernel – selecione apenas os drivers necessários. Isso irá acelerar seu processo de inicialização. Se você não tiver certeza de nenhum driver, é melhor incluí-lo.
Agora, execute o comando ‘make menuconfig’.
make menuconfig
Importante: Você deve escolher “SELECT – ENABLE LOADABLE MODULE SUPPORT“, se você esquecer de fazer isso, você terá momentos difíceis .
Nota: Nas janelas de configuração abertas você pode configurar várias opções para sua placa de rede, bluetooth, Touchpad, placa gráfica, suporte a sistema de arquivos como NTFS e muitas outras opções.
Não há tutorial para orientá-lo sobre o que você deve selecionar e o que não. Você só sabe disso pesquisando, estudando coisas na web, aprendendo com os tutoriais do tecmint e de todas as outras maneiras possíveis.
Você pode ver que existe uma opção de hacking do kernel. Hackear? Sim! Aqui significa exploração. Você pode adicionar várias opções ao hack do kernel e utilizar muitos recursos.
Em seguida, selecione Opções de driver genérico.
Suporte a dispositivos de rede.
Suporte a dispositivos de entrada.
Carregue o arquivo de configuração (.config), que salvamos em /boot/config-`uname –r`.config.
Clique em OK, salve e saia. Agora limpe a árvore de origem e redefina os parâmetros do pacote do kernel.
make-kpkg clean
Etapa 5: Compilando o Kernel 3.16
Antes de começarmos a compilar o kernel, precisamos exportar CONCURRENCY_LEVEL. O NÍVEL DE CONCORRÊNCIA geral tem uma regra para adicionar o Numérico 1 aos núcleos do kernel. Se você tiver 2 núcleos, exporte CONCURRENCY_LEVEL=3. Se você tiver 4 núcleos, exporte CONCURRENCY_LEVEL=5.
Para verificar os núcleos do processador, você pode usar o comando cat conforme mostrado abaixo.
cat /proc/cpuinfo
Saída de amostra
Sample Output
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 69
model name : Intel(R) Core(TM) i3-4005U CPU @ 1.70GHz
stepping : 1
microcode : 0x17
cpu MHz : 799.996
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
Você vê a saída acima, eu tenho 2 núcleos, então exportaremos 3 núcleos conforme mostrado abaixo.
export CONCURRENCY_LEVEL=3
Definir CONCURRENCY_LEVEL correto irá acelerar o tempo de compilação do kernel.
fakeroot make-kpkg --append-to-version "-tecmintkernel" --revision "1" --initrd kernel_image kernel_headers
Aqui 'tecminkernel' é o nome da compilação do kernel, pode ser qualquer coisa, desde seu nome, seu nome de host, seu nome de animal de estimação ou qualquer outra coisa.
A compilação do kernel leva muito tempo dependendo dos módulos que estão sendo compilados e do poder de processamento da máquina. Até o momento da compilação, veja algumas das perguntas frequentes sobre a compilação do kernel.
perguntas frequentes
Q1. Meu kernel está sendo compilado há muito tempo. Isso é normal.
Q2. Se eu interromper o kernel durante a compilação, preciso começar tudo de novo?
Q3. Os arquivos compilados podem ser usados em sistemas diferentes para atualizar o kernel?
Q4. Você hospedará seu arquivo compilado?
Q5. Tenho pacotes como fakeroot e ncurses5-dev em meu repositório?
Q6. Serei capaz de inicializar no último kernel, depois de instalar o kernel mais recente.
P7. Estou enfrentando problemas na atualização do kernel. Você vai me ajudar? É cobrado?
Q8. Minha empresa enfrenta problemas na atualização do Kernel. Sua equipe nos ajudará? É cobrável?
Esse é o fim do FAQ, deixe-me prosseguir com o processo de compilação. Após a compilação bem-sucedida do kernel, ele cria dois arquivos (pacote Debian), um diretório ‘acima’ do nosso diretório de trabalho atual.
Nosso diretório de trabalho atual é.
/home/avi/Downloads/linux-3.16/
Os pacotes Debian são criados em.
/home/avi/Downloads
Para verificar isso, execute os seguintes comandos.
cd ..
ls -l linux-*.deb
Em seguida, execute o arquivo de imagem do Linux criado.
dpkg -i linux-image-3.16.0-tecmintkernel_1_amd64.deb
Execute o arquivo de cabeçalho do Linux assim criado.
dpkg -i linux-headers-3.16.0-tecmintkernel_1_amd64.deb
Tudo feito! Construímos, compilamos e instalamos com sucesso o Kernel Linux 3.16 mais recente no Debian com todas as outras dependências. Além disso, o pacote Debian conseguiu atualizar o bootloader (GRUB/LILO), automaticamente. É hora de reiniciar e testar o kernel mais recente.
Certifique-se de observar qualquer mensagem de erro que você possa receber durante a inicialização. É importante entender esse erro para resolvê-los, se houver.
reboot
Assim que o Debian iniciar novamente, clique em ‘Opção avançada‘ para ver uma lista de kernels disponíveis e instalados.
Veja uma lista de kernels instalados.
Selecione o kernel compilado mais recente (ou seja, 3.16) para inicializar.
Verifique a versão do kernel.
uname -mrns
O mais recente, instalado agora, está configurado para inicializar automaticamente e você não precisa escolhê-lo sempre nas opções avançadas de inicialização.
Etapa 6: Instale o kernel pré-compilado 3.16
Para aqueles que não desejam compilar seu próprio kernel no Debian (x86_64) e desejam usar o kernel pré-compilado que construímos neste tutorial, podem baixá-lo no link abaixo. Este kernel pode não funcionar para alguns dos hardwares que você possui.
- linux-image-3.16.0-linux-console.net_kernel_1_amd64.deb
- linux-headers-3.16.0-linux-console.net_kernel_1_amd64.deb
Em seguida, instale o kernel pré-compilado usando o seguinte comando.
dpkg -i linux-image-3.16.0-linux-console.net_kernel_amd64.deb
dpkg -i linux-headers-3.16.0-linux-console.net_kernel_amd64.deb
O kernel não utilizado pode ser removido do sistema usando o comando.
apt-get remove linux-image-(unused_version_number)
Cuidado: Você deve remover o kernel antigo após testar completamente o kernel mais recente. Não tome uma decisão com pressa. Você só deve prosseguir se souber o que está fazendo.
Se você fez algo errado ao remover o kernel que deseja, ou removeu o kernel que não deveria, seu sistema estará em um estágio no qual você não poderá trabalhar.
Após desinstalar um kernel não utilizado, você poderá receber uma mensagem como.
- O link /vmlinuz é um link danificado.
- Removendo link simbólico vmlinuz.
- Pode ser necessário executar novamente o carregador de inicialização [grub].
- O link /initrd.img é um link danificado.
- Removendo o link simbólico initrd.img .
- Pode ser necessário executar novamente o carregador de inicialização [grub].
Isso é normal e você não precisa se preocupar. Basta atualizar seu GRUB usando o seguinte comando.
/usr/sbin/update-grub
Pode ser necessário atualizar seu arquivo /etc/kernel-img.conf e desabilitar ‘do_symlinks’, para desabilitar essas mensagens. Se você conseguir reiniciar e fazer login novamente, não há problema.
É tudo por agora. Estarei aqui novamente com outro artigo interessante. Até então fique ligado e conectado à Tecmint. Não se esqueça de nos fornecer seus valiosos comentários na seção de comentários abaixo. Conte-nos também sua experiência ao encontrar a compilação e instalação do Kernel.
Leia também :
- Instale o Kernel 3.16 no Ubuntu
- Compile e instale o Kernel 3.12 no Debian Linux