O site da communidade Linux kernel newbies em português.

Pra que servem as várias árvores do kernel?

Árvores normalmente são coleções de patches que geralmente são focadas em atender uma necessidade ou interesse particular. Elas ajudam o processo de desenvolvimento do kernel provendo 'lugares' para que trabalhos sejam desenvolvidos, e eventualmente seja promovido de árvore para árvore, caminhando para uma eventual inclusão na linha principal.

2.6.X e 2.6.X-rcY

Como a get_current() funciona?

  1. static inline struct task_struct * get_current(void)
  2. {
  3. struct task_struct *current;
  4. __asm__("andl %%esp,%0; ":"=r" (current) : "0" (~8191UL));
  5. return current;
  6. }

get_current() é uma rotina para conceder acesso para a estrutura task_struct da tarefa que está atualmente em execução.

Ele usa frequentemente assembly inline características do GCC, para realizar esta tarefa, conforme a seguir:

  1. __asm__(

Entrevista com Eduardo Habkost

A comunidade kernelnewbies-br volta a suas atividades e com grande prazer realizando uma série de entrevistas com kernel hackers brasileiros, envolvidos com projetos interessantes e que tem muito a nos ensinar. Nesta primeira entrevista com Eduardo Habkost pudemos falar um pouco sobre virtualização, KVM, detalhes e desafios no desenvolvimento de uma plataforma de virtualização.

Usando o quilt

O quilt é uma ferramenta para gerenciamento de pilhas de patches; é muito usado por desenvolvedores do kernel para manter e gerar patches para serem enviados.

Tem as seguintes vantagens:

  • Fácil de usar
  • Curva de aprendizado suave
  • Feito com os procedimentos e formatos usados no desenvolvimento do Kernel em mente

Git e o Kernel Linux

Git é um sistema de controle de versões focado em velocidade, escalabilidade e usabilidade para projetos grandes. Além disto, o git oferece um conjunto de pequenos comandos que facilitam o gerenciamento do projeto. Escrito em C e desenvolvido pessoalmente por Linus Torvalds.

Para instalar o aplicativo você pode baixar os fontes neste link, e seguir os passos do arquivo INSTALL que acompanha o software.

Baixando a árvore do Kernel Linux

 

Ferramentas de Trabalho no Kernel

Ao trabalhar com uma base de código fonte tão grande quanto o kernel, certamente é de grande valia ter ferramentas que ajudem a entender como as peças se encaixam. Essa página tem como objetivo fornecer indicações para as ferramentas mais comumente utilizadas para tornar as suas primeiras incursões nas terras do kernel tão produtivas quanto possível.

Editando os Arquivos Fonte do Kernel

Estilo de código do Kernel / Kernel Coding Style

(Nota do Tradutor: Este documento é pra ser uma tradução do Documents/CodingStyle do kernel, mas com várias adaptações e inclusões)

Coding Style do Kernel Linux

Este é um documento curto descrevendo o Coding Style preferido (n.t. praticamente obrigatório) do Kernel Linux. Coding Style é muito pessoal e eu (n.t. não eu, o autor original) não vou forçar minhas opiniões em ninguém, mas isso vale para tudo que eu tiver que manter, e eu prefiro para várias outras coisas também. Por favor considere os pontos apresentados aqui.

Guia rápido para o GIT

Este documento é um pequeno guia introdutório para operações básicas usando o GIT. A maioria das características são apresentadas em comparação com sistemas de controle de versão não distribuídos populares como o CVS e o Subversion.

Mercurial

Autor: Matt Mackall
Página: http://www.selenic.com/mercurial/
Licença: GPLv2
Plataformas suportadas: Linux, *BSD, Mac OS, Solaris, Windows

Mercurial é um sistema para gerenciamento de versões distribuído utilizado por alguns subsistemas do kernel e projetos opensource.

Todos os comandos começam com hg, uma referência ao elemento químico mercúrio

Instalação:

Fedora:

Estratégias para suas alterações entrarem no kernel do Linux

Existe uma série de coisas que é preciso ter em mente quando estamos enviando alterações ao kernel. A principal coisa a se lembrar é que não importa o quanto ocupado você esteja, Andrew Morton e Linus Torvalds recebem modificações vindas de todo mundo, todo tempo, o que significa que eles estão bem mais ocupados que você.

As estratégias aqui descritas para suas alterações entrarem no kernel tendem a tornar as coisas muito mais fáceis pra os matenedores, o que significa que o seu código poderá entrar no kernel mais facilmente.

Conteúdo sindicalizado