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: 49.745 ]

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

openSUSE Linux no Windows 10 sem virtualização

Como mudar o logo no kernel 2.6

Suporte a SATA NCQ em chipset NForce

Compilando o kernel no Slackware com pacotes pré-compilados

Conheçendo o sistema operacional GNU/Fiwix

  
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:anonymous@cvs.ltsp.org:/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:anonymous@cvs.ltsp.org:/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:anonymous@cvs.ltsp.org:/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:anonymous@cvs.ltsp.org:/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