Ir ao conteúdo

Kernel


Visitante

Posts recomendados

Postado

Possou o Mandrake 8.2, e queria recompliar o kernel, quais os passo para eu fazer esta compilação?

desde já grato!!!

Postado

Ola wrpn, beleza???

bom, vou colocar aqui umas dicas de como compilar, porém estou fazendo como se fosse no slackware, pode ser q na sua distro alguns caminhos de arquivos ou diretorios estejam diferente, mas nada impossivel de fazer. Bom, já vou avisando que depois de você recompilar, pode ser q seu linux não funcione.. hehehe ai você usa o backup... isso é comum nas primeiras vezes, pois você tem q fuçar para aprender.. hehe

Aconselho q alem do q eu colocar aqui, você procure mais informações e documentações, pois aqui sera um básico do básico...

Bom, antes de começar, vou colocar aqui só um resumo dos make's:

make clean

make mrprober

make menuconfig

make dep

make bzImage

make modules

make modules_install

make install

Agora vamus lá... boa sorte!

Compilar o kernel do linux tem sido encarado como um grande trabalho por parte dos usuários Linux mais novos. Na verdade, se seguirmos algumas regras simples, a tarefa de compilar o kernel pode ser bastante proveitosa, pois, além de ajustar opções como o tipo de processador correto para a máquina em uso, adequações ao hardware específico da máquina

quase sempre resultam em um kernel menor e num sistema mais rápido e estável.

Apesar de o kernel do Linux ser uma peça de software relativamente complicada, afirmam os estudiosos que é um dos projetos de kernel de 32 bits mais simples em uso atualmente.

Na verdade, para que um sistema Linux funcione bem, não é imprescindível a recompilação do kernel após a primeira instalação. Mas logo o usuário irá, por necessidade ou apenas a boa e velha curiosidade, interessar-se por colocar esta ou aquela "feature" em ação, como, por exemplo, fazer

funcionar aquela nova unidade CDR, uma placa de rede específica ou mesmo adequar a máquina às funções de proxy transparente.

A última versão do kernel do Linux pode ser baixada do endereço

http://www.kernel.org

Após o download da versão atualizada do kernel, é necessário descompactar os fontes. Isto é feito no diretório /usr/src, com o usuário logado

como "root":

a. copie o arquivo linux-2.4.10.tar.gz para /usr/src:

[root@locutus]:~# cp linux-2.4.10.tar.gz /usr/src

b. em /usr/src, exclua o link simbólico "linux":

[root@locutus]:~# rm linux

c. descompacte os fontes do kernel copiado em /usr/src - será criado um

diretório chamado "linux":

[root@locutus]:~# tar -zxvf linux-2.4.10.tar.gz

d. renomeie o diretório "linux" recém descompactado:

[root@locutus]:~# mv /usr/src/linux /usr/src/linux-2.4.10

e. crie um novo link simbólico "linux", desta vez apontando para o novo

diretório linux-2.4.10:

[root@locutus]:~# ln -s /usr/src/linux-2.4.10 linux

Neste ponto voce deve ter, em /usr/src, os seguintes diretórios e um

symlink:

       

[root@locutus]:~# pwd

/usr/src

[root@locutus]:~# ls

linux@        linux-2.4.5    linux-2.4.10    rpm     sendmail

Essa é a listagem em /usr/src em meu sistema.

Considere linux-2.4.5 como o diretório dos fontes do seu kernel atual.

O link simbólico deve apontar para o diretório linux-2.4.10. É nele que

o trabalho a seguir deve ser feito. Não delete o diretório dos fontes

anteriores ainda, voce pode precisar dele mais tarde.

Antes de alterarmos a configuração do novo kernel, vamos salvar em um

arquivo as configurações de seu kernel anterior.

Suponhamos que você já tenha configurado algumas coisas no kernel, e que

esta não seja sua primeira compilação. Você já tem funcionando aquela

placa

de rede ou outro hardware, ou mesmo algumas opções especiais do netfilter,

e quer que o novo kernel as mantenha.

Para tanto, você deve salvar as configurações atuais de seu kernel.

SALVANDO SUAS CONFIGURAÇÕES ANTERIORES (SE FOR O CASO)

Entre no diretório dos fontes anteriormente intalados (fontes originais,

no exemplo, linux-2.4.5):

[root@locutus]:~# cd /usr/src/linux-2.4.5

[root@locutus]:~# make menuconfig

a. Na tela que se apresentar, role a tela para baixo e escolha a opção

"Save Configuration to An Alternative File" e tecle ;

b. Escolha um nome para o arquivo a ser salvo, no final do "path" onde

deseja salvá-lo.

Por exemplo, digite "/config" para salvar o arquivo config no diretório

raiz do sistema. Tecle ;

c. Saia sem salvar, retornando ao prompt do console.

Com isso, será possível carregar este arquivo de configuração

posteriormente.

MODIFICANDO O NOVO KERNEL

Continuando, os próximos passos DEVEM ser executados em /usr/src/linux;

[root@locutus]:~# cd /usr/src/linux

[root@locutus]:~# make menuconfig

O comando acima iniciará a configuração em modo gráfico do kernel.

Opcio nalmente, estando em algum ambiente X (KDE, Windowmaker, Blackbox

...), o comando poderá ser:

       

[root@locutus]:~# make xconfig

Se, por algum motivo, você quiser apagar todas as configurações deste novo

kernel, antes de entrar com o comando acima, digite (em /usr/src/linux):

[root@locutus]:~# make mrproper

Isto apagará a configuração anterior do kernel no sistema.

Geralmente, este passo não é necessário em compilações normais.

Em seguida, novamente:

[root@locutus]:~# make menuconfig (ou make xconfig, se for o caso)

Já nas telas de configuração do novo kernel, é possível selecionar as

opções desejadas

referentes aos recursos que se deseja implementar.

Este é o momento de carregar as configurações do arquivo anteriormente

salvo. Escolha a opção

"Load ..."

na tela principal do programa de configuração, e aponte o caminho e o

nome do arquivo salvo. As opções de configuração do kernel anterior serão

carregadas.

Após fazer as alterações desejadas, é hora de salvar o kernel e sair

novamente para o console.

Aqui começa a compilação de seu novo kernel.

COMPILANDO

Novamente no prompt, é hora de compilar o novo kernel. Para isso, digite:

[root@locutus]:~# make dep

É normal este comando demorar alguns minutos, dependendo da velocidade da

máquina.

Depois:

[root@locutus]:~# make clean

Este comando é mais rápido que o anterior. Quando o prompt for liberado,

digite:

[root@locutus]:~# make bzImage

Isto construirá a nova imagem do kernel, em /usr/src/linux/arch/i386/boot,

em um arquivo chamado bzImage.

Os comandos acima criaram as dependências necessárias, limparam arquivos

temporários e de instalação e criaram a imagem compactada do novo kernel.

Após algum tempo (que varia de acordo com a máquina), a imagem é gerada

e gravada no diretório acima referido.

Vá agora para o diretório /lib/modules.

O comando ls dá a listagem do conteúdo:

[root@locutus]:~# cd /lib/modules

[root@locutus]:~# ls

   

2.4.5

Como visto, há um diretório com o nome do kernel anterior à esta nova

compilação.

Caso você esteja instalando um novo kernel, não é necessário alterá-lo,

pois a instalação dos módulos, como veremos a seguir, criará uma nova

árvore de diretórios aqui (no exemplo, 2.4.10).

Entretanto, se você estiver realizando apenas uma recompilação de um

kernel já instalado, será necessário renomear este diretório existente.

[root@locutus]:~# mv 2.4.5 2.4.5-old

[root@locutus]:~# ls

2.4.5-old

Isto feito, passemos à criação dos módulos.

6. CRIANDO E INSTALANDO OS NOVOS MÓDULOS

a. Retorne ao diretório de compilação:

[root@locutus]:~# cd /usr/src/linux

b. Digite os comandos:

[root@locutus]:~# make modules

Para construir os módulos selecionados na configuração do kernel.

Depois:

[root@locutus]:~# make modules_install

Os comandos acima criarão e instalarão os novos módulos em /lib/modules.

O trabalho de criação dos módulos pode demorar um pouco, dependendo do

tipo de máquina (processador, RAM disponível, etc).

INSTALANDO O NOVO KERNEL

Após o prompt ser novamente liberado mova a imagem compactada do

kernel, de /usr/src/linux/arch/i386/boot para o diretório raiz (/):

[root@locutus]:~# mv /usr/src/linux/arch/i386/boot/bzImage /

Vá para o diretório raiz, e renomeie o novo kernel recém compilado

para um nome facilmente identificável:

[root@locutus]:~# cd /

[root@locutus]:~# mv bzImage vmlinuz-2.4.10

O novo kernel, agora, terá o nome acima, vmlinuz-2.4.10.

Observe que será necessário indicar ao LILO,  qual a imagem compactada

que deverá ser inicializada no boot da máquina. Vá para /etc e edite o

arquivo "lilo.conf":

[root@locutus]:~# mcedit /etc/lilo.conf

Meu lilo.conf se parece com isto:

---

# LILO configuration file

#

# Start LILO global section

boot = /dev/hda

message = /boot/boot_message.txt

prompt

timeout = 20

vga = normal

image = /vmlinuz

 root = /dev/hda1

 label = Linux

 read-only

# Linux bootable partition config ends

---

Veja que apenas uma imagem pode ser inicializada. Para adicionar a nova

imagem, na seção:

#image = /vmlinuz

 root = /dev/hda1

 label = Linux

 read-only

adicione mais uma entrada:

image = /vmlinuz-2.4.10

 root = /dev/hda1

 label = Teste

 read-only

       

O arquivo lilo.conf deve ficar assim:

---

# LILO configuration file

# generated by 'liloconfig'

#

# Start LILO global section

boot = /dev/hda

message = /boot/boot_message.txt

prompt

timeout = 20

vga = normal

image = /vmlinuz

 root = /dev/hda1

 label = Linux

 read-only

image = /vmlinuz-2.4.10

 root = /dev/hda1

 label = Teste

 read-only

# Linux bootable partition config ends

---

Salve o arquivo lilo.conf. No prompt, digite:

[root@locutus]:~# lilo

para salvar as alterações. Você poderá ver:

Added

Linux *

Teste

indicando que a imagem vmlinuz-2.4.10 poderá ser inicializada no boot

da máquina digitando-se "Teste" no prompt do lilo.

Posteriormente você poderá eliminar a imagem antiga (vmlinuz) em "/" e

deletar o diretório /lib/modules/2.4.5.

Mas espere alguns dias, e observe se não ocorrem erros em módulos, e

se todas as funcionalidades estão operantes (ppp, etc).

Efetue um reboot na máquina, e a nova inicialização deverá apresentar

Welcome to linux 2.4.10

indicando que tudo correu como devia e o novo kernel está instalado.

8. SE AS COISAS DEREM ERRADO

Observe as mensagens de inicialização, à procura de alguma mensagem de

erro.

É possível voltar ao antigo kernel (no caso, 2.4.5) simplesmente

desfazendo as alterações.

Lembre-se que o label "Linux" no prompt do lilo inicializa a imagem

que for necessária, a nova ou a antiga.

  • mês depois...
Postado

O redhat 7.3 tem algum problema pra recompilar ?

uso o arquivo de configuração config-2.4.18-3 como base para recompilar no menuconfig... para aproveitar as configurações do meu kernel... recompilo sem erros.. mas na hora q tá carregando o novo kernel na inicialização... trava tudo... tem uma mensagem dizendo q o kernel tá em panico ;-)

panico tô é eu... hehehe... independente do q faço é do q retiro o problema é o mesmo...

Só pra desencargo de consciência resolvi recompilar somente alterando o processador... pra minha surpresa... apareceu o mesmo problema... num artigo o morimoto fala q os kerneis do mandrake e conectiva podem ter problemas usando o gcc para recompilar... daí ele fala q é só usar um tal de kgcc... será q fazendo isso resolve ?

Será q tem algum problema no pacote kernel-source do redhat 7.3 ?

:(  :(  :(

Postado

Eu recompilei o meu kernel exatamente como indicado e não tive problemas, depois atualizei para o 2.4.19 e também tudo correu certinho, o único problema foi que eu salvei as configurações do 2.4.18-3 e carreguei na configuração do 2.4.19 e tinha algumas coisas que o 2.4.18-3 não estava dando suporte nativo (ISDN e outras coisas), mas aí ativei e tudo se resolveu..... dá uma olhada de novo nos passos, de repente você esqueceu alguma coisa....

falou....

Postado

Na minha maquina tá complicado......toda vez que tento atualizar o kernel dá uns pau louco que só instalando o linux de novo pra resolver.....já num k62 400 que eu tenho aqui vai na boa.....

Postado

É melhor pedir para atualizar o sistema, assim permanece os arquivos de configuração ou na pior hipótese, reinstalar. Recompilar o kernel é sempre problemático e não se tem a garantia de que tudo irá funcionar como antes!

  • 4 meses depois...
  • 5 meses depois...
Postado

interessante...

essae tá bem explicada nesse tópico!!

inté+

  • 4 semanas depois...
Postado

é... agora eu vou começar a fazer um kernel adaptado pro meu processador AMD, q é uma coisa...

Duron já viu né...

Postado

parabens pelo topico!!

tá super bem explicado, e funciona mt bem!!!

tipo... uso o RH7.3...

baixei o kernel 2.4.21 da net... alguem pode me dizer se ele é bom (melhor q o 2.4.18 q vem no RH)!? mais estavel?!

ouvi falar q kernels com final impar (.21) sao meio instaveis, é preferivel pegar os kernels pares (.20 p. ex.)... isso é vero!??!?!?

fiz o processo de compilação aqui, com o kernel 2.4.21 e funcionou deboa.... ficou até mais leve e rápido na inicialização.... só tem um problema...

dps da recompilação, meu ADSL não funciona mais!!

alguem tem alguma dica pra resolver isso!??

valeu!

t++

:)

Postado

bicho... ***** meu slack aí...

acho q fiz besteira...

  • mês depois...
  • 3 meses depois...
Postado

Quem for compilar o kernel 2.6 agora tem que fazer uma pequena modificação o modutils, agora se chama module-init-utils, você tem que pegar o source e compilar depois e possivel compilar o kernel 2.6, [module-init-tools_3.0-pre9.orig.tar.gz] pegue esse pacote nessa pagina http://packages.debian.org/unstable/admin/module-init-tools , compile e você estara pronto pra usar o kernel 2.6

  • 2 semanas depois...
Postado

eu estou tentando estalar o kernel 2.6. Descompactei o arquivo e mandei a pasta para o deretóiro /usr/src. Tentei usar o comando make xconfig mas não deu certo.

Vi que tem que ter um link com o nome linux para a pasta decompactada. Como funciona isso? Não é so descompactar a pasta e mandar ela para esse diretório?

Explica melhor esse negócio do link!

  • 2 semanas depois...
Postado

cd /usr/src

tar jxvf linux-2.6.1.tar,bz2

ln -s linux-2.6.1 linux

cd linux

make menuconfig, caso tenha instalado tk e tcl use make xconfig, se quiser uma opção de cada vez use so make

quando sair use:

make , no caso do 2.4.24 use make dep, make clean e make bzImage

cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz

make modules

make modules_install

caso use lilo make bzlilo

init 6

Eu recomendo pra quem ta começando no GNU/Linux usar o kernel 2.4.24, pois ele e mais fácil de configurar que o 2.6 devido algumas coisas que não foram totalmente resolvidas para desktop.

Postado

Eu consiguir atualizar o kernel do meu conectiva com base no explicado acima, porêm no mandrake estou com uma dúvida. Onde está a pasta com o kernel no mandrake? No conectiva está em /usr/src/linux.

Desde já agradeço.

  • 3 semanas depois...
  • 4 semanas depois...
Postado

só para esclarecer, o material do k0d31n3 ficou muito bom mesmo.

Em poucas coisas, queria adicionar que:

Quando estamos compilando com NOVO kernel, não perdemos o antigo (a não ser que se apague ou qualquer outra coisa do genero). Ou seja: tente compilar o seu kernel! Se aprende muito lendo os docs em geral. Procure no www.kernel.org por documentos originais.

Ainda vale lembrar que apesar de muitas dists não estarem oficialmente com o kernel 2.6.x, ele já é estavel. Existem rpms com os kernels 2.6 para diversas dists, que facilitam o trabalho. Quem usa o yum, pode adicinar servidores que tambem instalam o kernel 2.6. Fica tranquilo daí.

Foi só um toque, teh mais

Postado

Pessoal,

Simplesmente BEM EXPLICADO esse tópico parabéns,

Apenas uma dúvida estou com um 'serio problema com o kernel-source (instalação com pau) dessa maneira não tenho como fazer um save das configurações do meu kernel 2.4.3 para fazer load no 2.6.3 e dessa maneira opções essenciais como QM_MODULES (que não faço a menor ideia de onde acho, e olha que procurei) não estão marcadas, Como fazer pra dar load ou resolver o problema

Muito Obrigado

Fernando

Postado

Desculpe pessoal, estava verificando achei várias opções e informações, mas como visto em um tutorial de kernel era para ta marcado a opção _Loadable modules support:_ e a minha estava todas assim como o pcte instalado modutils e não funcionou o QM_MODULES está assim o meu kernel

[*] Enable loadable module support

│ │ [*] Module unloading

│ │ [*] Forced module unloading

│ │ [*] Module versioning support (EXPERIMENTAL)

│ │ [*] Automatic kernel module loading

Todas marcadas e também da erro quando tento via parte gráfica o make xconfig só da pra ir pelo make menuconfig, não me importo mas terá relação?

Tenho o kernel 2.4.21 e tento compilar o 2.6.3 e o conectiva 9.0

Muito Obrigado

Fernando

  • 2 semanas depois...
Postado

segui todos os passos e compilei o kernel

porém, o meu pc ainda da o boot no kernel antigo

eu sei que devi alterar o arquivo lilo.conf mas o meu linux não tem esse arquivo.

o mais proximo disso é lilo.conf.anaconca

cujo corpo é o seguinte:

prompt

timeout=50

default=DOS

boot=/dev/hda

map=/boot/map

install=/boot/boot.b

message=/boot/message

lba32

image=/boot/vmlinuz-2.4.20-8

label=linux

initrd=/boot/initrd-2.4.20-8.img

read-only

append="hdc=ide-scsi root=LABEL=/"

other=/dev/hda1

optional

label=DOS

o que eu devo fazer para rodar o novo kernel?

[]s

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!