Linux Portugal
  Login   -   Registar!   -   Password?
    Novo Mirror Português - CeSIUM  
  Documentação Recente   Últimas Perguntas   Ultimos Posts do Forum
  Emular rato pelo teclado numérico
  Forçar o desmonstar de um dispositivo com estado ocupado (busy)
  Fedora 10 - Instalar o source do Kernel
  Linux numa Pen Drive
  Kanguru Huawei e220 - OpenSUSE 10.2
  Terminal Linux no Windows
  Instalando o Oracle Express Edition 10.2 no Ubuntu Server
  instalar o KDE 4 sob MacOS X
  Bloquear o login aos utilizadores
  slackpkg
  Acertar data e hora
  Carregar o SmartArray (HP ml50 e afins na instalação do fedora)
hardware livre
Arranque
Video
Comunidade !
Ligação de camera por firewire
Usar Xubuntu/Mint numa Pen como se fosse o SLAX
Duvidas na resolução de um trabalho
Brasileiros podem participar do fórum?
Começando no Fórum
Qual a melhor distribuição para uma loja?
Instalação Linux
Instalação de pacotes não confiáveis
ASUS ROG TOURNAMENT - LEAGUE OF LENGENDS & CS: GO
Barbini - [2014-03-03 13:57:49 ]

MEO XLPARTY FIL 2013 - INSCRIÇÕES & TORNEIOS
Barbini - [2013-11-26 11:07:34 ]

O Worten Ultimate Challenge está de volta!
Barbini - [2013-10-30 12:06:30 ]

Olé, um game de drible e gol - jogue grátis
mattpaulo - [2013-07-21 22:54:37 ]

Worten Ultimate Challenge PES 2013 - GT5
Barbini - [2013-06-17 14:11:50 ]

MEO XLPARTY - EXPOCENTRO - POMBAL 2013
Barbini - [2013-06-14 17:16:08 ]

Simplicidade a armadilha do 80/20
mattpaulo - [2013-05-04 20:29:13 ]

Ligar e desligar o PC Remotamente
soneca - [2012-11-02 18:25:02 ]

Add to Google Reader or Homepage   Add to Pageflakes      Add to netvibes   Adicione o artigo ao del.icio.us
Documentação


Compilar e Recompilar Kernel
 
Como compilar ou recompilar o kernel do Linux





Para compilar o kernel do linux vais precisar de:


*Código fonte do kernel (Na tua distribuição provavelmente tens o codigo fonte do kernel como um pacote, mas se quiseres a versão mais atual, vai ao ftp do kernel.org - ftp://ftp.kernel.org Até ao presente momento a versão mais atual estável é a 2.4.20)


*make (esse está na tua distribuição)


*gcc (este também)


*gzip ou bzip2


*tar





O primeiro passo é instalar o código fonte do kernel.


Se fores usar um pacote da tua distribuição, procura por ele e instala-o, cada distribuição tem a sua maneira específica de instalar pacotes. Agora se fores usar o fonte baixado no kernel.org, faz o seguinte:


Dica: prefere sempre arquivos no formato .tar.bz2, pois são mais compactos.


Copia o arquivo que baixaste para o diretório /usr/src:


root@localhost />#cp /root/linux-2.4.20.tar.bz2 /usr/src/


(assumindo que baixaste o arquivo no formato .tar.bz2, para o diretório /root)


Desempacota e descompacta-o:


root@localhost />#cd/usr/src


root@localhost /usr/src>#tar jxvf linux-2.4.20.tar.bz2Erro! A referência de hyperlink não é válida.


root@localhost /usr/src>#tar zxvf linux-2.4.20.tar.gz


Feito isto será criado um diretório chamado linux-2.4.20, deverás criar um link simbólico para ele com o nome linux. Se já houver um directório chamado linux, apaga-o e depois cria-o novamente:


root@localhost /usr/src>#rm linux


root@localhost /usr/src>#ln -s linux-2.4.20 linux


Vai até ao diretório linux:


root@localhost /usr/src>#cd linux


Agora é hora de configurar o kernel. Eu recomendo que faças isto dentro do X, não importa em qual interface gráfica, pois é muito mais simples e intuitivo. Se estiveres em modo texto e puderes, entra no X:


root@localhost /usr/src/linux>#startx


e faz:


root@localhost /usr/src/linux>#make xconfig


Se quiseres ou tiveres que continuar em modo texto, faz:


root@localhost /usr/src/linux>make menuconfig


Se este não funcionar, tenta:


root@localhost /usr/src/linux>make config (este não é muito bom, pois vais ter que responder às coisas uma por uma. Os dois acima são bem mais intuitivos)


Bom, eu não vou explicar aqui como se faz para configurar o kernel. Talvez possa escrever um tutorial só sobre isso, mas aqui não vem ao caso.


Terminando de configurar seu kernel, salva e agora vais compilar e criar as dependências necessárias:


root@localhost /usr/src/linux>make dep


Espera até o final do processo, quando o prompt aparecer novamente, vais criar a imagem compactada do kernel, imagem essa que será usada para dar boot no sistema:


root@localhost /usr/src/linux>make clean (este comando é opcional, mas altamente recomendado, pois limpa todo o lixo deixado por compilações anteriores, e não demora nem 10 segundos)


root@localhost /usr/src/linux>make bzImage


Este processo é um pouco demorado, espera. Se configuraste algo como módulo - e com certeza fazes isso - é hora de criar os módulos:


root@localhost /usr/src/linux>make modules


Agora deves ir ao directório /lib/modules:


root@localhost /usr/src/linux>cd /lib/modules


e da uma vista de olhos nele


root@localhost /usr/src/linux>ls


É aqui que está a diferença entre compilar um novo kernel e recompilar o teu kernel atual. Se estiveres compilando um novo kernel, não precisas fazer nada aqui, mas se estiveres recompilando, é recomendado que renomeies a pasta que contém os teus módulos astuais para, se houver algum problema nesta nova compilação, teres um backup do actual, que está funcionando. Digamos que estejas usando atualmente o kernel 2.4.18. Deve haver um diretório chamado 2.4.18, ou, dependendo da tua distribuição, 2.4.18-alguma_coisa. Renomeia para old.2.4.18-alguma_coisa:


root@localhost /lib/modules>#mv 2.4.18-alguma_coisa old.2.4.18-alguma_coisa.


Agora volta para /usr/src/linux


root@localhost /lib/modules>#cd /usr/src/linux


Faz:


root@localhost /usr/src/linux>#make modules_install


para instalar os módulos.


Da uma olhada novamente na pasta /lib/modules. Deve haver uma nova pasta com o nome do kernel que acabaste de compilar.


Bem, se chegaste aqui sem problemas, podes respirar fundo e dar um sorriso. A parte mais complicada (complicada??!) já passou.


Agora deves configurar o teu gerenciador de boot para carregar a imagem do novo kernel. Os dois gerenciadores de boot que existem para linux são o GRUB (Grand Unified Bootloader) e o LILO (LInux LOader).


Para qualquer um dos dois deves copiar a imagem compactada do kernel para o diretório /boot. A imagem está localizada em /usr/src/linux/arch/i386/boot e se chama bzImage.


root@localhost /usr/src/linux>cp arch/i386/boot/bzImage /boot


Para o LILO:


vai até ao diretório /etc:


root@localhost /usr/src/linux>cd /etc


edita o arquivo lilo.conf:


root@localhost /etc>#vi lilo.conf


ou


root@localhost /etc>#vim lilo.conf


Se não souberes utilizar o vi ou o vim, utiliza o editor de texto de tua preferência. Isso não faz diferença.


Se és leigo e não estás familiarizado com os nomes das partições e dos hds no linux, vái até ao final deste texto e lê uma breve explicação. Aqui vou assumir que tens o linux instalado na segunda partição do primeiro hd na ide0.


Cria uma entrada assim


image=/boot/bzImage


root=/dev/hda2


label=Linux-novo


read-only


Depois reinstala o LILO:


root@localhost /etc>lilo


Se tudo estiver ok, dá um boot e escolhe a entrada Linux-novo.


Se usas o GRUB, faz o seguinte:


vai ao diretório /boot/grub e edite o arquivo menu.lst. Existem versões diferentes do GRUB, portanto segue o padrão das entradas que já estão lá. Vai ser algo mais ou menos assim:


title Linux - kernel novo kernel=(hd0,1)/boot/bzImage root=/dev/hda2


Pronto. Dá um boot e torce para dar tudo certo....



Nomes de partições e hds no linux.





O linux é diferente do windows na hora de definir os nomes dos teus hds. Digamos que tenhas dois hds, o primeiro com uma partição primária com o windows instalado mais uma estendida com duas unidades lógicas e outras duas primárias, cada uma com uma distribuição linux, e o segundo hd só com uma partição e um drive de cd-rom. O primeiro hd está na ide0 como master e o segundo com slave e o cd-rom na ide1 como master. O windows reconheceria assim:


c: - primeira partição do primeiro hd


d: - primeira unidade lógica da partição estendida


e: - segunda " " " " "


As linux não seriam reconhecidas


o segundo hd seria f: e o cd-rom g:


No linux ficaria assim:


As partições são numeradas da seguinte maneira.


/dev/hda1 - primeira partição do primeiro hd


/dev/hda2 - partição estendida


/dev/hda5 - primeira unidade lógica da partição estendida


/dev/hda6 - segunda unidade lógica da partição estendida


/dev/hda3 - primeira partição linux - no GRUB seria (hd0, 2)


/dev/hda4 - segunda partição linux - no GRUB seria (hd0,3)


/dev/hdb - segundo hd


/dev/hdc - cdrom (na verdade existe um link simbólico chamado /dev/cdrom que aponta para o local onde o cdrom está instalado)





Espero ter sido claro nas minhas explicações. Qualquer dúvida contacta-me por email. Terei prazer em responder a quaisquer perguntas e/ou ouvir reclamações e sugestões.


Meu email: bmfilipe@hotmail.com
Escrito por: BrutusTestado em: MANDRAKE( 9.2 )



Voltar atrás

Endereço de email:


Linux Portugal RSS




    Revista Espirito Livre
    Fedora Release
    Ubuntu Release
Desenvolvido pela equipa GNU/Linux Portugal (2005)
Ver código da página
Compilar e Recompilar Kernel - Linux Portugal