Mude seu Kernel para o mais recente e estável 2.6.23

Iniciado por ucastrobr, 17 de Novembro de 2007, 15:53

tópico anterior - próximo tópico

ucastrobr

Você vê muitos lugares a compilação do kernel ou blogs na web. What makes this one any more special? O que torna este um todo mais especial?
Eu quis criar um tutorial que poderia dar algo de volta para a comunidade Linux como um todo, eu queria ajudar as pessoas a manter com Linux sem passar pelo dores de inicialização e desempenho lento. É ótimo para iniciantes para utilização, uma vez que todos eles têm de fazer é copiar e colar!  Um tutorial para otimizar o kernel que você está compilando pode ser encontrada aqui.
Texto Verde é recomendável, mas não obrigatório.
Texto laranja é instrução.
Texto vermelho é importante.

1. Instale os utilitários necessários para configurar o kernel
Código:
sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev wget libncurses5 libncurses5-dev

Pode ser que peça o cd-live de instalação, se pedir é só colocar e clicar em enter.

2. Mover para a configuração diretório
Código:
cd /usr/src

3. Transforme-se em root
Código:
sudo -s

4. Agora vamos fazer o download do kernel e descompactá-lo
Código:
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 && tar -xvjf linux-2.6.23.tar.bz2

5. Remover o link para o diretório Linux, faça um novo link para o novo kernel, e mude para o diretório Linux:
Código:
rm -rf linux && ln -s /usr/src/linux-2.6.23 linux && cd /usr/src/linux

NOTA: SE VOCÊ QUISER TER UM PATCH DO KERNEL PARA UM PROGRAMA (ex.: fbsplash, bootsplash)  Se não, avançar para o próximo passo.

6. Agora transferir as mais recentes do kernel do patch  (NÃO seguir esta etapa se você está usando um patch diferente)
Código:
wget http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.23.1.bz2

7. Agora aplicar o patch novo  (NÃO seguir esta etapa se você está usando um patch diferente)
Código:
bzcat patch-2.6.23.1.bz2| patch -p1

8. Agora importar as atuais configurações de seu kernel para o novo:
Código:
cp /boot/config-`uname -r` .config && make oldconfig

9. Configurar o Kernel:
Nota: A menos que você use Ubuntu Gutsy , você deve ativar seu drive de wirelles no kernel. A maneira mais fácil de fazer isso é pesquisar pelo Ctrl + F seu nome do módulo de dispositivo wirelles.
Segunda Nota: se você usa SATA deverá ativar o driver dele agora porque ele não vem por padrão e senão ativar dará uma mensagem chata depois que reiniciar o computador no final:
Begin: Waiting for root file system... e não sai disso.

Código:
make xconfig


Ou de um terminal:
Código:
make menuconfig

10. Finalmente, chegou o momento de construir o kernel: Certifique - se de que você está em / usr / src / linux com o pleno acesso root. Isto irá criar um arquivo Debian que você pode instalar.
Agora no terminal fazer isso:
Código:
make-kpkg clean

Então isto:
Código:
make-kpkg --initrd --revision=386 kernel_image kernel_headers modules_image

Nota: Você pode substituir "386", com o que você quiser. Like "k7" or "686." Like "k7" ou "686". O kernel irá compilar agora durante de 1-3 horas, dependendo da velocidade do seu processador. Se você tiver um processador muito lento, você pode ter que esperar 4 ou mais horas à espera que o kernel para compilar. Entretanto, pode assistir um filme ou fazer outra coisa durante a sua elaboração.

Nota : As vezes você achará que seu terminal está parado em um comando durante a compilação, mas não é, nem pense em fechar o terminal.

11. Instale o. Deb em / usr / src. Deve haver 2. Uma imagem deve ser um arquivo. Deb e aos outros um cabeçalho. No terminal fazer:
Código:
cd .. && dpkg -i linux*2.6.23*.deb

Nota : As vezes você achará que seu terminal está parado em um comando durante a compilação, mas não é, nem pense em fechar o terminal.

IMPORTANTE: se você tiver uma placa gráfica NVIDIA, você terá que reinstalar os controladores para o mesmo. Poderá ir em Sistema->Gerenciador de drivers restritos-> e clicar na caixinha para desabitá-lo.

12.Agora reinicie e você terá um sistema mais rápido!

O grub já será atualizado automáticamente.

Fonte de matéria:http://ubuntuforums.org/showthread.php?t=311158

No site acima se alguém entender um pouco de inglês dá para ver várias dúvidas para resolução de problemas.

SCREENSHOT VEJA :

Spock – "After a time, you may find that having is not so pleasing a thing, after all, as wanting. It is not logical, but it is often true."
("Depois um de tempo você vai perceber que ter algo pode não ser tão prazeroso quanto deseja-lo. Isto não é lógico, mas frequentemente é verdade.")

ucastrobr

#1
Quando fui habilitar a minha nvidia pelo Sistema->Administração->Gerenciador de drives restrito
Não abria o "dito cujo" dizia que faltava a linux-restricted-module-2.6.23.1
Bom daí se tiverem o mesmo problema eu tenho a solução:
1. Instalar o "um editor" que usaremos quando o sistema gráfico deixar de existir e ficarmos no escuro:
Código:
sudo apt-get install mc

2.Remover os pacotes antigos do driver nvidia:
Código:
sudo rm /etc/init.d/ nvidia-*

sudo apt-get --purge remove nvidia-glx nvidia-settings nvidia-kernel-common

sudo dpkg-reconfigure xserver-xorg
Nota este último vá alterando remova o nv escolha vesa e vá escolhendo uma tonelada de opções teclado, monitor, etc..não fique com receio.

3. Baixem o instalador dos drivers da Nvidia no site da mesma, de acordo com sua placa, fx, 6000,8000...:
Acesse o site:
http://www.nvidia.com/content/drivers/drivers.asp
Nota:Verifique onde o pacote será salvo, exemplo no /home/seuusuário ou /home/seuusuário/Desktop ...

OBS: A PARTIR DE AGORA IMPRIMAM OU ANOTEM OS PASSOS SEGUINTES, VISTO QUE, PERDEREMOS A PARTE GRÁFICA E FICAREMOS SÓ EM MODO TERMINAL SÓ NO BREU (ESCURO) SEM FRESCURAS.

4. Vamos reiniciar o Gdm e entrar num console:
Código:
sudo /etc/init.d/gdm stop

5. Pressione CTRL+ALT+F1, logue como usuário comum, tipo na primeira linha digite o nome de seu usuário e na segunda a senha.


6. Entre no diretório onde foi salvo o arquivo instalador da Nvidia. Lembrou que mandei guardar o caminho.
No meu caso  como exemplo o pacote foi salvo no Desktop. Então digitei:
cd /home/meuusuário/Desktop

Se tiver salvado na Pasta Pessoal:
cd /home/seuusuário

7. Para enxergar o arquivo nvidia e seu nome digite:
Código:
ls

8. Vamos torná-lo executável:
Código:
sudo chmod +x [b]nome_do_driver.run[/b]
Uma dica é quando for digitar a primeira letra do drive tem que ser exata tipo se é maiúscula ou minúscula e depois de digitar a primeira letra basta clicar na tecla tab que ele completará o nome do driver.
No meu caso ficou assim:
sudo chmod +x Nvidia-Linux-x86-1.0-9755-pkg1.run (só um exemplo)

9. Agora vamos instalá-lo:
Código:
sudo sh ./nome_do_driver.run

No meu caso ficou assim:
sudo sh ./Nvidia-Linux-x86-1.0-9755-pkg1.run (só um exemplo)

IMPORTANTE: Demora um pouquinho instalação do driver, em todas as perguntas responda "sim", menos na que ele diz que não tem kernel compilado no sistema e quer acessar o site Nvidia para baixar um é fácil saber porque é a única janela que aparece uma url com endereço de internet nesse clique em "não".

10. Vamos editar o arquivo "linux-restricted-modules-common" para isso iremos usar o "mc" que instalamos:

sudo mcedit /etc/default/linux-restricted-modules-common

11. Na última linha do arquivo troquem DISABLED_MODULES="" por DISABLED_MODULES="nv" para navegar no mc basta ir com o cursor. Para salvar a alteração use o F2 e grave depois o F10 e saia do editor.

12. Reiniciando o sistema:
Código:
sudo /etc/init.d/gdm start

13.Se tudo der certo ele ficará com a aparência normal que você está acostumado.


Fonte de matéria: SUPER WOLWERINE

Para remover o Kernel anterior
Abra o terminal:
sudo nautilus
Clique em "Sistema de Arquivos" e navegue até a pasta "boot".
Antes de fazer alterações se quiser copiar a pasta boot para o Desktop só para ter como backup se der algum problema.
Feito isso,remova dentro da pasta "boot" os seguintes arquivos:
abi-2.6.22-14-generic
config-2.6.22-14-generic
initrd.img-2.6.22-14-generic
initrd.img-2.6.22-14-generic.bak
System.map-2.6.22-14-generic
vmlinuz-2.6.22-14-generic

Entre na pasta "grub" e altere o arquivo menu.lst somente a área em vermelho remova:
title      Ubuntu 7.10, kernel 2.6.23.1
root      (hd0,1)
kernel      /boot/vmlinuz-2.6.23.1 root=UUID=43b28e48-033f-4918-a996-d6892f8d4084 ro quiet splash
initrd      /boot/initrd.img-2.6.23.1
quiet

title      Ubuntu 7.10, kernel 2.6.23.1 (recovery mode)
root      (hd0,1)
kernel      /boot/vmlinuz-2.6.23.1 root=UUID=43b28e48-033f-4918-a996-d6892f8d4084 ro single
initrd      /boot/initrd.img-2.6.23.1

title      Ubuntu 7.10, kernel 2.6.22-14-generic
root      (hd0,1)
kernel      /boot/vmlinuz-2.6.22-14-generic root=UUID=43b28e48-033f-4918-a996-d6892f8d4084 ro quiet splash
initrd      /boot/initrd.img-2.6.22-14-generic
quiet

title      Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
root      (hd0,1)
kernel      /boot/vmlinuz-2.6.22-14-generic root=UUID=43b28e48-033f-4918-a996-d6892f8d4084 ro single
initrd      /boot/initrd.img-2.6.22-14-generic


title      Ubuntu 7.10, memtest86+
root      (hd0,1)
kernel      /boot/memtest86+.bin
quiet

Agora pelo synapitc remova os seguintes pacotes:
linux-headers-2.6.22-14
linux-headers-generic
linux-image-2.6.22-14-generic
linux-image-generic
linux-ubuntu-modules-2.6.22-14-generic

Pronto reinicie, com isso elimina as sobras do kernel anterior.
Spock – "After a time, you may find that having is not so pleasing a thing, after all, as wanting. It is not logical, but it is often true."
("Depois um de tempo você vai perceber que ter algo pode não ser tão prazeroso quanto deseja-lo. Isto não é lógico, mas frequentemente é verdade.")

tfmoraes

ucastrobr, você percebeu alguma melhora com relação a responsividade após utilizar esta versão do kernel ?

ucastrobr

Por enquanto não tive problemas.
Quanto as características:
http://kernelnewbies.org/Linux_2_6_23

O kernel modular do Linux é o núcleo do sistema operacional, que lida com todas as tarefas de propósito geral, tais como gerenciamento de memória, solicitações para a CPU, e entrada/saída. A mais recente versão do Linux -  Kernel 2.6.23
Ele é cercado por centenas de pacotes adicionais que realizam funções mais especializadas, como traduzir arquivos entre Linux e Windows, e configurar arquivos para serem exibidos em um Web server Apache.
Desde a versão 2.6.20 do kernel Linux já podíamos contar nativamente com a plataforma de virtualização KVM, porém o avanço destas tecnologias é tal que a versão 2.6.23 incluirá duas tecnologías a mais: Xen e a menos conhecida lguest.
Linus Torvalds incluiu patches que implementam uma API para desenvolvimento de drivers em espaço de utilizador à árvore principal do kernel. A API estável para drivers já havia sido anunciada um ano atrás por Greg Kroah-Hartman. Agora os últimos patches foram enviados e a API foi incluída na árvore de Torvalds. A ideia da API é tornar mais fácil a vida de programadores de drivers: "Esta interface permite escrever a maioria do driver em espaço de usuário, com um pedaço muito pequeno de fato no kernel. Utiliza um dispositivo char e sysfs para interagir com o processo em espaço de usuário para processar interrupções e controlar acessos à memória".
Além disso, o Xen também foi incluído à árvore principal.
Spock – "After a time, you may find that having is not so pleasing a thing, after all, as wanting. It is not logical, but it is often true."
("Depois um de tempo você vai perceber que ter algo pode não ser tão prazeroso quanto deseja-lo. Isto não é lógico, mas frequentemente é verdade.")

rjbgbo

Muito show essa dica ucastrobr.
Mas ainda tô bem longe de me arriscar a uma compilação de kernel, nem sei fazer de um simples programa
Linux User #440843 | Ubuntu User #11469

Joseph

Citação de: ucastrobr online 17 de Novembro de 2007, 16:56Fonte de matéria: não me lembro tenho faz tempo esse da Nvidia, se o autor lembrar pode pedir o crédito.

acho q fui eu, mas nao precisa por credito, temos q ajudar uns aos outros, repassando conhecimento é uma das formas, abraços.

http://ubuntuforum-pt.org/index.php?topic=18891.msg101983#msg101983
http://ubuntuforum-br.org/index.php/topic,13169.0.html

vampire_thunder

Depois de umas 4 horas compilando, deu esse erro:
CC      sound/usb/usx2y/snd-usb-usx2y.mod.o
  LD [M]  sound/usb/usx2y/snd-usb-usx2y.ko
make[1]: Saindo do diretório `/usr/src/linux-2.6.23'
COLUMNS=150 dpkg -l 'gcc*' perl dpkg 'libc6*' binutils ldso make dpkg-dev |\
         awk '$1 ~ /[hi]i/ { printf("%s-%s\n", $2, $3) }'   > debian/buildinfo
uname -a >> debian/buildinfo
echo using the compiler: >> debian/buildinfo
grep LINUX_COMPILER include/linux/compile.h | \
           sed -e 's/.*LINUX_COMPILER "//' -e 's/"$//' >> debian/buildinfo
echo applied kernel patches: >> debian/buildinfo
echo done > debian/stamp-build-kernel
====== making target install/linux-image-2.6.23.1 [new prereqs: ]======
This is kernel package version 10.049.
echo "The UTS Release version in include/linux/version.h"; echo "     \"\" "; echo "does not match current version:"; echo "     \"2.6.23.1\" "; echo "Please correct this."; exit 2
The UTS Release version in include/linux/version.h
     ""
does not match current version:
     "2.6.23.1"
Please correct this.
make: ** [install/linux-image-2.6.23.1] Erro 2


O que pode ser?

ucastrobr

Spock – "After a time, you may find that having is not so pleasing a thing, after all, as wanting. It is not logical, but it is often true."
("Depois um de tempo você vai perceber que ter algo pode não ser tão prazeroso quanto deseja-lo. Isto não é lógico, mas frequentemente é verdade.")

vampire_thunder

Funcionou!  :D

Acho que sei o problema. No tutorial daqui o comando é esse:
cp /boot/config-`uname -r` .config && make oldconfig

Quando fiz isso começou a aparecer aquele monte de perguntas e eu só dei enter direto. Depois quando fiz o make menuconfig, aqui não está bem explicado o que deveria fazer. No site eu vi que tinha de primeiramente carregar o arquivo .config (eu achei que carregava sozinho). Fiz isso e a compilação foi perfeita!

Ah sim, o comando para compilar lá era:
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

Com isso deu para compilar o kernel com o meu nome, alterando a palavra "custom" para a que eu quisesse ;D

Valeu pelas dicas! Kernel atualizado e funcionando ;)

vampire_thunder

Ops, um problema.

Não consigo instalar o driver proprietário ATI nem manualmente nem pelo Envy. Na hora do "module-assistant build fglrx" dá erro. O que pode estar faltando?

ucastrobr

Olha que maneiro siga os procedimentos do site abaixo a partir do tópico  Installing the new driver em diante que não tem erro.
http://www.guiaubuntupt.org/wiki/index.php?title=Ati_Fglrx_Mais_Recente

O mais difícil você já fez, agora é simples.
Spock – "After a time, you may find that having is not so pleasing a thing, after all, as wanting. It is not logical, but it is often true."
("Depois um de tempo você vai perceber que ter algo pode não ser tão prazeroso quanto deseja-lo. Isto não é lógico, mas frequentemente é verdade.")

vampire_thunder

Citação de: ucastrobr online 23 de Novembro de 2007, 18:24
Olha que maneiro siga os procedimentos do site abaixo a partir do tópico  Installing the new driver em diante que não tem erro.
http://www.guiaubuntupt.org/wiki/index.php?title=Ati_Fglrx_Mais_Recente

O mais difícil você já fez, agora é simples.

Foi isso mesmo que tentei. Acho que não funciona porque falta o restricted-modules. O jeito é ficar com o antigo para usar quando precisar de um programa 3D.