16.5.08

Compilando e atualizando o kernel no OpenSUSE


Obs: todos os passos serão feito como administrador (root) e no ambiente KDE.

Abra um console (terminal modo gráfico) onde será feito todo o processo e entre no diretório padrão onde serão descarregados os fontes.

cd /usr/src


Caso caso já tenha feito uma compilação anteriormente ou se no processo de instalação tenha instalado o pacote kernel-source, será necessário remover o link simbólico dos fontes.


rm /usr/src/linux
Agora vamos fazer o download dos fontes do novo kernel, usei o gerenciador de download wget por ser em modo texto, pois é o que precisamos no momento. Para baixar a versão mais recente do kernel acesse http://kernel.org e copie o link da versão mais recente (copiando o link da letra "F"), depois digite wget seguido do link copiado:

wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.12.tar.bz2

OBS: Na época desse tutorial a versão 2.6.23.12 era a mais recente.


Feito o download agora vamos descompactar os fontes no diretório atual:

tar -xjf linux-2.6.23.12.tar.bz2

Agora criar o link simbólico para os fontes:
ln -s linux-2.6.23.12 linux

Entrando no diretório dos fontes:

cd linux

Para não ocorrer nenhum “kernel panic” na hora do boot do seu novo kernel devido algum erro na compilação,
é interessante copiar as configurações do kernel atual, isso fará com que o seu novo kernel esteja “pré configurado" de modo que só será necessário remover ou adicionar recursos caso queira.
Essas configurações serão salvas no arquivo .config no
/usr/src/linux que é a referência para a compilação do novo kernel.

make mrproper
(limpa todas as configurações de uma compilação anterior, caso tenha feito)
cp /boot/config-`uname -r` ./.config (copia as configuração do kernel atual para o arquivo .config)

Obs: o comando uname -r é para descobrir a versão do seu kernel, exemplo:



miranda@linux-home:~> uname -r

2.6.18.2-34-default


No meu caso ficaria assim:

cp /boot/config-2.6.18.2-34-default ./.config


Pronto, agora vamos para a parte que requer mais atenção, será a hora que iremos definir
os módulos que irão compor o novo kernel. Trará melhorias diversas mas senão tiver cuidado você vai ficar parado num “kernel panic” da vida. ;)
Existe 2 meios para isso modo texto e gráfico. Nesse caso escolhi o gráfico.

make xconfig


OBS: Para compilar em modo gráfico é obrigatório a instalação do pacote qt3-devel. Instale-os para prosseguir.



Antes de qualquer alteração, precisamos alterar a versão local do nosso kernel caso contrario irá conflitar com a versão atual. Na sessão General setup , dê um duplo clique na opção Local version e altere o nome da versão local para -default-1, -seunome, -system, vai da sua criatividade.




Na sessão Processor type and features / Processor family você irá dizer para seu novo kernel qual o processador do seu computador. Isso fará com que seu novo kernel trabalhe de forma otimizada sobre a arquitetura do seu processador, ou no reconhecendo de processadores de 2 núcleos. Caso não saiba use a opção 586/K5/5x86/6x86/6x86MX que serve como padrão.

Ainda nessa sessão na opção High Memory Support podemos dizer para o kernel quanto temos
de memoria em nosso PC, se menos de 1 GB a opção off , de 1 ate 4 GB 4GB ou 64GB se tiver mais de 4 GB de RAM. Com isso o seu kernel irá gerenciar melhor a memória do seu PC.




Na sessão Multimedia devices / Video for Linux tem a opção de habilitar suporte a vários modelos de webcam, placas de captura, Radio, DVB e outros.




Na sessão File system / DOS/FAT/NT Filesystems temos a opção de habilitar suporte a escrita em partições NTFS.



Na sessão Wireless LAN podemos habilitar drivers para dispositivos Wireless. Fez grandes avanços nessa área o novo kernel.
Não vou descrever todas as opções, mas é possível habilitar cartões MMC, drivers para dispositivos da Apple,
FireWire, dispositivos de rede USB, etc.

Depois de ter personalizado seu kernel, salve as alterações (Ctrl+S) que serão escritas no arquivo .config
. Agora vamos criar o pacote RPM do nosso kernel, a velocidade desse procedimento depende do poder de processamento do seu PC.

make rpm
Acabado esse processo, foi criado um pacote do novo kernel em /usr/src/packages/RPMS/i386/ entre nesse diretório e instale como de costume.
rpm -ivh kernel-2.6.23.12moranga-1.i386.rpm

Próximo passo é criar o ramdisk para o novo kernel, e linkar o novo kernel ao boot:


mkinitrd
Agora vamos configurar o boot do sistema para podermos reiniciar com o novo kernel. Abra o Yast e escolha a opção Sistema / Carregador de boot /Adicionar / Kernel section.
O Nome da Seção fica ao seu critério, para as opções Kernel image e Initial Ram disk use a opção pesquisar para procurar os arquivo de imagem e ramdisk referentes ao seu novo kernel. Ambos estão no /boot. No Root device e no Vga Mode procure usar as mesmas configurações da seção do kernel que esta ainda ativo, veja meu exemplo:




Salve todas alterações, reinicie o PC, e no GRUB escolha iniciar pelo seu novo kernel.
Se na inicialização ocorreu tudo bem, basta digitar em um console o comando uname -r para ver o resultado.

Algumas imagens estão com versões diferentes do kernel (2.6.23.9 e 2.6.23.12) mas o resultado será o mesmo só mudará a versão segundo a escolhida para download.
Para uma melhor funcionamento do sistema, é aconselhável remover a versão anterior do kernel.