Kernel Linux em Poucas Palavras – Parte 0

Esse é um novo projeto do blog. Como a compilação e o modo como o kernel funciona interessa não só os usuários novatos – e curiosos – como também os mais avançados, essa é uma boa oportunidade para mostrar como a compilação do kernel funciona com mais detalhes. Traduzirei, até onde sou capaz, o guia “Kernel Linux em Poucas Palavras” (Linux Kernel in a Nutshell, Greg Kroah-Hartman) em doses homeopáticas – tanto para os leitores quanto pra mim. Espero que consiga chegar até o final com uma qualidade satisfatória. Farei de cada capítulo uma parte no blog para não ficar muito pesado e modorrento. Vamos ao que interessa.

Kernel Linux em Poucas Palavras – Parte 0 – Prefácio


Quando o assunto desse livro foi me apresentado pela primeira vez, não dei muita atenção como se isso já estivesse abordado pela completa documentação sobre o kernel Linux. Certamente alguém já escreveu sobre as necessidades básicas a fim de compilar, instalar e customizar o kernel Linux, afinal essa me parece uma tarefa simples.
Após garimpar em diferentes HOWTOs e pelo diretório de documentação do kernel Linux, cheguei à conclusão de que não havia um lugar onde toda essa informação pudesse ser encontrada. Poderia ser catada por referência alguns arquivos aqui, outros sites antigos acolá, mas não era aceitável para ninguém que não sabia exatamente o que estava procurando no primeiro momento.
Portanto, esse livro foi criado com o objetivo de consolidar toda a informação existente que está dispersa na Internet sobre como compilar o kernel Linux, assim como adicionar muitas informações  novas e úteis que não foram escritas em nenhum lugar mas foram aprendidas pelo método tentativa/erros ao longo dos meus anos desenvolvendo o kernel.
Meu objetivo secreto com esse livro é trazer mais pessoas para o desenvolvimento do kernel Linux. O ato de compilar um kernel customizado para a sua máquina é uma das tarefas básicas para se tornar um desenvolvedor do kernel Linux. Quanto mais pessoas tentarem e perceberem que não existe mágica por trás de todo o processo do kernel Linux, mais pessoas estarão dispostas a se juntar e ajudar a fazer do kernel o melhor que ele pode ser.

Para Quem Esse Livro é Indicado

Esse livro é destinado a abranger tudo o que for necessário para saber a fim de compilar, customizar e instalar o kernel Linux apropriadamente. Nenhum experiência com programação é necessária para entender e usar esse livro.
Alguma familiaridade com a utilização do Linux e algum conhecimento de linha de comandos é esperado do leitor.
Esse livro não é destinado aos aspectos de programação do kernel Linux; existem vários outros bons livros listados na Bibliografia que já façam desse assunto.

Como o Livro está Organizado

Esse livro está organizado em quatro partes.

Parte I, Compilando o Kernel é constituído do Capítulo 1 ao 6 que abrage tudo o que você precisa saber sobre como obter, compilar, instalar e atualizar o kernel Linux, mais ou menos no estilo passo-a-passo.

Capítulo 1, Introdução
Esse capítulo explica quando e porque você desejará compilar o kernel.

Capítulo 2, Requisitos para Compilar e Utilizar o Kernel
Esse capítulo abrange os diferentes programas e ferramentas que são necessárias para compilar o kernel apropriadamente. Ele também abrange vários outros programas que estão estreitamente ligados ao kernel, como decidir a versão necessária dos programas e onde achá-los.

Capítulo 3, Obtendo o Kernel Linux
Esse capítulo discute como as diferentes versões do kernel se relacionam uma com as outras, onde obter o código fonte do kernel Linux e como baixá-lo da maneira correta.

Capítulo 4, Configurando e Compilando
Esse capítulo explica como configurar e compilar apropriadamente o kernel Linux.

Capítulo 5, Instalando e Inicializando a Partir de um Kernel
Esse capítulo mostra como instalar o kernel que foi compilado apropriadamente e, então, inicializar através desse kernel.

Capítulo 6, Atualizando um Kernel
Esse capitulo explica como atualizar um kernel que foi compilado anteriormente para uma nova versão sem ter que começar do zero.

Parte II, Principais Personalizações é constituído do capítulo 7 e 8, no qual descreve como configurar apropriadamente o kernel baseado no hardware prsente no sistema e fornece várias “receitas” diferentes para configurações comuns.

Catítulo 7, Personalizando um Kernel
Esse capítulo discute como personalizar o kernel para o hardware que está presente no sistema. Além disso, uma variedade de formas para determinar quais opções devem ser selecionadas e alguns scripts simples para ajudar na tarefa.

Capítulo 8, Receitas de Configuração para o Kernel
Esse capítulo explica como configurar o kernel para uma variedade de situações comuns.

Parte III, Referências do Kernel é constituido do capítulo 9 ao 11. Esses capítulos fornecem referências para as diferentes opções de linha de comando do kernel, para as opções de compilação do kernel e seleciona algumas das diferentes opções de configuração do kernel.

Capítulo 9, Referência para Parâmetros em Linha de Comando do Boot do Kernel
Esse capítulo detalhs todas as diferebtes opções em linha de comando que podem ser passadas ao kernel e o que as diferentes opções fazem.

Capítulo 10, Referência de Linha de Comando na Complilação do Kernel
Esse capítulo descreve as diferentes opções em linha de comando que estão disponíveis quando compilar o kernel e como usá-las.

Capítulo 11, Referência de Opções de Configuração do Kernel
Esse capítulo foca em algumas das mais populares e impotantes opções de configuração do kernel.

Parte IV, Informação Adicional

Apêndice A, Ferramentas Úteis
Esse capítulo introduz várias ferramentas muito boas e úteis que todos que desejam acompanhar a última versão do kernel Linux deveriam usar.

Apêndice B, Bibliografia
Esse capítulo fornece uma lista de referências úteis que você pode usar para localizar mais informações sobre compilar o seu kernel Linux.

Versão Online e Licença

Esse livro está disponível livremente sob a licença Creative Commons “Attribution- ShareAlike”, Versão 2.5. Essa licença pode ser vista em sua totalidade em http:// reativecommons.org/licenses/by-sa/2.5/. O livro completo também está disponível online em http://www.kroah.com/lkn.

Convenções Usadas Nesse Livro

Esse livro utiliza as seguintes convenções tipográficas:

Itálico – Indica programas, ferramentas, comandos e opções de comandos, pacotes de distribuição, arquivos, diretórios, nome de usuários, hostnames. Também indica nomenclatura que não usamos anteriormente e palavras enfatizadas.

Largura Constante – Indica valores usados para a configuração do kernel, também para alguns termos especiais como nomes de dispositivos. Também é usado para mostrar o resultado de comandos e o conteúdo de arquivos de texto e de programas.

Largura Constante em Negrito – Usada em exemplos para indicar comandos ou outro texto que deverá ser digitado literalmente pelo usuário.

Largura Constante em Itálico – Indica texto que você deverá substituir com os seus próprios valores; por exemplo, o seu próprio nome de usuário e senha. Quando isso aparecer como parte do texto que você deverá digitar, isso é mostrado como Largura Constante em Negrito Itálico.

#, $ - Usado em alguns exemplos como shell de prompt root (#) ou como prompt de usuário ($) sob o shell bash ou Bourne.


   - Indica uma dica, sugestão ou nota em geral.

 - Indica um aviso ou cuidado.

Usando Shell Scripts

Esse livro está aqui para ajudar você a fazer o seu trabalho. Em geral, você pode usar os shell scripts desse livro nos seus próprios scripts e documentação. Você não precisa nos comunicar para parmissão. Os principais scripts podem ser baixados do website do livro na O'Reilly Media,  http://www.oreilly.com/catalog/9780596100797. Nós agradecemos, não não exigimos, atribuição. Uma atribuição nortmalmente inclui título, autor, publicador e ISBN. Por exemplo: “Linux Kernel in a Nutshell by  Greg Kroah-Hartman. Copyright 2007 O’Reilly Media, Inc., 978-0-596-10079-7.”. Se você acha que o seu código não se encaixa no uso ou permissão acima, sinta-se à vontade em nos comunicar em:

permissions@oreilly.com.

Como Nos Contactar

Nós testamos e verificamos todas as informações contidas nesse livro ao máximo das nossas habilidades, mas você pode achar que funções mudaram (ou até mesmo que nós cometemos erros!). Por favor nos informe sobre qualquer erro que você encontrar, e sugestões para futuras edições, escrevendo para:

     O’Reilly Media, Inc.
     1005 Gravenstein Highway North
     Sebastopol, CA 95472
     800-998-9938 (nos Estados Unidoso ou Canadá)
     707-829-0515 (internacional/local)
     707-829-0104 (fax) 

Você também pode nos enviar mensagens eletrônicas. Para ser incluído em listas de email ou requisitar um catálogo, envie um email para:

info@oreilly.com

Para perguntar sobre questões técnicas ou comentar sobre o livro, envie um email para:

bookquestions@oreilly.com

Nós temos um site para o livro, onde listaremos exemplos, erratas e qualquer plano para futuras edições. Você pode acessar esse página em:

http://www.oreilly.com/catalog/9780596100797

Agradecimentos

Primeiramente, agradeço à minha maravilhosa esposa Shannon e meus lindos filhos Madeline e Griffin por sua compreenção e paciência enquanto trabalhei nesse livro. Sem seus incentivos e suporte, esse livro jamais estaria completo. Agradecimentos especiais à Shannon por me introduzir ao desenvolvimento do kernel Linux em primeiro lugar. Sem os esforços dela, eu ainda estaria fazendo algum trabalho estranho de programação ambarcada e jamais teria descoberto essa maravilhosa comunidade na qual estou trabalhando.

Meu editor, Andy Oram, por ser a força motriz por trás desse livro, transformando o livro em algo que seja, ao mesmo tempo, de leitura agradável e informativo. Suas habilidades de edição e paciência enquanto os prazos voavam foram determinantes na criação e finalização desse livro.

Também um grande obrigado vai para o editor original desse livro, David Brickner, por me dar a chance de trabalhar nesse projeto e acreditar que eu poderia completá-lo, apesar da primeira versão ter cerca de 1.000 páginas.

Os revisores técnicos desse livro foram maravilhosos, corrigindo os vários erros e indicando as omissões que precisavam ser preenchidas. Os revisores foram (em ordem alfabética)hristian Benvenuti, Christian Morgner,  Golden G. Richard III, Jean Delvare, Jerry Cooperstein, Michael Boerner, Rik van  Riel, and Robert Day. Qualquer problema pendente é devido à mim e não às excelentes habilidades deles.

Um agradecimento especial a Randy Dunlap por verificar os parâmetros de boot do kernel com um pente fino e apontar problemas naquele capítulo. Também para Kay Sievers, que me ajudou imensamente com todo o capítulo sobre a customização do kernel e que fornecer o script no final desse mesmo capítulo. Sem sua ajuda e conhecimento, aquele capítulo jamais seria possível.

E um último agradecimento especial para a minha professora de inglês da 6ª série, Sra. Gruber, por me ensinar que escrever era algo que era possível fazer e por me mostrar o prazer ao fazê-lo. Sem esse início, nada disso seria possível.

*---*---*---*---*---*---*---*---*---*---*

Aguarde os próximos capítulos..

 
Powered by FeedBurner Creative Commons License
Esta obra está licenciada sob uma Licença Creative Commons.