sexta-feira, 25 de fevereiro de 2011

Aplicar um DSDT modificado e recompilar o KERNEL no Debian 6.0 (Squeeze)

Encontrando uma parte aqui, outra ali... um erro aqui, outro ali... enfim, consegui
juntar informações de duas ou três documentações encontradas no Google e compilar
o kernel.

Meu interesse nessa compilação é aplicar o DSDT corrigido para o meu netbook (Clique aqui para aprender como criar um novo DSDT) que, em outras versões do Debian, era bastante simples - bastava copiar o novo DSDT.aml para o diretorio /etc/initramfs-tools/ e gerar um novo initramfs pelo comando update-initramfs -c -u -k all mas a equipe de desenvolvedores do Debian resolveu desativar essa facilidade por questões de segurança.

Já falei demais, vamos aprender a compilar o kernel

Obs: Provavelmente existem outros métodos para isso mas só testei esse e deu certo. Todos os comandos abaixo devem ser executados como root.

Passo 1 - Instale as dependências e a fonte (source) do kernel:
apt-get install kernel-package fakeroot build-essential devscripts
apt-get build-dep linux-2.6
apt-get source linux-2.6



Passo 2 - Copie o arquivo /boot/config-2.6.32-5-686 para a pasta onde foi extraida a fonte (source) do kernel - provavelmente /root/linux-2.6-2.6.32 - com o nome ".config" através do comando abaixo:
cp /boot/config-2.6.32-5-686 /root/linux-2.6-2.6.32/.config


Passo 3 - Va para a pasta com a fonte (source) do kernel citada acima e edite o arquivo 
.config
cd /root/linux-2.6-2.6.32
nano -w .config

Procure pela linha comentada
# CONFIG_ACPI_CUSTOM_DSDT not set yet.

Substitua pelas linhas abaixo
CONFIG_ACPI_CUSTOM_DSDT=yCONFIG_ACPI_CUSTOM_DSDT_FILE="/caminho/do/arquivo/dsdt.hex"

No meu caso o arquivo estava em /root/dsdt.hex

Salve a alteração e feche o editor de texto


Passo 4 - Edite o changelog com o comando dch --local +dsdt - será aberto o editor
de texto padrão (no meu caso o nano). Apenas salve e feche o editor.


Passo 5 - Execute o comando para compilar o kernel
Dentro da pasta com a fonte (source) do kernel execute o comando abaixo:
make-kpkg --append-to-version "-sufixo" --revision "revisao" --us --uc --initrd kernel_image kernel_headers

no meu caso:
make-kpkg --append-to-version "-dsdt" --revision "1" --us --uc --initrd kernel_image kernel_headers


Passo 6 - Após uma longa espera (dependendo da configuração de seu computador), volte ao diretorio do root e instale os dois pacotes .deb que foram gerados. No meu caso o linux-headers-2.6.32-dsdt_1_i386.deb e o linux-image-2.6.32-dsdt_1_i386.deb. Para instala-los utilize o comando dpkg -i linux*.deb


Passo 7 - Para finalizar execute o comando update-initramfs -c -u -k all e reinicie o PC. Lembre-se de escolher o novo kernel na tela do grub.


Fontes:
Share:

0 comments:

Postar um comentário