Compilação de Kernel baseado na versão 2.6 para o LTSP 4.2

Com a compilação de um kernel mais moderno, problemas de reconhecimento de placas de rede e hardware em geral serão resolvidos, aumentando o tempo de vida de alguns sistemas que ainda não puderam ser totalmente migrados para o LTSP 5.

[ Hits: 47.423 ]

Por: Edilson Osorio Junior em 20/05/2008


Configurando o kernel e gerando os módulos



Construindo o Kernel:

Vá para o diretório do source do kernel (/usr/src/linux) e modifique o arquivo Makefile, para ajustar o campo EXTRAVERSION para algo que identifique o seu novo kernel.

Deve ficar parecido com este:

VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 25
EXTRAVERSION = -ltsp-1
NAME = That's my new customized 2.6 LTSP kernel

Salve o arquivo e construa seu kernel.

É importante levar algumas coisas em consideração:

# make menuconfig

General Setup:
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support

Processor type and features:
Processor family (386)

Para operar em terminais virtuais (VMWare, Virtual Box, etc) é necessário ter o PAE habilitado. Para isso é importante desmarcar o suporte à memória alta (High Memory Support (off)) e então habilitar o PAE ([*]PAE (Physical Address Extension) Support) em Processor type and features. Senão, pode trabalhar com o High Memory Support (4GB) sem o suporte a PAE.

Device Drivers:
<M> Parallel port support <M> PC-style hardware <M> Multi-IO cards (parallel and serial)

[*] Block devices
<*> RAM block device support

Necessário para gerar o ramdisk onde vai ficar a estrutura inicial durante o boot do sistema.

[*] Network device support

Marcar todas as placas 10,100,1000 e 10000 Mbit como módulos para utilização com as placas mãe mais modernas.

Input device support
[*] Provide legacy /dev/psaux (opcional)

Talvez seja interessante marcar este item para manter compatibilidade com o sistema antigo do LTSP, senão todos os caminhos de mouse dos terminais deverão ser alterados para /dev/input/mouse0.

File systems:
<*> Ext3 journalling file system support
<*> Reiserfs support
<*> Kernel automounter version 4 support (also supports v3)
[*] Network File Systems
<*> NFS file system support
<*> NFS server support

Após marcar estes itens obrigatórios, faça todas as outras alterações que desejar ou tiver necessidade.

Depois que estiver satisfeito com as alterações, salve e saia da configuração do kernel.

# make && make modules_install

Veja que não é necessário instalar o kernel na máquina onde está sendo gerado, somente os módulos do mesmo. Posteriormente o LBE do LTSP vai utilizar esses módulos e gerar o initramfs que é o arquivo onde vai ser inicializado o sistema de arquivos no ramdisk.

Com o novo kernel compilado e os módulos instalados na máquina onde ele foi gerado, passamos então ao LBE para gerar o novo kernel com suporte a boot por PXE ou Syslinux, assim como a instalação do novo kernel no LTSP e no tftp.

Neste ponto nós não precisamos gerar o LTSP inteiro novamente, somente o suporte ao kernel.

Um ponto interessante é que o LBE não traz a estrutura interna do arquivo initramfs.gz. Ele até monta a estrutura de diretórios, mas não traz o Busybox instalado dentro da estrutura.

Para evitar que o LBE monte um initramfs.gz vazio e gere erros durante a inicialização, vamos antes pegar a estrutura de um kernel já existente e funcional do LTSP.

Página anterior     Próxima página

Páginas do artigo
   1. Resumo / Abstract
   2. Introdução
   3. Configurando o kernel e gerando os módulos
   4. Baixando um kernel atualizado para o LTSP 4.2 para construção do initramfs
   5. Problemas encontrados
   6. Conclusão
   7. Anexo I - rc.early_sysinit
   8. Anexo II - rc.sysinit
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

NPTL, Exec-Shield e outros palavrões que fazem seus programas crasharem

Deixe seu console mais bonito com Bootsplash

Recompilando o kernel com suporte a placas de rede Encore rtl8139D (Silan)

Compilando um novo kernel em distribuições RPM-like

Compile e empacote o kernel com processadores ociosos em sua rede utilizando distcc, ccache e kernel-package no Debian

  
Comentários
[1] Comentário enviado por rafasmart em 30/05/2008 - 14:06h

na linha:
# ln -s linux-2.6.25.tar.bz2 linux
quiseste criar link pro source né? então não seria para o diretório em vez do arquivo comprimido?

[2] Comentário enviado por osoriojr em 02/06/2008 - 14:21h

ERRATA:

em Introdução -> Pré-requisitos:
onde se lê: # ln -s linux-2.6.25.tar.bz2 linux
leia-se: # ln -s linux-2.6.25 linux

Obrigado pelo comentário amigo, culpa da mania de tab enquanto escreve :)
Edilson

[3] Comentário enviado por fredyc em 20/06/2008 - 20:41h

Eu estou com um pequeno problema e nao acho nenhum artigo ou tutorial recente falando sobre instalar o LTSP 4.2 no (k)Ubuntu 7.04, 7.10 ou 8.04 pq da algum pau q eu nao sei resolver exemplo:
No ltspadmin ele instala tudo mas da essa mensagem aqui:

egrep: /etc/inittab: No such file or directory
Argument "(value of initdefault in /etc/inittab)" isn't numeric in printf at /usr/sbin/ltspcfg line 164, <STDIN> line 2.
Use of uninitialized value in printf at /usr/sbin/ltspcfg line 164, <STDIN> line 2

tb nao da pra mudar o runlevel........pois quando tento mudar ele sai do ltspadmin!

fora q tb o dhcpd nao sobe!
/etc/init.d/dhcp3-server restart
e ele sempre da mensagem de q falou!
Nao gostaria de migrar para o LTSP 5 pois quanto instalei ele ja vindo dos (K,E,X)Ubuntu eles se motraram muito lento! da impreçao do Kernel nao ser otimizado pra essa aplicaçao como e no 4.2
Obrigado
Fredy

[4] Comentário enviado por osoriojr em 23/06/2008 - 10:29h

Então... uma das coisa que eu percebi que mudou no Ubuntu é que ele usa ldm ao invés de gdm. Como eu não instalei do zero, mas sim copiando a pasta inteira do ltsp do meu backup para lá, não passei por esses erros.
Simplesmente eu não consegui conectar no X do servidor pelo fato dele ter o ldm rodando. Para não perder tempo eu voltei pro Fedora e terminei minha atualização nele mesmo.
Assim que tiver um tempo eu instalo novamente o Ubuntu 8.04 e testo.

[5] Comentário enviado por fabiano_stocco em 14/07/2008 - 16:36h

Edilson

Muito obrigado por compartilhar esse passo a passo, nos ajudou muito aqui na empresa. A tempos vinha atrás de como compilar kernel para LTSP.

Muito obrigado mesmo.

[6] Comentário enviado por lucianeconte em 02/12/2009 - 16:13h

Olá, tudo bem?

Ao executar a linha:

cvs -d \
:pserver:[email protected]:/usr/local/cvsroot \
checkout lbe


retorna o seguinte erro:

cvs checkout: CVSROOT password specification is only valid for
cvs checkout: pserver connection method.
cvs [checkout aborted]: Bad CVSROOT: ` :pserver:[email protected]:/usr/local/cvsroot'.

Por favor, se puder ajudar, agredeço muito.

Obrigado

[7] Comentário enviado por tspocom em 13/02/2010 - 08:32h

Bom, eu estou com a mesma duvida.
No meu caso foi um pouco diferente, na hora de instalar o LBE com a linha

# cvs -d :pserver:[email protected]:/usr/local/cvsroot \checkout lbe

aparece a seguinte mensagem

# Unknown host cvs.ltsp.org.


creio que o host cvs.ltsp.org não esteja mais no ar.

[8] Comentário enviado por tspocom em 13/02/2010 - 08:32h

Bom, eu estou com a mesma duvida.
No meu caso foi um pouco diferente, na hora de instalar o LBE com a linha

# cvs -d :pserver:[email protected]:/usr/local/cvsroot \checkout lbe

aparece a seguinte mensagem

# Unknown host cvs.ltsp.org.


creio que o host cvs.ltsp.org não esteja mais no ar.

como devo proceder agora???


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts