Mostrando postagens com marcador estudos. Mostrar todas as postagens
Mostrando postagens com marcador estudos. Mostrar todas as postagens

terça-feira, 20 de novembro de 2007

Tempos de Linux V - Atualizar Kernel

Olá pessoal,
os trabalhos no linux estavam bem intensos. Porém, após esgotar minhas tentativas, e acabar perdendo a funcionalidade gráfica do meu gNewSense, decidi formatá-lo para liberar espaço. Atualmente só estou usando o Mandriva One 2008.O, no qual, inclusive, estou escrevendo este texto agora.

Tentativa de Atualizar o Kernel do gNewSense
No gNewSense, eu tentei de todas as formas instalar o kernel certo para poder compilar o driver da minha rt8180, porém, não consegui. Sem escolhas tentei recompilar o Kernel, e foi ainda pior, no final: Kernel Panic: not syncing VFS: Unable to mount Root FS on unknown-block (0,0)

VFS: Cannont open root device "hda7" or unknown-block (0,0)

Pesquisei na net, e alegaram, que era porque eu não tinha habilitado o sistema de arquivos em modo built-in e os drivers da controladora IDE. Na primeira vez, realmente não habilitei, lá fui eu. Porém, o erro se manteve. De útil nessa experiência, foi que embora eu não tenha tido sucesso no meu novo kernel, estava tentando instalar o 2.6.23. Eu aprendi o processo.

Importante: Só estou citando a experiência que tive ao tentar compilar o kernel, como citei no alto, no meu caso não deu certo, porém, estas dicas podem ajudar outras pessoas, no entanto, não encare isso como um guia, e muito menos me culpe por não funcionar, ou ainda mais por danos em sua máquina. Assim como eu fiz aqui, quem se arrisca a atualizar o kernel sem saber, está indo por sua conta e risco.

Basicamente, é baixar o arquivo do www.kernel.org, descompactá-lo. Na pasta /usr/src/linux-versao, onde versão é a versão do kernel, no meu caso 2.6.23. Depois, criei um link simbólico para ele:

cd /usr/src
ln -s /usr/src/linux-2.6.23 linux

Dar um make [x][menu]config, onde o que está entre colchetes são dois comandos distintos. Então, temos:

make config (o que eu usei, embora não seja recomendado, mas os outros não funcionaram)
make xconfig (configurador gráfico, como o x do nome já indica, comigo não funcionou, por falta de uma tal biblioteca que não lembro o nome)
make menuconfig (em modo texto, também não funcionou, acho que por falta de biblioteca QT).

O processo de configuração é o mais importante, você deve ter um bom conhecimento do seu hardware para responder corretamente as perguntas. E habilitar somente o necessário, fato que melhora bastante o desempenho da máquina. Você pode configurar tudo, ou tentar usar, o arquivo atual de configuração. Para isto bastaria copiá-lo da pasta /boot.

cp /boot/config-atual /usr/src/linux/.config

Nesse caso, durante a configuração você seria perguntado sobre possíveis incompatibilidades. Mas vindo de um arquivo de configuração funcional, as chances de compilação funcionar seriam maiores. (eu não tive tempo de testar essa opção)

Se tudo correr certo, você monta uma imagem compactada do Kernel. Aqui, eu dei um make antes. E na hora de montar a imagem foi bem rápido. O comando para montar a imagem é (/usr/src/linux):

make bzImage

Este comando cria uma imagem compactada do kernel em arch/i386/boot com o nome bzImage. Esse arquivo deve ser copiado para a pasta /boot e referenciado no /boot/grub/menu.lst e depois dar um update-grub.

Depois, você usa na pasta /usr/src/linux:

make modules

Esse comando vai criar os módulos que você determinou na configuração.

make modules_install

Esse comando instala os módulos.

Depois é dar um reboot e testar. Se quiser criar uma nova entrada ou atualização.

make install

Bem, comigo não funcionou, mas quem sabe vocês tenham melhor sorte. ;)
Existem ótimos tutoriais sobre isso na net, tentarei trazer alguns links e atualizar este artigo.

LINKs:

http://br.kernelnewbies.org/docs/howto/kernel-new/x101.html

http://br.kernelnewbies.org/docs/howto/kernel-new/x668.html

Abraços



----------------
Now playing: Pearl Jam - given to fly
via FoxyTunes

sábado, 10 de novembro de 2007

Tempos de Linux III

Olá pessoal,

meus estudos em Linux se intensificaram na última semana. Tenho utilizado duas distros: gNewSense, uma distro totalmente livre e Mandriva One 2008, uma distro que já vem com tudo.

No Mandriva, consigo acessar Internet, ouvir qualquer arquivo de áudio, ver dvds, vídeos, conectar no msn através do Kopete, etc... Uma vida normal, quase igual ao Windows. Para instalar programas, simples comandos no rpmdrake, e 'voi lá', tenho o que preciso.

Já no gNewSense, a coisa é diferente, por ser uma distro livre, ele não vem com nenhum software proprietário. O que complica muito minha vida. Por esse motivo, decidi usá-lo para o aprendizado.

Com certo custo, mesmo sem internet nele, baixei os pacotes necessários para ouvir mp3. Aleluia!! rs Foi a única coisa, que consegui também. Tentei instalar os kernel-headers e kernel-source para compilar o ndiswrapper, ou o driver da placa de radio (rt8180), mas deu um monte de erro, e eu não sei mais o que fazer para corrigir.

Durante o dia de ontem, fiquei toda a parte da tarde, toda a noite e até a metade da madrugada, estudando linux, uma forma de conseguir compilar o que preciso, mas não consegui. A versão do kernel-source é diferente da versão do kernel que eu tenho por pouco: 2.6.15-27 e 2.6.15-27-386.

Minha última opção é atualizar todo o kernel. Nesse caso instalaria a versão 2.6.23. Acho que é a mais atual. Mas quero evitar isso, porque pelo que já ouvi dizer, não é garantia de estabilidade e além de tudo, isso eu já testei da outra vez, é um processo extremamente demorado.

Fora os trabalhos práticos, estou estudando o guia FOCA, nível iniciante...

Bem, vou indo, depois relato mais como andam os progressos ;)

Postagens populares