Como fazer uma distribuição Linux (parte 2)

Esse artigo é a continuação da adaptação da documentação Komain. Para quem não lembra, o artigo visa apresentar ao leitor os passos necessários para construir uma distribuição Linux a partir dos códigos fontes disponíveis na rede. Esse será um artigo longo, já que o livro tem 73 páginas, e denso, pois muitos conceitos apresentados aqui são extremamente avançados para iniciantes.

[ Hits: 62.008 ]

Por: Fernando Henrique em 18/03/2005


Gambiarras



Vocês lembram que no último episódio mencionei uma operação de risco? Vamos preparar o terreno para a distribuição principal, a distro que fizemos até aqui não passa de um kit de ferramentas.

Volte a se logar como usuário ordinário, e execute o seguinte sed:

# sed -i "s@/lib/ld-linux.so.2@/temp/lib/ld-linux.so.2@g" \
$ROOT_KMI/temp/lib/gcc-lib/*/*/specs


Isso substitui todas as ocorrências de "/lib/ld-linux.so.2" por "/temp/lib/ld-linux.so.2", isso fará com que todos os binários gerados pelo gcc da distro sejam linkados com a glibc instalada em /temp/lib.

Para testar o ld vamos um pequeno programa em C, segue a listagem:

# cat > ~/teste.c << "EOF"
main(){}
EOF


Compile o código:

# gcc -o ~/teste ~/teste.c

Confira o resultado com o comando ldd no binário gerado:

# ldd teste
        linux-gate.so.1 =>  (0xffffe000)
        libc.so.6 => /lib/libc.so.6 (0xb7eda000)
        /temp/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fec000)

Notou a presença do /temp no caminho para a libc? Isso indica que seu linkador esta gerando binários linkados para a glibc do sistema que estamos construindo e não com o da sua distro principal. Isso é fundamental para o andamento do nosso trabalho, não prossiga caso seu linkador não esteja trabalhando de forma correta.

O gcc possui uma ferramenta chamada "fixincludes" e serve para corrigir pequenos detalhes de seus .h, porém é certo que ele misturou as coisas da distro da sua máquina com os que ele compilou, não queremos isso, certo ?

Então delete:

# rm -f /temp/lib/gcc/*/*/include/{pthread.h,bits/sigthread.h}

Lembra que eu disse para não deletar o diretório binutils-build? Vamos usar ele agora, entre o diretório e solte um:

# cd $ROOT_KMI/fontes/binutils-build
# make -C ld install


Torça para que tudo tenha dado certo ;-)

Página anterior     Próxima página

Páginas do artigo
   1. Errata
   2. Gambiarras
   3. TCL
   4. Expect
   5. Deja GNU
   6. Gcc parte II
   7. Binutils parte II
   8. GAWK
   9. Coreutils
   10. Bzip2 e Gzip
   11. Bye Bye
Outros artigos deste autor

Guia do Desktop Redondo - Fedora 7

Como fazer uma distribuição Linux (parte 1)

Leitura recomendada

Modificando a remasterização com Molecule - Sabayon completo, com KDE e GNOME

Como ver as informações de rede no Linux

A história do ogg na web

Compilação, empacotamento, instalação e configuração do WINE-dev

Raspberry Pi: Central Multimídia com OpenELEC

  
Comentários
[1] Comentário enviado por fabio em 19/03/2005 - 07:09h

Essa série de artigos está ficando muito boa! Além de bem escrito, sua proposta é muito útil. Ao final da série juro que vou masterizar um CD no meu gosto :)

[]'s

[2] Comentário enviado por xsl4v3 em 19/03/2005 - 07:24h

Só queria deixar um comentário:

O site http://komain.codigolivre.org.br foi tirado do ar por garotos com muito tempo livre, e muita glicose no sangue... Em questão de minutos recoloquei o site no ar novamente depois disso todo o codigolivre ficou fora do ar, isso já faz uns 4 dias !
No inicio achei que fosse um falha do xoops, mas um outro site meu em HTML puro também foi atacado, site de outro projeto hospedado no codigolivre.

Acredito que o codigolivre está passando por uma série de ataques já que toda a rede tá fora, tanto web server quanto os file-servers...
Consegui hospedar o projeto no berlios, mas minha conta ainda não está totalmente ativada, o novo endereço do projeto é :

http://komainu.berlios.de

Porém o sub-dominio ainda não foi oficializado... es está fora do ar também :(

Estou tentando com o sourceforge também, se conseguir aviso !

Obrigado a todos pelo apoio :)

[3] Comentário enviado por xsl4v3 em 21/03/2005 - 11:29h

Galera que ta acompanhando o tutorial, prestem atenção !
O sourceforge aceitou o projeto em seus servidores, o novo endereço do projeto
é :

http://komain.souceforge.net ou komain.sf.net

Com o tempo vou migrar toda estrutura pra lá, mas já está disponível uma versão html e pdf do livro.

VeleuS !!!

[4] Comentário enviado por agk em 21/03/2005 - 20:32h

Vou tentar fazer uma destar também, mas quando tiver um tempo livre, ehe.
Parabéns pelo artigo, quando vai sair o próximo???
[ ]'s

[5] Comentário enviado por nukelinux em 23/04/2008 - 18:12h

eu tenho uma pequena duvida...

eu estava tentando seguir os passos indicados no livro. Decidi usar os pacotes do debian etch, pois sou mais familiarizado, entretanto, me deparei com o seguinte: um dos pacotes que tentei baixar (devfsd.tar.gz) nao constava mais na lista de pacotes do debian etch. Eu o encontrei apenas na lista do debia sarge (versao anterior). Gostaria de saber se ha algum risco se tentar usar apenas os pacotes que eu conseguir baixar, ou seja, compilar normalmente e ignorar a inexistencia desse pacote pode causar erro?
Deverei verificar todas as dependencias dos pacotes que eu baixar?
Existe como eu conseguir uma lista 'atualizada' desses pacotes (de preferencia para debian etch x86)

[6] Comentário enviado por xsl4v3 em 23/04/2008 - 18:32h

Putz, no momento abandonei o projeto, me tomava muito tempo.... Recomendo que vc leia o livro Linux From Scratch que segue a mesma linha


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts