Como compilar seu próprio kernel linux

Junto com instalando o Gentoo, compilar seu próprio kernel Linux é uma daquelas coisas que é considerado muito geeky e técnica. Nós já coberto algumas razões por que você pode querer fazer isso. Antes de levá-lo através dos passos, aqui está uma breve visão geral sobre alguns conceitos importantes.

Gentoo: uma distribuição Linux onde você compilar seu próprio software otimizadoGentoo: uma distribuição Linux onde você compilar seu próprio software otimizadoO grande número de maneiras diferentes em que o Linux pode ser executado é surpreendente, já que há uma abundância de opções para ir ao redor. Enquanto há uma abundância de distribuições que dependem tanto o .deb ...consulte Mais informação

O que é um Kernel?

Em suma, é uma parte vital de seu sistema operacional, se não o mais importante. Um sistema operacional é responsável por deixar a sua função de programas, permitindo-lhes o acesso ao seu hardware. No entanto, é o núcleo que realmente carrega todos estes trabalhos fora.

O kernel Linux é especial na medida em que pode ser feito sob medida para caber o hardware que você possui. Compare isso com o kernel do Windows NT, que será geralmente o mesmo em todos os computadores. Para fazer isso, o kernel deve passar por um processo chamado de compilação.

O que está compilando?

Geralmente, os programas são escritos em um formato legível. Isto torna mais fácil para as pessoas a criar software. Por exemplo, o kernel do Linux é escrito principalmente em uma linguagem de programação chamada C. No entanto, os computadores não podem entender isso. Eles só reconhecem uma linguagem complicada chamada Código da máquina. Para isso, as linhas de texto precisa ser traduzidos usando um pedaço especial de software chamado de compilador.Como compilar & Instale TAR GZ & TAR arquivos BZ2 em Ubuntu LinuxComo compilar & Instale TAR GZ & TAR arquivos BZ2 em Ubuntu Linuxconsulte Mais informação

Video: How To Compile a Kernel on Debian Linux

compiladores diferentes são usados ​​para converter diferentes linguagens de programação. Por exemplo, GCC é um compilador que traduz o código C em código de máquina (entre outros). Mas isso não é tudo o que fazem - compiladores também pode otimizar o código traduzido para máquinas específicas. Junto com isso, eles também podem remover características indesejadas de programas, enquanto fazê-lo.

Normalmente, este processo já é feito para os lotes de software. Em vez disso, as pessoas baixar o convertido binário instruções, que trabalham fora da caixa. Por exemplo, a navegador web você está correndo agora já está compilado. Isso ocorre porque a compilação de algo pode ser um complicado e demorado pouco. Pense nisso como traduzir um grande livro em uma língua estrangeira.

Em suma, compilar o kernel significa converter seu código em algo que vai realmente executar no seu computador.

Obtenção de Kernel Fontes

Você não pode fazer um fogo sem combustível. Da mesma forma, você não pode compilar programas se você não tiver o código para ele em primeiro lugar. O método é geralmente o mesmo para a maioria dos sistemas operacionais Linux com algumas exceções. Muitos deles fornecer suas próprias fontes do kernel personalizado. Você deve tentar e usar isso se você puder. Por exemplo, se você estiver usando um sistema operacional baseado no Debian como o Ubuntu, você deve instalar as fontes utilizando os seguintes comandos:

sudo apt-get atualizarsudo apt-get instalar linux-source

Você também pode instalar diferentes versões deste pacote (por exemplo, linux-source-4.8.0) se você gostar. Você vai encontrar os arquivos instalados no / Usr / src / diretório, então navegar até lá, e ver o conteúdo:

CD / Usr / src /ls

Você verá um arquivo que termina com .tar.bz2. Esta é a fonte que você vai usar. Extraí-lo com este comando:

sudo alcatrão xjvf linux-source-4.4.0.tar.bz2

Certifique-se de substituir o arquivo com o nome correto, é claro. O arquivo será muito grande, então o processo vai demorar um pouco!

Método alternativo

Se você gosta, você pode obter suas fontes do site oficial do Linux Kernel. Eu recomendo este apenas se o seu sistema operacional Linux não fornecê-los. Selecione a versão desejada e descarregue distância. Se você percorrer esse caminho, você deve transferi-lo para uma pasta vazia. Dessa forma, se você quiser compilar mais kernels no futuro, você terá uma boa pasta para mantê-los organizados em.

Tendo feito isso, extraia o arquivo com este comando:

alcatrão xJvf linux-4.9.11.tar.xz

Certifique-se de que você está usando o nome do arquivo que corresponde à versão que você baixou!

Personalize o Kernel

Este é o passo onde você pode escolher o que partes do kernel que você quer se livrar. Por exemplo, os navios de kernel com um monte de diferentes controladores para uma variedade de dispositivos. Se você não precisa que o apoio, se livrar deles pode render alguns benefícios de velocidade, juntamente com um kernel menores.

Pré-requisitos

Antes de prosseguir, você deve instalar alguns programas que permitem personalizar e compilá-lo.

Em sistemas baseados em Debian, você precisa do build-essential pacote, entre outros:

sudo apt-get instalar build-essential gcc libncurses5-dev libssl-dev

o libncurses5-dev pacote irá torná-lo mais fácil de configurar o kernel, por isso certifique-se de instalá-lo. Outros sistemas operacionais Linux terá um programa semelhante, mas isso pode estar sob um nome diferente. Por exemplo, se você estiver usando Fedora, é chamado ncurses.5 razões para usar Pure Open Source Distro, Fedora5 razões para usar Pure Open Source Distro, FedoraFedora não é tão conhecido como Ubuntu, e tem uma reputação de ser difícil de usar. Mas se isso é verdade, por que tantas pessoas continuam usando o Fedora?consulte Mais informação

Se ainda não estiver instalado, você também vai precisar do GNU Compiler Collection (GCC). Esta é a ferramenta responsável por traduzir o código fonte raw em algo compreensível para computadores. Ou seja, a compilação.

Tendo instalado estes programas, abra seu terminal para que você esteja dentro a pasta de origem Linux extraído. Por exemplo, se você usou o linux-source método, você faria isso:

CD /usr/src/linux-source-4.4.0

Arquivo de configuração do kernel

Antes de compilar o kernel, você precisa dizer a GCC como você deseja que seja feito. Você pode fazer isso usando uma ferramenta de linha de comando chamada faço. Digite este comando:

sudo faço localmodconfig

Isso cria um arquivo chamado .configuração, que diz GCC que compilar a partir dos fontes do kernel. o fazer localmodconfig comando detecta atualmente em execução componentes de kernel, e marca-los para compilação. Se o kernel é dentro de uma pasta que você possui, você não vai precisar sudo para que ele funcione.



Você pode se deparar com algumas mensagens, como a mostrada abaixo. Basta pressionar o Entrar chave para ignorá-los - eles são geralmente apenas novos recursos do kernel.

No entanto, localmodconfig não é perfeito! Se você não está usando atualmente algumas partes do seu computador, ele pode não detectar todas as coisas que ele suporta. Como tal, você precisa ativá-los manualmente. Alternativamente, você pode pular esta etapa inteira e usar o próximo comando em seu lugar. Isto irá compilar o novo kernel com as mesmas opções que o que você está usando atualmente.

Se você preferir isso, mas usou o comando localmodconifg antes, faça o seguinte:

sudo faço limpar limpo

Isto lhe dará uma compilação limpa. Você também deve usar este comando se você compilou um kernel com essas fontes antes.

Além disso Configuração

Dentro da pasta fonte do kernel, há um arquivo chamado .configuração. Isto é o que GCC vai usar para escolher o que para compilar. Em vez de editar manualmente (não recomendado), você vai passar a usar algumas ferramentas do terminal. Isso fará com que a seleção de opções de compilação muito mais fácil.

Tendo feito esta música, bem-lo ainda mais:

sudo faço nconfig

Você verá um colorido menu pop up. Este é o menu de configuração do kernel. Para navegar, use as teclas de seta. Você pode pressionar o certo tecla de seta para expandir as entradas com um -gt; assinar ao lado deles. Navegar para fora destes submenus, premindo o esquerda tecla de seta.

Você pode alternar entradas de menu que têm a lt; gt; ou [] assinar ao lado deles, pressionando a barra de espaço. Este irá percorrer as diferentes opções de menu. Se você ver um * ou M dentro, esse componente do kernel específico será compilado. A única diferença entre eles é que o M opção será carregado quando é necessário. Isso pode ser útil se você está compilando um motorista por exemplo, que não será usada muitas vezes.

Se você quiser saber mais sobre o que um switch específico faz, pressione F2 acima dele. Você verá uma descrição útil do que você está compilando.

Quando estiver tudo pronto, pressione o F9 botão para salvar e sair.

Video: Como compilar e instalar o Kernel Linux 3.18 no ubuntu, Debian e linux Mint

Compilando & Instalando o Kernel

Agora que você já criou um arquivo de costume fazer, você precisa compilar o kernel. Digite este comando:Como compilar & Instale TAR GZ & TAR arquivos BZ2 em Ubuntu LinuxComo compilar & Instale TAR GZ & TAR arquivos BZ2 em Ubuntu Linuxconsulte Mais informação

sudo faço -j$ (nproc --all)

Você irá não precisa de sudo se você baixou os fontes do kernel fora da web. A segunda parte do comando ajuda a acelerar o tempo de compilação do kernel, tirando proveito de todas as suas núcleos de CPU. Você pode se livrar deste, ou alterar o número para outra coisa (por exemplo, -j2), Se você quiser usar seu computador para outras tarefas sem muitos soluços. No entanto, isso também fará com que a compilação mais lento!

Este processo pode e vai levar um tempo muito longo. A menos que você escolheu para compilar, menor será. Mesmo assim, você provavelmente vai precisar ser paciente.

Em seguida, digite este comando para terminar compilar o resto do kernel:

sudo faço modules_install

Para usar realmente este kernel, você terá que digitar o seguinte comando:

sudo faço instalar

Isso irá copiar automaticamente o kernel para o seu / boot pasta e gerar os arquivos apropriados para fazê-lo funcionar.

Alternando Kernels Usando GRUB

Se você reinicializar após instalar o seu novo kernel, o sistema pode não funcionar! Isto é geralmente devido a um núcleo indevidamente compilado (ou seja, não apoiar o seu computador bem o suficiente). O caso em questão, o meu próprio computador portátil. Apenas no caso de isso acontecer, eu recomendo edição GRUB para que ele possa voltar para kernels mais antigos. Para fazer isso, use este comando:Como personalizar o GRUB Boot Loader Usando BURG [Ubuntu]Como personalizar o GRUB Boot Loader Usando BURG [Ubuntu]consulte Mais informação

sudo nano / Etc / default / grub

Coloque um sinal # na frente do GRUB_HIDDEN_TIMEOUT e GRUB_HIDDEN_TIMEOUT_QUIET linhas. Em seguida, salvar essas alterações executando este comando:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Video: Compiling the Linux Kernel

Agora, se você reiniciar seu computador, você vai ser capaz de mudar para um kernel antigo se o seu novo não funciona. Basta ir ao Opções avançadas item de menu e selecione o kernel que deseja arrancar. Se tudo correr bem, parabéns! Você estará usando o kernel que você compilado por si mesmo.

Você está interessado em compilar mais kernels? Outros programas? Você acha que vale a pena?


Artigos relacionados