Configurando um Kernel Compilado
O Linux disponibiliza a chamada de sistema
sysctl para verificação e reconfiguração instantânea de
alguns recursos do kernel, sem a necessidade de recompilar
ou reinicializar o sistema.
Essas configurações podem ser acessadas diretamente no
sistema de arquivos /proc a partir do diretório sys.
As categorias de parâmetros são organizadas por diretório,
por exemplo /proc/sys/vm contém as configurações de memória
virtual, e /proc/sys/fs contém as configurações do sistema
de arquivos. Essas configurações podem ser alteradas,
basta editar o arquivo da categoria. Também é possível
utilizar o utilitário sysctl para ler e alterar essas
configurações. Exemplo:
# sysctl net.ipv4.ip_forward
Isso mostra qual é a configuração atual deste recurso.
Para alterar, utilize:
# sysctl -w net.ipv4.ip_forward=VALOR
Não podemos esquecer que essas configurações são perdidas
quando o computador for reiniciado, portanto elas devem
ser gravadas no arquivo sysctl.conf
que normalmente fica em /etc.
O que são as ctags e etags
Para navegar mais facilmente pelo código fonte do kernel
você pode usar tags.
As tags são um arquivo
index dos arquivos fontes que permite que itens sejam
acessados mais rapidamente e facilmente. Estes itens
são funções, defines, nomes de estruturas, typedefs,
nome de classes etc. A maioria dos editores podem utilizar
tags, como vi, vim, gvim, emacs, NEdit, JED, etc. Podem
ser criadas tags também para a maioria das linguagens:
Assembler, C, C++, Java, Fortran, Lisp, Perl, PHP, Make,
etc. O comando ctags gera
o arquivo de tags no formato que o VI reconhece. O comando
etags gera o arquivo de
tags no formato que o emacs reconhece. Para mais informações:
man ctags ou http://ctags.sourceforge.net.
Voltando ao kernel. Para criar as tags, entre no diretório
do fonte do kernel:
# cd /usr/src/linux
Depois crie o arquivo de tags. Para VI e seus derivados:
# make tags
Para emacs e seus derivados:
# make TAGS
Espere terminar este comando. Um arquivo chamado tags
ou TAGS será criado, dependendo do comando utilizado
neste diretório. Acrescente esta linha ao seu .vimrc:
set tags=/usr/src/linux/tags
Caso use Emacs, use estas linhas no .emacs:
(setq tags-table-list
'("/usr/src/linux"))
Pronto! Para pesquisar, utilize o comando ta:
:ta printk
Você também pode posicionar o cursor em cima da palavra
que você quer pesquisar e usar Ctrl+].
Para voltar use Ctrl+T.
No xemacs use M-. para pesquisar
e M-* para voltar. Agora
é só praticar. Você vai ver como a navegação no código
ficou muito mais fácil e rápida :)
|