Responsive Ad Slot

Mostrando postagens com marcador kernel. Mostrar todas as postagens
Mostrando postagens com marcador kernel. Mostrar todas as postagens

Novas placas de vídeo AMD Vega tem performance surpreendente com drivers Open Source

Nenhum comentário

quinta-feira, 17 de agosto de 2017

Será que finalmente estamos chegando perto de um bom suporte em placas de vídeo no Linux por parte da AMD? Se depender da nova linha Vega da empresa, os usuários Linux podem deixar de se preocupar tanto com drivers.

Radeon Vega no Linux






O pessoal da Phoronix fez uma extensa review com benchmarks dos novos modelos de placas da AMD, as Radeon Vega, modelos 56 e 64. Os resultados obtidos com drivers de código aberto não foram menos do que surpreendentes!

Escolher uma placa de vídeo para jogar no Linux nos últimos anos tem sido sinônimo de ser cliente da Nvidia, como comentamos em um dos últimos Diolinux DROPS do canal:


Porém, com a evolução dos drivers e com as novas gerações de placas chegando, isso pode mudar um pouco.

Radeon Vega

Segundo a análise feita pelo site Phoronix, a linha Vega torna-se atualmente a melhor opção para usuários de Linux que não querem depender da instalação de drivers proprietários. As Radeon Vega tem um bom desempenho utilizando os drivers de código aberto contidos no próprio Kernel Linux, sendo inclusive melhores do que o AMDGPU PRO, de forma surpreendente.

Por serem placas relativamente baratas em comparação com as concorrentes da Nvidia, pelo menos fora do Brasil, elas tem um ótimo custo por frame para quem deseja utilizar drivers open source.

O desempenho é bom, mas ainda pode melhorar


Os analistas comentaram que apesar do desempenho ser considerado muito superior em relação a gerações passadas com o driver de código aberto, ainda são necessárias otimizações para esta nova arquitetura, pois mesmo que o resultado tenha sido animador, se comparado ao suporte ao Windows, elas ainda ficam um pouco atrás e também ficam um pouco atrás das concorrentes da Nvidia com driver proprietário, mesmo no Linux.

Você pode conferir todo o relatório dos gráficos de benchmarks em games com API diferentes e também com benchmarks sintéticos acessando este endereço, basta navegar pelas páginas.

Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.


Ubuntu ganha compilação do Kernel para placas de vídeo AMD com driver AMDGPU DC embutido

Nenhum comentário

quinta-feira, 10 de agosto de 2017

Os proprietários de placas de vídeo da AMD de arquiteturas mais recentes poderão utilizar um Kernel específico com driver AMDGPU embarcado no Ubuntu ou no Linux Mint.

AMDGPU Ubuntu Kernel






Fiquei sabendo hoje de algo muito interessante através do site Phoronix, agora temos um kernel Linux para o Ubuntu com suporte para o driver AMDGPU DC pré-instalado, o pacote parece ter sido feito pelos próprios mantenedores do site.

Este driver AMDGPU DC tem suporte a várias tecnologias novas da AMD e está entrando no Kernel 4.12.x, que ainda não está no Ubuntu por padrão. O "DC display code" provê suporte para áudio HDMI/Display Port para placas modernas da empresa, assim como suporte para HDMI 2.0, suporte para a Radeon Vega, atomic mode-setting e mais algumas coisas.  Este é um pacote experimental que você pode testar por conta e risco, basta fazer o download do .deb aqui.

Se você não se sente seguro em fazer ajustes mais avançados como este, sabemos que muitos leitores do blog são iniciantes, evolvendo o Kernel do sistema, simplesmente NÃO FAÇA! Estes ajustes feitos neste pacote experimental deverão entrar no Kernel do Ubuntu no futuro naturalmente. Se você não está com pressa para usá-los, pode cruzar os braços e clicar no próximo artigo.


Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.


Canonical cria um PPA para atualizar o Kernel do Ubuntu para últimas versões

Nenhum comentário

segunda-feira, 7 de agosto de 2017

Os desenvolvedores do Ubuntu agora possuem um repositório PPA dedicado aos Kernels que o sistema utiliza em diversas plataformas, apesar de ser destinado aos desenvolvedores, ele é um repositório público e pode ser utilizado também por qualquer usuário mais avançado do sistema.

Atualização para Ubuntu Kernel







Uma das coisas que alguns usuários de Ubuntu talvez sintam falta em relação a atualizações do sistema, é realmente o acesso a versões recentes do Kernel Linux que o sistema carrega. Particularmente, acredito que ter sempre a última versão do Kernel instalada não faz necessariamente muita diferença, dependendo da proposta do computador, usar um Kernel mais "antigo" e estável por ser mais negócio, porém, acho válido ter a opção de fazer isso caso o usuário queira.


Para fazer este manuseio no Kernel do Ubuntu existem várias opções, temos o utilitário gráfico Ukuu (Ubuntu Kernel update utility), temos o Shell Script simples e também o modo manual, além é claro da opção mais "hardcore" que é compilar o Kernel, contudo, agora existe mais uma forma "oficial".

Os desenvolvedores criaram o repositório PPA: ppa:canonical-kernel-team/ppa

Este repositório contém versões experimentais do Kernel do Ubuntu que a Canonical testa em vários projetos, além do próprio desktop, temos os Kernels utilizados no AWS, no AZURE, Kernel para o Raspberry Pi, entre outros. O PPA suporta todas as versões ativas do Ubuntu e até mesmo as em desenvolvimento.

Os desenvolvedores não recomendam que usuários comuns utilizem este PPA, pois o mesmo é focado em desenvolvedores e usuários avançados, que sabem corrigir eventuais problemas de Kernels experimentais.

Saiba mais na Wiki do Ubuntu.

Acesse o PPA no Launchpad aqui.

Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.


Como compilar um Kernel Linux passo a passo [TUTORIAL COMPLETO]

Nenhum comentário

quarta-feira, 5 de julho de 2017

A compilação do Kernel é algo cheio de místicas no mundo da tecnologia, mas na verdade ela não chega a ser um processo "super" complicado, requer um pouco de atenção, sim, mas nada que algumas tentativas e alguns Kernel Panic não deixem você "manjador". Hoje vamos aprender como compilar um Kernel para a sua distribuição.

Como compilar Kernel Linux




Vamos falar um pouco sobre compilação de Kernel e se você deve ou precisa fazer esse tipo de coisa. 

Como comentei antes, a compilação do Kernel está envolta em uma mística muito grande onde "apenas os entendidos" conseguem fazê-lo, de fato, é necessário um pouco de conhecimento avançado no seu hardware para otimizar o Kernel, mas não para compilá-lo necessariamente.

Encare este tutorial de forma didática, acredito que os maiores beneficiados serão os que querem aprender um pouco mais sobre Linux e sobre informática, a maior parte dos usuários (comuns e avançados) não realmente necessitam de um Kernel compilado, digamos que este seja um "luxo" que você pode se dar ou não.

As distribuições Linux fazem um grande esforço para entregar para você um Kernel genérico que consiga lidar com praticamente qualquer hardware e ainda extraia um bom desempenho do seu computador. Se você conhecer direito o seu processador, sua placa mãe, memórias, etc, em fim, se conhecer bem o seu Hardware, é possível ajustar alguns módulos para deixar o Kernel mais enxuto e otimizado. Em minha experiência a diferença não chega a ser gritante mas pode ajudar. Eu mesmo costumo utilizar o Kernel oferecido pela distribuição que eu estiver utilizando, só vou pensar em mudar caso algo não esteja funcionando adequadamente e isso pode ser feito de diversas formas, compilando é apenas uma delas.

Você também pode querer usar um Kernel mais antigo em uma máquina mais velha também por questão de melhor suporte ao hardware, se a sua distro não oferece este kernel, compilar ele pode ser a única solução para trazer à vida o seu "dinossauro de estimação". 😁

Veja também: Atualizar ou não atualizar o Kernel?

Já está ganhando coragem?

Compilando o seu Kernel Linux


Linus Torvalds liberou no kernel.org recentemente o Kernel 4.12 que traz várias melhorias e pelo que me consta, melhores drivers de vídeo para placas da AMD é o principal destaque. Se você usa Arch, Fedora, Manjaro, openSUSE Tumbleweed, versões instáveis do Debian, entre outras distros que costumam manter pacotes recentes, provavelmente você receberá esse Kernel muito em breve (isso se já não recebeu), no entanto, outras distros tendem a usar o Kernel LTS para melhor estabilidade, o Debian Stable, Ubuntu, Mint, entre outras. Estas mantém um Kernel em uma versão mais "antiga" e muitas vezes uma versão modificada também, com inclusão de drivers extras e outras otimizações e perfis que dizem respeito à distro em específico.

Leia também: Conheça o gestor de Kernel gráfico para Ubuntu

Caso você se sinta inseguro ao fazer este tipo de coisa, ou se for a primeira vez que você vai fazer isso, eu recomendo que você se foque em quatro pontos.

1º - Leia todo o material antes de começar a fazer qualquer coisa.

Acredite, se você não tiver paciência para ler este artigo por completo, provavelmente você não vai ter paciência para compilar o kernel. Não tenha medo de aprender, este artigo não vai fugir de você, então leia com calma mais de uma vez e use-o como guia no seu processo.

2º - Faça o processo no VirtualBox uma vez ao menos para você entender como tudo funciona.

Aprenda a fazer testes antes de colocar as coisas em produção, aprenda a errar e tirar conhecimento dos seus erros. Fazer a compilação no VirtualBox pode levar mais tempo por conta da potencia do seu computador ficar dividida, mas permite que você teste várias coisas diferentes. Outra boa opção é você testar em um computador de reserva que você tenha, assim você pode tentar otimizar o kernel para ele.

3º - Não tenha medo, mas seja responsável.

Algumas pessoas acham que para compilar o kernel você precisar ser o "Chuck Norris" no Linux, mas a verdade é que "qualquer um com o toddy em um quarto escuro" faz isso, basta prestar atenção.

Se você estiver fazendo em uma máquina virtual ou de testes, não há com o que se preocupar. Na verdade, mesmo fazendo na sua máquina de trabalho, sabendo voltar ao "normal", não tem muito com o que se preocupar também.

Uma vez o kernel compilado, entenda que tudo o que funciona e não funciona no seu sistema no que diz respeito ao gerenciamento de hardware é "culpa" sua, os patches de segurança, atualizações e coisas do tipo serão aplicados somente se você o fizer. Provavelmente a sua distro continuará a prover atualizações no Kernel que ela traz por padrão através do repositório, mas no que diz respeito ao kernel que você compilar, bom, ele depende só de você.

4º - Pegue o seu café. Sempre tenha um café! ☕

Pode ser chá também.

Começando a compilar o Kernel Linux


O primeiro passo é, sem dúvida, baixar o Kernel que você quer instalar. Observe sempre a versão, pois essa informação será importante no futuro. Neste exemplo vamos usar o mais recente (no momento), o Kernel 4.12. Acesse o kernel.org e baixe a versão mais recente disponível:

Kernel Linux Download

Clique no botãozão  amarelo e faça o download para o diretório que você quiser, por exemplo, a sua pasta Downloads. Para fins de organização (afinal você pode ter muitas pastas e arquivos ali), sugiro que crie uma pasta com qualquer nome e coloque o arquivo que você baixou dentro, vou usar o nome "kernel" neste exemplo, conforme a imagem abaixo:

Compilação de Kernel Linux
Veja o exemplo acima da pasta "kernel" dentro de "Downloads"
Depois disso, abra o seu terminal e agora vamos começar a "brincadeira". Já pegou um café aí (ou chá, se você estiver em processo de descafeinação)?

Este processo pode demorar um pouco, seja paciente, leia com atenção e tudo deverá ocorrer bem.

Antes de mais nada, vamos instalar alguns pacotes que serão úteis para a nossa compilação. No exemplo eu estou utilizando o Linux Mint, mas os comandos servirão para todas as distros baseadas em Debian, incluindo o Ubuntu, lembrando que você tem que fazer o processo como root ou utilizando "sudo" onde for possível. Neste caso, podemos usar o "sudo" sem problemas:

Compilando Kernel Linux

Comando:
sudo apt install build-essential libncurses5-dev
Os pacotes tem o mesmo nome em praticamente todas as distros, então basta você usar o gerenciador de pacotes da sua. Alguns comandos que vamos utilizar são coisas básicas do Bash, como o "ls" para listar os arquivos e pastas nos diretórios e o "clear" para limpar a tela (ou CTRL+L), então, fique à vontade para utilizá-los, como agora, você deve estar com o seu terminal cheio de informações, apenas limpe a tela digitando: clear.


O nosso próximo passo é extrair o conteúdo do arquivo compactado do Kernel que você baixou para uma pasta específica.

Mude para a pasta de download

Lembra que eu tinha comentado para colocarmos o arquivo dentro de uma pasta chamada "kernel", que por sua vez estava dentro da pasta "Downloads"? Vamos precisar ir até ela com o comando:
cd ~/Downloads/kernel/
Uma vez dentro dela, rode o "ls" para ver se o arquivo está ali. No nosso exemplo o arquivo se chama linux-4.12.tar.xz, este tipo de arquivo é um arquivo compactado como qualquer outro .rar ou .zip, porém, ele usa a compactação tar.xz, vamos precisar extrair os arquivos dele e vamos fazer pelo terminal, assim já podemos direcioná-lo diretamente para a pasta /usr/src/ que é onde ele deve ficar para continuarmos. À partir de agora, vamos entrar em modo root e fazer tudo desta forma, então rode o comando:
su root
Digite a sua senha e você já deve estar como root, se você estiver usando o Bash, o indicativo para isso é que você terá um "#" no lugar do "$" no terminal:

Compilando Kernel

Agora vamos extrair o conteúdo do arquivo e direcioná-lo para o diretório desejado:

Dica: use o tab para autocompletar os comandos, por exemplo, ao invés de digitar linux-4.12.tar.xz, apenas digite "li" e pressione tab. Funciona em vários outros momentos também.


Compilando Kernel

Comando:
tar -xvf linux-4.12.tar.xz -C /usr/src/
Se tiver dúvidas sobre o comando tar, você pode verificar a sua página de ajuda digitando: tar --help. A extração deverá demorar alguns segundos, então aguarde o processo terminar, quando isso acontecer você deverá ver uma tela semelhante a esta:

Compilando Kernel

Agora vamos conferir se realmente os arquivos foram parar no lugar certo. Até agora você poderia ter feito tudo em modo gráfico, mas metade da graça de compilar o Kernel está em usar comandos até pra descompactar arquivos, certo? 😂

Arquivos para compilação do Kernel

Comandos:
cd /usr/src/
ls
Você deverá ver um diretório com o nome de "linux-4.12".

Aqui vai uma dica que pode facilitar um pouco, e se ao invés de ficar digitando toda a vez "linux-4.12" você chamasse ele apenas de "linux" ou de "kernel", ou ainda de "meganfox"? Vamos criar um link símbolo pra ele, assim você não precisa digitar mais de uma palavra ou perder tempo digitando mais caracteres:

Criando link simbólico

Comando:
ln -s linux-4.12 linux
Olha que beleza? Agora quando você acessar o diretório "linux" ele vai entrar dentro de linux-4.12. Se você der um novo "ls" vai perceber a existência de um diretório chamado "linux". Vamos entrar nele também:

Dica: O Linux é "Case sentivive", isso significa que o seu sistema operacional diferencia letras maiúsculas de minúsculas, um diretório chamado 'Linux" é diferente de outro chamado "linux", que por sua vez é diferente de outro chamado "LInux" e por aí vai. Então preste atenção para digitar os comandos e diretórios exatamente como são os seus nomes.

compilando Kernel Linux

Comandos:
ls
E observe a presença do link "linux".
cd linux
Para mudarmos para dentro do diretório "linux"
ls
Novamente para listar os arquivos contidos dentro da pasta.

Agora é que começa a compilação propriamente dita. O próximo passo é um dos mais importantes e determinantes da hora de compilar um Kernel Linux:

Configuração do Kernel

Comando:
make menuconfig
Esse comando irá rodar e carregar uma espécie de interface onde você poderá fazer vários ajustes, se você quiser, é claro:

Dica: Nesta opção, você pode escolher copiar o arquivo de configuração do seu kernel atual também, bastando confirmar quando o utilitário lhe pedir, entretanto, neste artigo nós vamos dar uma explorada a mais nele.

Compilando Kernel

Aqui, para mim, vale o mesmo conceito do overlock. Você pode ir testando opções até encontrar alguma que fique realmente estável e otimizada para você. Fica difícil eu dizer qualquer coisa aqui para você configurar porque eu não sei exatamente qual o hardware você possui, quais dispositivos você conecta no seu computador, não sei o modelo da sua placa mãe, etc, etc. 

Vale muito à pena você fazer este processo várias vezes e conhecer o seu harware para fazer modificações e testar como tudo vai funcionar. Aqui você pode habilitar e desabilitar drivers por exemplo. Um exemplo que eu posso dar é que você pode, na sessão de drivers, desabilitar o suporte para blobs de drivers proprietários no Kernel, desmarcando a opção, isso talvez agrade quem gosta apenas de software livre.

Compilando Kernel

Cabe a você explorar todas as essas opções (que são muitas), mas atenção, minha recomendação é:

Pesquise tudo o que você deseja alterar para entender o que a opção faz e entender a consequência da sua ação, evite fazer esse tipo de coisa em máquinas de trabalho que não podem ficar paradas e sempre mantenha um kernel extra que você sabe que funciona, como o que veio junto com a sua distro, não o remova, assim você pode voltar pra ele caso tenha algum problema. Estude o seu hardware e veja que recursos você pode habilitar e desabilitar. 

Otimizar um Kernel para você e tê-lo estável por levar algum tempo e algumas tentativas de compilações.

✅ Dica: Leia com atenção a legenda que aparece nesta tela, ela te informa como você navega pelos menus e como marcar e desmarcar as opções.

Como eu não sei qual o seu hardware e nós queremos continuar a nossa experiência com a compilação, vamos apenas usar todas as opções que são padrão. Para isso, sem fazer nenhuma alteração, vamos até a opção "Save" e pressionamos a tecla "Enter".

Compilando Kernel Linux

Ao salvar uma nova tela aparecerá onde você pode escolher o nome do seu arquivo de configuração (esse que você estava editando, ou não, no passo anterior), você pode deixar o padrão mais uma vez ".config" e pressionar "enter" para confirmar:

Compilando Kernel

Depois da configuração estar pronta, uma nova tela vai se abrir com uma única opção para sair, apenas confirme pressionando "enter" mais uma vez.

compilando kernel

Isso vai te levar para a primeira tela do menu de configuração, agora é só você sair, selecionando a opção "Exit":

compilando kernel

Voltamos ao nosso terminal mais uma vez, você pode dar um "clear" para deixar ele limpo novamente. O que vamos fazer agora é puramente para informação e praticidade. 

Vamos alterar um pouco o nome do Kernel, nada demais, de "leve na neve", só pra gente saber que essa é a nossa versão compilada.

Uma informação importante que você pode inserir aqui é qual a versão da compilação que você está fazendo, assim dá pra ir testando várias formas diferentes e iniciar pelo Kernel que você quiser depois pelo GRUB.

Você pode usar aqui qualquer editar de texto (em modo texto ou gráfico), eu estava na intenção de usar o VIM, porém, ele não vem instalado no Linux Mint (talvez na sua distro ele venha), em compensação eu tenho pré instalado o nano e o vim.tiny (versão mais enxuta do dito cujo), que vai servir também, afinal, eu só quero mudar uma linha no arquivo de configuração. Se você quiser pode instalar o VIM ou qualquer outro.

Escolha o que você preferir e vamos editar o arquivo:

compilando Kernel

Comando:
vim.tiny /usr/src/linux/Makefile
O que eu quero mudar neste arquivo é a descrição em EXTRAVERSION:

Configurando Makefile

Navegue com o seu teclado até lá e coloque a informação que desejar, eu vou colocar diocomp1, que para mim significa "Diolinux Compilação 1", afinal, como eu disse, eu posso fazer várias compilações do mesmo kernel e ir testando, assim na próxima vez que fizer poderei colocar diocomp2 e assim por diante, ficando mais simples para identificar cada uma.

Para salvar e sair no VIM você deve pressionar a tecla "ESC" até que a palavra "INSERT" suma ali de baixo, e digitar:
:wq
Não esqueça dos dois pontos, o W serve para salvar a sua edição e o Q para sair. Se você quiser aprender mais sobre o VIM e sobre o terminal, confira o nosso curso de Bash no Diolinux EAD, ele tem um módulo bônus somente sobre o VIM.

Próximo passo, gerando a imagem bzImage:

gerando imagem

Comando:
make bzImage
Se liga aí no "I" maiúsculo. Nesta parte eu tive esse problema, como você pode ver, só ocorreu no Linux Mint/Ubuntu, no Debian foi de boa. Isso era a falta de um pacote no sistema que você resolve com:
apt install libssl-dev
Essa parte demora meu jovem, então vá dar uma caminhada ou tomar aquele seu café, deixe apenas o terminal trabalhando, procure fechar as outras aplicações pois a compilação consome recursos da máquina, memória e processador especialmente, e quanto mais livre ela estiver, mais rápido tende a ser. Sugestão, aproveita e assiste um episódio de Bates Motel na Netflix, a série é muito legal. 

Ao terminar o processo, você deve ver uma tela semelhante a esta:

Compilação do Kernel Linux

Se tudo deu certo, você deverá ter uma imagem dentro do diretório de boot, que é um subpasta dentro da sua pasta "linux", para verificar isso rode o seguinte comando:
ls /usr/src/linux/arch/x86_64/boot/
A arquitetura ali no meio do comando (x86_64) depende do tipo do kernel que você está compilando, de 32 ou 64 bits. Você deverá ver algo como isto:

Compilando Kernel

O próximo passo vai compilar os módulos do seu Kernel, o que inclui os drivers que você selecionou lá no menu de configuração:

make modules

Comando: 
make modules
Dependendo da quantidade de módulos habilitados esse processo também pode demorar pra caralho um bocado, espere pacientemente. (Ou fique louco, mas acho que isso não vai ajudar em nada). No meu caso demorou pouco mais de 1 hora e meia, mas isso depende da potência do seu hardware. Ao término você deverá ver uma tela como esta:

Compilando Kernel

 É bom você deixar um bom espaço livre também na sua partição / ou na /usr, dependendo de como você particionou, essa compilação genérica gerou quase 14 GB de dados.

Agora com os modulos compilados, vamos precisar instalá-los:

Make modules_install

Depois do processo terminar, você verá uma tela semelhante a esta:

Compilação do Kernel

Agora vamos instalar o Kernel que você acabou de compilar:

Instalando o kernel compilado

Comando:
make install
Ao terminar de executar esta tarefa, você deverá ver uma imagem semelhante a esta:

instalando o novo kernel
Alguns erros que aparecem nessa tela ocorrem por conta do VirtualBox
Agora precisamos mudar de diretório para rodar mais um comando que vai criar a nossa imagem de inicialização do Kernel:

configurando imagem de inicialização

Comando:
cd /boot
Uma vez dentro deste diretório, rodaremos os seguintes comando:

nome do kernel

Comandos:
ls /lib/modules/
Esse comando vai servir pra termos certeza do nome do nosso kernel, como você pode ver na segunda linha da  imagem acima, o kernel que compilamos tem o nome de "4.12.0diocomp1", vamos precisar deste nome no comando a seguir, que é:
mkinitramfs -o initrd.img-4.12(use o tab para completar) (nome do kernel) 
No meu exemplo ficou como na imagem acima:
mkinitramfs -o initrd.img-4.12.0diocomp1 4.12.0diocomp1 
Preste atenção, pois este comando deve ser rodado dentro do diretório /boot.

Este comando não deve te retornar nada no terminal, ele apenas vai "rodar", por assim dizer.

Estamos chegando perto do final, precisamos fazer com que o GRUB reconheça o nosso novo kernel para que possamos reiniciar a máquina utilizando ele, para que isso aconteça é necessário atualizar a lista de sistemas/kernels que estão listadas no menu do GRUB (Aquele carinha que aparece na inicialização do computador). 

Esse passo pode variar um pouco de acordo com o sistema que você estiver utilizando, Debian, Ubuntu, Mint, etc tem uma shell script nativo do sistema que faz essa atualização através do comando:

Compilando Kernel

Comando:
update-grub
Eventualmente a sua distro pode ter outro método de fazer este mesmo passo, então vale a pena consultar a documentação do sistema caso o comando não funcione. 

Repare na imagem acima, nós já temos a imagem do kernel e do initrd encontradas com a nossa compilação, esse comando não demora muito e ao terminar, nós já temos tudo pronto para começar a utilizar e testar o nosso kernel compilado.

Agora você pode reiniciar o computador para testar o novo Kernel compilado por você mesmo, se funcionar eu sei que você vai estar se sentindo um Elliot da vida, mas vamos para o teste definitivo. 

Reinicie como você preferir, se quiser fazer pelo terminal, apenas digite:
reboot
Se o seu computador tem apenas um sistema operacional instalado, ele deve carregar automaticamente o seu kernel, caso ele seja o mais recente instalado, caso você tenha mais de um sistema, você verá o GRUB, onde fica fácil de você identificar se o seu novo kernel está listado para iniciar.

GRUB com kernel compilado

Caso o GRUB não apareça para você, basta ficar pressionando a tecla "Shift" na inicialização do computador, depois selecione o modo avançado e você verá uma imagem semelhante a esta, com o seu kernel como opção para inicializar.

Bastar pressionar "enter" para inicializar pelo Kernel desejado.

Se tudo deu certo, seu computador vai funcionar normalmente, uma vez na área de trabalho você pode conferir se você está usando o Kernel correto rodando o seguinte comando:

verificando o novo kernel compilado

Comando:
uname -romi
ou
uname -r 
Pronto meu amigo ou minha amiga, você acabou de compilar o Kernel Linux! Não foi tão difícil foi? 

É só preciso de um pouco de atenção e paciência. 😎

Como eu quero deixar as coisas mais completas, eu vou te ensinar a voltar para o kernel da sua distro e remover o seu kernel compilado, caso você queira. Existem várias formas de editar o GRUB para você escolher com qualquer kernel ou sistema você quer inicializar por padrão, mas vamos tomar de exemplo que por qualquer motivo você não queira mais o seu kernel compilado e você queira usar o a sua distro te oferece.

Removendo o seu kernel compilado

Reinicie o seu computador mais uma vez e na tela do GRUB selecione outra versão do Kernel que não seja a sua compilação, dê preferência pela mais recente, fora a sua.

grub customizer

No meu caso seria a versão "4.8.0-53-generic", que é a entrada que está marcada logo acima no meu GRUB, selecione a opção e dê "enter", assim você vai inicializar por este kernel. Essa dica é bacana em vários casos, existem opções de recuperação do sistema que aparecem ali que nem todos conhecem. Eu recomendo que você veja este vídeo onde eu expliquei como funcionam estas opções, vale a pena.

Seu sistema deve iniciar normalmente e está pronto para fazermos a remoção. Como nós fizemos a compilação "na unha", como se diz, a remoção vai ter que ser também, existem alguns arquivos e diretórios que você precisa apagar, que são os arquivos do seu kernel compilado, são eles:

/boot/vmlinuzNOME-DO-SEU-KERNEL 
/boot/initrdNOME-DO-SEU-KERNEL
/boot/System-mapNOME-DO-SEU-KERNEL
/boot/config-NOME-DO-SEU-KERNEL
/lib/modules/NOME-DO-SEU-KERNEL/
/var/lib/initramfs-tools/NOME-DO-SEU-KERNEL/ ou /var/lib/initramfs/NOME-DO-SEU-KERNEL/

Entre como root novamente, como você fez para compilar e rode os seguintes comandos:

removendo kernel compilado

Comandos (como root):
cd /boot
Vamos entrar em /boot para limpar os arquivos ali primeiro, depois use o "ls" para listar os arquivos e diretórios dentro desta pasta, assim você pode ver o nome do kernel que você compilou, fica fácil de reconhecer por conta da modificação que fizemos no nome "lá atrás", quanto editamos o arquivo de configuração. Todos os arquivos tem a versão do nosso kernel compilado (4.12 no nosso exemplo) e as informações que colocamos em EXTRAVERSION, no exemplo eu coloquei diocomp1. 

Para remover vamos usar o comando ''rm", como está na imagem acima, sendo assim, o comando ficaria:
rm vmlinuz-4-12.0diocomp1 inird.img-4.12.0diocomp1 System.map-4.12.0diocomp1 config-4.12.0-diocomp1
Lembre de colocar a SUA VERSÃO do kernel, com o nome que você deu pra ele.

Rodando o comando e dando um novo "ls" você verá que os arquivos foram apagados:

removendo kernel compilado

Precisamos remover mais algumas coisas ainda antes de atualizamos o GRUB novamente. 

Precisamos mudar de diretório primeiro:

removendo kernel antigo

Comandos:
cd /lib/modules/
Primeiro mudamos para o diretório dos módulos, uma vez dentro dele, rodando o "ls" para vermos o conteúdo novamente. Certamente você encontrará outro diretório com o nome da sua compilação do kernel, no exemplo temos "4.12.0diocomp1", temos de removê-lo também:
rm -rf NOME_DO_SEU_KERNEL 
No meu exemplo ficou:
rm -rf 4.12.0diocomp1/ 
Repare que diferente de quanto apagamos os arquivos no diretório /boot, aqui usamos um parâmetro para o "rm", o "-rf", ele serve para apagar pastas e arquivos de forma recursiva, se você usar apenas o "rm", o comando não consiguirá apagar a pasta porque ela não está vazia.

Se você der um novo "ls" depois de apagar a sua pasta, você verá que ela não existe mais.

Agora só falta pagar mais um arquivo.

removendo kernel compilado

Comandos:
cd /var/lib/initramfs/
ou
cd /var/lib/initramfs-tools/
Aqui eu tive uma "surpresa", da última vez que eu tinha compilado um kernel o diretório se chamava apenas de "initramfs", mas acabei descobrindo que ele ganhou um sufixo extra "initramfs-tools", não sei dizer quando isso mudou, mas pesquisando eu encontrei referências de 2014/2015, também não sei dizer se isso é uma particularidade do Linux Mint, que eu estou usando neste tutorial, de qualquer forma achei o diretório e você também o achará.

Dentro dele você pode dar mais um "ls" para ver o há por ali, mais uma vez você deve encontrar o seu kernel compilado, basta remover o arquivo como você fez com os arquivos em /boot.
rm NOME_DO_SEU_KERNEL
No meu exemplo:
rm 4.12.0diocomp1 
Depois, precisamos atualizar o GRUB novamente para que ele remova a entrada do kernel compilado, caso contrário ao tentar iniciar o computador por ele você terá uma bela tela de erro.
 update-grub

Como atualizar o grub

Ao fazer a atualização do GRUB, repare que o kernel compilado sumiu das entradas.  Ao reiniciar você pode até olhar no GRUB para conferir que o kernel compilado não existe mais.

grub sem kernel compilado

Se tiver ainda dúvidas, ao chegar na sua área de trabalho consulte novamente via terminal:

uname -r

Como você pode ver, voltamos ao kernel generic.

Finalizando


Este é provavelmente um dos maiores tutoriais que eu já pude escrever aqui no blog e também um dos assuntos mais "complexos" abordados. A maior parte das vezes que vi tutoriais à respeito do assunto eles não eram tão "passo a passo" e raramente ensinavam a remover o kernel compilado, espero que eu tenha conseguido cumprir o meu objetivo de desmistificar um pouco essa questão e mostrar que não é tão complicado quanto a maior parte das pessoas pensa.

Não precisa ser nenhum gênio para compilar um kernel, como você pôde ver, entretanto, a parte diferencial pode ser a otimização para o seu hardware e neste caso você terá de fazer um estudo particular sobre a sua situação e entender o que você pode alterar que poderá te dar algum benefício.

Eu escrevi este artigo com muita dedicação e carinho, porém, ele não está isento de erros, mesmo que eu tenha conferido algumas vezes todo o processo (em mais de uma distro), caso você encontre erros de português, erros no processo da compilação ou tenha sugestões, use os comentários para colaborar e engrandecer o material, certamente será de grande ajuda.

Compartilhe para os seus amigos como forma de pagamento pelo conteúdo e até a próxima! :)

Matamos mais um leão, hein? 😁

_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.




Ubuntu 16.04.2 LTS lançado, veja como instalar as melhorias

Nenhum comentário

sexta-feira, 17 de fevereiro de 2017

A Canonical liberou nesta semana a nova atualização para o Ubuntu 16.04 LTS, recebendo assim a numeração de 16.04.2. Existem algumas observações para serem feitas quanto a sua atualização, especialmente quando se refere ao Kernel, saiba mais:

16.04.2 LTS





Para quem não sabe muito bem como funciona, o Ubuntu tem lançamentos semestrais, ou seja, a cada seis meses sai uma nova versão, sendo que de dois em dois anos saem as versões LTS (Long Term Support). As versões LTS podem ser consideradas as versões estáveis do sistema, enquanto as versões intermediárias são lançamentos onde, normalmente, novas tecnologias são testadas. A versão 17.04, que sai no próximo mês de Abril, é um exemplo disso, nela serão testadas algumas atualizações para o Unity 8, a nova interface gráfica do Ubuntu.

Por conta destes fatores, normalmente as versões LTS são as escolhidas pelos usuários para missões críticas, trabalho, produtividade e relacionados. São elas também que normalmente são utilizadas em servidores, tanto por quem é cliente da Canonical, quanto por quem não é.

Versões LTS recebem atualizações constantes durante um prazo de 5 anos, enquanto as versões non-LTS recebem atualizações por cerca de 8 a 9 meses; mais um motivo para que os usuários que usam o Ubuntu para trabalhar escolham as versões com suporte extenso.

Mas o que significa este suporte (LTS)?


O suporte LTS significa que os usuários receberão atualizações de segurança e de software por um período de 5 anos, entretanto, isso não significa, em termos de software, que as atualizações serão sempre para a última versão disponível e sim para uma próxima versão considerada estável. Até mesmo o Kernel normalmente vai respeitar a versão LTS, recebendo atualizações dentro de sua própria versão.

Você pode contornar isso utilizando repositórios PPA para uma determinada aplicação que você deseja que esteja em uma versão mais recente ou utilizando um pacote Snap para a mesma, existem várias formas de contornar a questão, entretanto, nem todas as aplicações ficarão defasadas com o tempo, por questão de segurança, navegador de internet e aplicações com acesso à rede normalmente estão em suas últiamas versões. Lembre-se a estabilidade vai contra a novidade, dificilmente um software mais recente vai ser tão estável quanto um mais antigo e que teve maior tempo para ser debugado, um ótimo exemplo disso é o Debian Stable.

O que há de novo na versão 16.04.2 LTS?


Conforme o tempo passa, muitas atualizações e correções são feitas. Para evitar que os usuários que baixarem o Ubuntu 16.04 LTS precisem baixar tantas atualizações, a Canonical vai lançando novas compilações da ISO com as atualizações e melhorias já incorporadas, assim nascem essas releases com um terceiro número, como 16.04.1, 16.04.2, etc. É como se fossem os Services Packs do Windows.

Essas atualizações normalmente trazem versões mais recentes de uma série de programas e eventualmente, novos recursos para o sistema em si, mas um grande diferencial é a atualização do Kernel Linux, dando assim mais suporte para novos hardwares e mais desempenho em algumas situações.

As principais novidades do Ubuntu 16.04.2 LTS são a adição do Kernel Linux 4.8.x, Mesa Driver 12, e melhorias intensas no suporte de hardware, além da possibilidade da utilização do Kernel Ubuntu HWE (Hardware Enablement) e de correções de bugs menores.

Como atualizar para o Ubuntu 16.04.2 LTS?


Se você está rodando outro sistema operacional ou outra versão do Ubuntu que não seja a LTS atual (16.04), minha recomendação é formatar e instalar ela do zero, porém, se você já é um usuário do Ubuntu 16.04 LTS, assim como eu, você só precisa atualizar o sistema normalmente e você estará nesta versão.


Use o aplicativo "Atualizador de programas" para atualizar o sistema.

Ou use o terminal:
sudo apt update && sudo apt dist-upgrade

Esse comando não vai mudar a versão do seu Kernel, o Ubuntu vai continuar utilizando o Kernel LTS, ou seja o 4.4.x, que vai receber atualizações de segurança até o fim dos 5 anos de suporte do Ubuntu.

Se você deseja utilizar um Kernel mais recente dentro da LTS, poderá utilizar o Kernel HWE, que acrescenta pacotes novos de drivers de vídeo e de suporte para novos componentes de hardware, é ideal para quem tem computadores muito novos ou equipamentos recém lançados.


Antes de atualizar o Kernel de uma versão para outra, eu recomendo remover os eventuais drivers proprietários que você tenha, especialmente os de vídeo e de wifi, assim você evita conflitos.

Para atualizar para o Ubuntu 16.04.2 LTS com o Kernel HWE você precisa rodar estes comandos:
sudo apt-get install --install-recommends xserver-xorg-hwe-16.04
sudo apt-get upgrade
O primeiro comando direcionada para uma nova versão do X que puxara por dependência o restante dos pacotes.

Este recurso não é experimental, ele vem sendo utilizando desde o Ubuntu 10.10 para trazer suporte extendido para os lançamentos do Ubuntu, fazendo com que mesmo LTS antigas, como o Ubuntu 12.04.5 LTS, que ainda está em atividade (no final dela, inclusive), possam rodar em computadores lançados "mês passado", contudo, uma mudança de Kernel é sempre algo muito sensível, então minha recomendação em linhas gerais é somente atualizar em caso de necessidade, falta de reconhecimento de hardware ou caso você seja entusiasta e principalmente, se você sabe o que está fazendo.

Kernel Update

A diferença dos pacotes de Kernel 


Como isto é algo que considero importante, acho que colocar mais algumas informações à respeito quem podem te ajudar a decidir qual caminho você quer seguir.

O Kernel padrão do Ubuntu chama-se General Availability ou simplesmente GA, os pacotes deste Kernel constumam se manter dentro dos lançamentos do LTS ao qual pertencem, no caso o 4.4, com variações seguindo o seguinte exemplo nomenclatura:
linux-image-4.4.0-21-generic (Kernel Padrão)
ou
linux-image-4.4.0-21-lowlatency (Kernel de baixa latência)
O Kernel HWE tem a seguinte nomenclatura:
linux-headers-generic-hwe-16.04 (Kernel padrão com Hardware Enablement)
ou
 linux-headers-lowlatency-hwe-16.04 (Kernel de baixa latência com Hardware Enablement)
Para mais informações sobre o HWE consulte a Wiki do Ubuntu. 


Alterantivamente, quem deseja manipular versões diferentes do Kernel Linux no Ubuntu de forma gráfica e fácil, pode usar o UKUU (Ubuntu Kernel Update Utility), assim você pode usar a versão do Kernel que bem entender.

Outras variações do Ubuntu também receberam a nova atualização, o procedimento para atualizar é o mesmo em todas e você também pode baixar as ISOs completas através dos links abaixo:

Kubuntu 16.04.2 LTS
Ubuntu GNOME 16.04.2 LTS
Ubuntu MATE 16.04.2 LTS
Xubuntu 16.04.2 LTS
Lubuntu 16.04.2 LTS


Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.




Bug com 5 anos de existência é descoberto no Kernel Linux, atualize seu sistema!

Nenhum comentário

segunda-feira, 12 de dezembro de 2016


Um novo bug no Kernel Linux foi descoberto por um pesquisador chamado Philip Pettersson, ele conseguiu criar um exploit para ganhar o acesso root no Shell do Linux explorando uma falha no código do programa.


Kernel Linux bug




Segundo as informações, este bug existe no Kernel Linux há 5 anos sem que tivesse sido explorado até então, ele afeta praticamente todas as distros Linux, incluindo Ubuntu e Red Hat.

Esta vulnerabilidade do kernel Linux ( CVE-2016-8655 ) que remonta a 2011 foi divulgada nesta semana, ela pode permitir que um usuário local não privilegiado possa acessar como root através da exploração de uma condição da implementação do af_packet no kernel do Linux.

Philip Pettersson, o pesquisador que descobriu a falha, foi capaz de criar um exploit para ter acesso root em um Ubuntu 16.04 LTS (Kernel 4.4), você pode ler o log do bug detalhadamente nesta página.

O Kernel 4.9, que foi lançado recentemente, já está saindo com este bug corrigido, para outras distros que usam versões diferentes, como o próprio Ubuntu com Kernel 4.4 LTS, vale a pena manter o sistema atualizado, pois a Canonical corrigiu o problema através de patches de segurança também.

Independente da distribuição que você use, vale a pena sempre manter o sistema atualizado, assim você evita problemas.

OBS: Curioso que sempre junto com a notícia do bug vem a notícia da correção dele, não é? 

Até a próxima!
_____________________________________________________________________________
Viu algum erro ou gostaria de adicionar alguma sugestão a essa matéria? Colabore, clique aqui.




Confira:
Blog Diolinux © all rights reserved
made with by templateszoo