Obrigado!
********************
Um detalhe importante: a secção Changelog não foi traduzida, por eu não acreditar que ela seja tão relevante no momento. Após finalizar todo o livro e ter meu sistema funcionando eu reservarei um tempo e muita paciência pra isso.
Outro ponto importante de lembrar: este blog não tem pretensões de fazer esta experiência com rigor científico e esta tradução não é o trabalho de um tradutor juramentado. Com este trabalho pretendo elevar meu nível de conhecimento com relação ao Linux e compartilhar minha experiência. ;-)
Segue o arquivo em pdf: 02_LFS_pt_BR.pdf
Segue o conteúdo do arquivo:
*****
Parte I - Introdução
Capítulo 1. Introdução
1.1. Como construir um sistema LFS
O sistema LFS
será construído usando uma distribuição Linux já instalada (tal
como Debian, Mandriva, Red Hat ou SUSE). Esse sistema Linux existente
(sistema anfitrião) será usado como ponto de partida provendo
programas necessários, tais como um compilador linker e shell para a
construção do novo sistema. Selecione a opção “desenvolvimento”
durante a instalação do sistema anfitrião para poder acessar essas
ferramentas.
Como uma
alternativa para não instalar uma outra distribuição em sua
máquina, você pode usar um LiveCD de uma distribuição comercial.
O Capítulo 2
deste livro descreve como criar uma nova partição Linux nativa e um
sistema de arquivos. É neste ponto que o novo sistema LFS será
compilado e instalado. Capítulo 3 explica quais pacotes e patches
precisam ser baixados para construir um sistema LFS e como eles devem
ser armazenados no novo sistema de arquivos. Capítulo 4 discute a
estrutura de um ambiente de trabalho apropriado. Por favor, leia o
Capítulo 4 cuidadosamente, uma vez que ele explica vários assuntos
importantes sobre os quais você deve estar ciente antes de
prosseguir seu trabalho através do Capítulo 5 e adiante.
Capítulo 5
explica o processo de instalação de vários pacotes que irão
formar o conjunto de ferramentas para desenvolvimento (toolchain) que
é usado para efetivamente construir o sistema no Capítulo 6. Alguns
dos pacotes são necessários para resolver dependências recíprocas
– por exemplo, para compilar um compilador, você precisa de um
compilador.
Capítulo 5
também mostra como você deve construir uma primeira versão das
ferramentas para desenvolvimento, o que inclui Binutils e GCC
(primeira versão significa basicamente que esses dois pacotes
centrais serão reinstalados). O próximo passo é construir Glibc, a
biblioteca C. Glibc será compilada pelo conjunto de ferramentas
construído na primeira versão. A partir daí uma segunda versão
das ferramentas de desenvolvimento será construída. Desta vez, o
conjunto de ferramentas será ligado dinamicamente à nova Glibc. O
restante dos pacotes no Capítulo 5 são construídos usando a
segunda versão das ferramentas de desenvolvimento. Uma vez feito
isso, a instalação do LFS não será mais dependente do sistema
anfitrião, com exceção do kernel que está funcionando.
Esse esforço
para isolar o novo sistema do sistema anfitrião pode parecer
excessivo. Uma explicação técnica completa sobre porque isso é
feito é disponibilizada na Seção 5.2, “Notas técnicas sobre as
ferramentas de desenvolvimento” - (Toolchain Technical Notes).
No capítulo 6, o
sistema LFS completo é construído. O programa chroot
(change
root – mudar diretório raiz) é usado para entrar em um ambiente
virtual e iniciar um shell cujo diretório raiz será a partição do
LFS. Esse procedimento é muito similar à reinicializar e instruir o
kernel a montar a partição do LFS como a partição raiz. O sistema
não é reinicializado de fato, ele apenas muda o diretório raiz
porque criar um sistema inicializável requer trabalho adicional cujo
momento ainda não chegou. A maior vantagem é que usar o chroot
permite
a você continuar usando o sistema anfitrião enquanto o LFS é
construído. Enquanto espera por pacotes serem compilados, você pode
continuar usando seu computador normalmente.
Para
finalizar a instalação, os scripts de inicialização do LFS são
configurados no Capitulo 7, e o kernel e gerenciador de boot são
configurados no Capítulo 8. Capítulo 9 contém informações sobre
como continuar a experiência com o LFS transcendendo este livro.
Após os passos contidos no livro serem implementados, o computador
estará pronto para reiniciar com o novo sistema LFS.
Este
é o processo em poucas palavras. Informações detalhadas sobre cada
passo são discutidas nos capítulos seguintes e na descrição dos
pacotes. Itens que podem parecer complicados serão esclarecidos e
tudo ficará em seu devido lugar conforme você embarca na aventura
do LFS.
1.2. O que há de novo desde a última versão
Abaixo
segue uma lista das atualizações de pacotes feitas deste a última
versão do livro.
Atualizados
para:
- Automake 1.13.1
- Binutils 2.23.1
- Bison 2.7
- Check 0.9.9
- Coreutils 8.21
- E2fsprogs 1.42.7
- Gawk 4.0.2
- GCC 4.7.2
- Gettext 0.18.2
- Glibc 2.17
- GMP 5.1.1
- Groff 1.22.2
- IPRoute2 3.8.0
- Kbd 1.15.5
- Kmod 12
- Less 451
- Libpipeline 1.2.2
- Linux 3.8.1
- Man-DB 2.6.3
- Man-pages 3.47
- MPC 1.0.1
- Patch 2.7.1
- Pkg-config 0.28
- Procps-ng 3.3.6
- Psmisc 22.20
- Sed 4.2.2
- TCL 8.6.0
- Texinfo 5.0
- Tzdata 2012j
- Udev 197 (extracted from systemd-197)
- Util-Linux 2.22.2
Adicionados:
- bash-4.2-fixes-11.patch
- binutils-2.23.1-testsuite_fix-1.patch
- coreutils-8.21-i18n-1.patch
- kbd-1.15.5-backspace-1.patch
- make-3.82-upstream_fixes-3.patch
Removidos:
- bash-4.2-fixes-8.patch
- binutils-2.22-build_fix-1.patch
- coreutils-8.19-i18n-1.patch
- gcc-4.7.1-startfiles_fix-1.patch
- glibc-2.16.0-fix_test_installation-1.patch
- glibc-2.16.0-res_query_fix-1.patch
- kbd-1.15.3-backspace-1.patch
- kbd-1.15.3-upstream_fixes-1.patch
- kmod-9-testsuite-1.patch
- make-3.82-upstream_fixes-2.patch
- patch-2.6.1-test_fix-1.patch
- procps-3.2.8-fix_HZ_errors-1.patch
- procps-3.2.8-watch_unicode-1.patch
- sed-4.2.1-testsuite_fixes-1.patch
1.3. Changelog (registro de mudanças no projeto)
Esta
é a versão 7.3 do livro Linux From Scratch, de 1 de Março de 2013.
Se este livro tiver mais de seis meses, uma versão mais novo e
melhor provavelmente está disponível. Para procurar versões mais
novas, verifique um dos espelhos via
http://www.linuxfromscratch.org/mirrors.html.
Abaixo
segue uma lista de mudanças feitas desde a última versão deste
livro.
Entradas do Changelog (Por
hora, será mantido o texto original do livro nesta seção)
Changelog
Entries:
- 2013-03-01
- [bdubbs] - Upgrade to Linux-3.8.1. Fixes #3295.
- 2013-02-27
- [bdubbs] - Fix a potential test error in procps-ng. Thanks to Pierre Labastie for the patch. Fixes #3293.
- 2013-02-26
- [bdubbs] - Upgrade to File-5.13. Fixes #3292.
- 2013-02-26
- [ken] - Remove the obsolete resizecons program from kbd, again.
- 2013-02-24
- 2013-02-19
- [bdubbs] - Update file name for adjusting CD-ROM rules mode in section 7.5.1.
- 2013-02-18
- 2013-02-13
- 2013-01-30
- [bdubbs] - Change ncurses instructions to create and install .pc files.
- 2013-01-29
- 2013-01-27
- [bdubbs] - Update to pkg-config-0.28. Fixes #3276
- 2013-01-25
- [bdubbs] - Revise procps-ng install instructions to place files in the proper locations.
- 2013-01-24
- [bdubbs] - Remove bashisms from init-functions file in the boot scripts.
- 2013-01-24
- [bdubbs] - Upgrade to e2fsprogs-1.42.7. Fixes #3274.
- 2013-01-22
- [bdubbs] - Upgrade to Linux-3.7.4. Fixes #3273.
- 2013-01-21
- [bdubbs] - Upgrade to Procps-ng-3.3.6. Fixes #3095.
- 2013-01-20
- [matthew] - Upgrade to Linux-3.7.3. Fixes #3272.
- 2013-01-11
- [bdubbs] - Revised explanation for /etc/modprobe.conf. Fixes #3270.
- [bdubbs] - Update udev-lfs init-net-rules.sh script for "en*" devices introduced in systemd-197.
- 2013-01-09
- [bdubbs] - Reformat 'Rebooting the System' recommendations.
- [bdubbs] - Update udev-lfs scripts. Update to systemd-197.
- 2013-01-02
- 2012-12-31
- [bdubbs] - Add patch to fix binutils test suite. All binutils tests now pass, so remove the "-k" flag from test invocation. Thanks to Pierre Labastie for the patch.
- 2012-12-30
- [matthew] - Upgrade to Kbd-1.15.5. Fixes #3239.
- [matthew] - All E2fsprogs tests pass now, so remove the "-k" flag from its invocation.
- 2012-12-28
- [bdubbs] - Put traceroute in /bin for consistency. Fixes #3264.
- [bdubbs] - Fix the location for mounting /dev/shm inside chroot. Fixes #3258.
- [matthew] - Move the build of Procps to before E2fsprogs as the latter requires ps to be available during its testsuite run.
- [matthew] - Upgrade to Gettext-0.18.2. Fixes #3263.
- [matthew] - Upgrade to Gawk-4.0.2. Fixes #3262.
- [matthew] - Upgrade to Glibc-2.17. Fixes #3261.
- [matthew] - Upgrade to Sed-4.2.2. Fixes #3260.
- [matthew] - Upgrade to GMP-5.1.0. Fixes #3259.
- [matthew] - Upgrade to Tcl-8.6.0. Fixes #3257.
- [matthew] - Upgrade to Man-Pages-3.45. Fixes #3256.
- 2012-12-18
- 2012-12-16
- 2012-12-12
- [matthew] - Upgrade to IPRoute2-3.7.0. Fixes #3246.
- [matthew] - Update Check's list of installed programs. Fixes #3245. Thanks to Chris Staub for the patch.
- [matthew] - All of Flex's tests pass, so remove the "-k" option to its testsuite invocation. Fixes #3244.
- [matthew] - Upgrade to E2fsprogs-1.42.6. Fixes #3243.
- [matthew] - Remove redundant --enable-addons parameter to Glibc's configure script. Fixes #3241.
- [matthew] - Update IRC server information. Fixes #3240. Thanks to Chris Staub for the patch.
- [matthew] - Upgrade to Kmod-12. Fixes #3238.
- [matthew] - Upgrade to Linux-3.7. Fixes #3237.
- 2012-12-03
- [bdubbs] - Fix build issues in makefile for systemd-196/udev-lfs-196.
- 2012-11-28
- [bdubbs] - Update makefile and instructions for systemd-196/udev-lfs-196.
- 2012-11-27
- [matthew] - Upgrade to Linux-3.6.8. Fixes #3234.
- 2012-11-26
- [bdubbs] - Re-emphasize host system requirements in Chapter 5 General Compilation Instructions.
- 2012-11-22
- [bdubbs] - Upgrade to systemd-196/udev-lfs-196. Fixes #3233.
- 2012-11-18
- 2012-11-14
- 2012-11-13
- 2012-11-03
- 2012-11-02
- [matthew] - Change Freshmeat.net references to Freecode. Thanks to Chris Staub for the report and patch. Fixes #3216.
- [matthew] - Upgrade to Check-0.9.9. Fixes #3214.
- [matthew] - Upgrade to Bison-2.6.4. Fixes #3212.
- [matthew] - Upgrade to Linux-3.6.5. Fixes #3211.
- [matthew] - Upgrade to Tzdata-2012h. Fixes #3209.
- [matthew] - Upgrade to Man-Pages-3.43. Fixes #3208.
- 2012-11-01
- [bdubbs] - Upgrade to systemd/lfs-udev-195. Fixes #3197.
- 2012-10-15
- [bdubbs] - Add notes to the gcc and binutils sections in Chapter 6 about "link time optimization" and the extra files built by gcc. Fixes #3200.
- [bdubbs] - Upgrade to tzdata-2012f. Fixes #3205.
- [bdubbs] - Update installed program description for several packages. Thanks to Chris Staub for the patch. Fixes #3203.
- 2012-10-14
- [bdubbs] - Remove utmpdump from sysvinit because it is now installed by util-linux. Thanks to Chris Staub for the patch. Fixes #3202.
- [bdubbs] - Change procps to not install the kill program that is now installed by util-linux. Fixes #3201.
- [bdubbs] - Update to util-linux-2.22.1. Fixes #3199.
- [bdubbs] - Update to linux-3.6.2. Fixes #3198.
- [bdubbs] - Add boot/shutdown script customization instructions.
- 2012-10-02
- [matthew] - Upgrade to IPRoute2-3.6.0. Fixes #3196.
- [matthew] - Upgrade to Linux-3.6. Fixes #3195.
- [matthew] - Upgrade to Psmisc-22.20. Fixes #3194.
- [matthew] - Upgrade to Patch-2.7.1. Fixes #3193.
- [matthew] - Add a patch to allow Kmod's testsuite to pass on 32-bit systems. Fixes #3191.
- [matthew] - Upgrade to GCC-4.7.2. Fixes #3190.
- [matthew] - Use latest upstream fixes patch for Make, which enables WebKitGtk to build with parallel builds. Fixes #3188.
- [matthew] - Upgrade to Man-DB-2.6.3. Fixes #3187.
- [matthew] - Upgrade to Libpipeline-1.2.2. Fixes #3186.
- [matthew] - Upgrade to Automake-1.12.4. Fixes #3185.
- [matthew] - Fix Flex instructions; the directory creation for its documentation is performed by the Makefile since r9999.
- 2012-09-27
- [bdubbs] - Update to systemd/udev-lfs-193. Fixes #3192.
- 2012-09-27
- [bdubbs] - Update to systemd/udev-lfs-192. Fixes #3189.
- 2012-09-16
- [matthew] - Upgrade to Patch-2.7. Fixes #3182.
- [matthew] - Upgrade to MPC-1.0.1. Fixes #3181.
- [matthew] - Upgrade to Kmod-10. Fixes #3180.
- [matthew] - Fix link to Linux User's Guide. Fixes #3179.
- [matthew] - Upgrade to Less-451. Fixes #3178.
- [matthew] - Upgrade to Bash-4.2.37. Fixes #3177.
- [matthew] - Upgrade to Pkg-Config-0.27.1. Fixes #3174.
- [matthew] - Upgrade to Linux-3.5.4. Fixes #3173.
- 2012-09-05
- [bdubbs] - Add udevadm trigger --action=change line to udev script to support initramfs better.
- 2012-09-04
- [bdubbs] - Update grub packages and naming conventions example.
- [bdubbs] - Update to util-linux-2.22. Fixes #3145.
- 2012-09-02
- 2012-09-01
- [bdubbs] - LFS-7.2 released.
1.4. Fontes
1.4.1. FAQ
Se durante a
construção do LFS você encontrar quaisquer erros, tiver perguntas,
ou achar que há um erro de impressão no livro, por favor comece
verificando no FAQ (Frequentely Asked Questions – perguntas feitas
com frequência) que está localizado em
http://www.linuxfromscratch.org/faq/.
1.4.2. Listas de Discussão
O servidor
linuxfromscratch.org
hospeda várias listas de discussão usadas para o desenvolvimento do
projeto LFS. Essas listas incluem a lista principal de
desenvolvimento e a lista de suporte, dentre outras. Se o FAQ não
resolver seu problema, o próximo passo seria procurar na lista de
discussão no endereço http://www.linuxfromscratch.org/search.html.
Para informações
sobre as diversas listas, como se inscrever, localização de
arquivos e informações adicionais, visite
http://www.linuxfromscratch.org/mail.html.
1.4.3. IRC
Vários membros
da comunidade LFS oferecem assistência no IRC (Internet Relay Chat).
Antes de usar este suporte, por favor certifique-se de que sua
pergunta não está no FAQ do LFS ou nos arquivos das listas de
discussão. Você pode encontrar a rede IRC no endereço
irc.freenode.net.
O nome do canal de suporte é #LFS-support.
1.4.4. Espelhos da Página (Mirror Sites)
O projeto LFS tem
uma série de espelhos pelo mundo para fazer com que o acesso ao site
do projeto e o download dos pacotes seja mais conveniente. Por favor
visite o site do LFS http://www.linuxfromscratch.org/mirrors.html
para uma lista dos espelhos que estão no ar.
1.4.5. Informações para Contatos
Por favor,
direcione todas as suas questões e comentários para uma das listas
de discussão (veja acima).
1.5. Ajuda
Se um problema ou
questão for encontrado durante o trabalho com este livro, por favor
verifique o FAQ na página
http://www.linuxfromscratch.org/faq/#generalfaq.
Com frequência, questões já estão respondidas nesta página. Se
sua questão não está respondida nesta página, por favor tente
econtrar a fonte do problema. A dica seguinte vai lhe fornecer
orientações com relação a resolução de problemas:
http://www.linuxfromscratch.org/hints/downloads/files/errors.txt.
Se você não
pode achar seu problema no FAQ, procure nas listas de discussão
através da página http://www.linuxfromscratch.org/search.html.
Nós também
temos uma comunidade maravilhosa que está disposta a oferecer
assistência através das listas de discussão e do IRC (veja seção
1.4, seção “Fontes” neste livro). Entretanto, nós temos
várias questões todos os dias e várias delas podem ser facilmente
respondidas indo primeiro ao FAQ ou procurando nas listas de
discussão. Isso nos permite manter o foco nas necessidades menos
usuais de suporte. Se sua busca não produz solução, por favor
inclua toas as informações relevantes (mencionadas abaixo) no seu
pedido de ajuda.
1.5.1. Itens a serem Mencionados
Além de uma
breve explanação do problema, os itens essenciais a serem incluídos
na requisição de ajuda são:
- A versão do livro sendo usado (neste caso 7.3)
- O sistema anfitrião e sua versão sendo usado para criar o LFS
- A saída do script “version-check.sh”
- O pacote ou seção onde o problema foi encontrado
- A mensagem de erro exata ou o sintoma recebido
- Cite se você desviou ou não das instruções do livro
Nota
Desviar-se das instruções deste livro não
significa que nós não vamos ajudá-lo.
Afinal de contas, LFS está relacionado a preferências pessoais. Ser
sincero sobre quaisquer mudanças nos procedimentos nos ajudará a
avaliar e determinar as possíveis causas do seu problema.
1.5.2. Problemas com os scripts de Configuração
Se algo der
errado quando executar o script de configuração (configure),
reveja o arquivo config.log.
Esse arquivo pode conter erros encontrados durante a execução do
script que não foram exibidos na tela. Inclua as linhas relevantes
se você precisar pedir ajuda.
1.5.3. Problemas com Compilação
Tanto a saída da
tela quando o conteúdo de vários arquivos são úteis para
determinar a causa de problemas durante a compilação. A saída da
tela do script configure
e do comando make
podem ser úteis. Não é necessário incluir toda a saída, mas
inclua informações relevantes suficiente. Abaixo segue exemplo do
tipo de informação a incluir da saída do comando make.
gcc
-DALIASPATH=\"/mnt/lfs/usr/share/locale:.\"
-DLOCALEDIR=\"/mnt/lfs/usr/share/locale\"
-DLIBDIR=\"/mnt/lfs/usr/lib\"
-DINCLUDEDIR=\"/mnt/lfs/usr/include\"
-DHAVE_CONFIG_H -I. -I.
-g
-O2 -c getopt1.c
gcc
-g -O2 -static -o make ar.o arscan.o commands.o dir.o
expand.o
file.o function.o getopt.o implicit.o job.o main.o
misc.o
read.o remake.o rule.o signame.o variable.o vpath.o
default.o
remote-stub.o version.o opt1.o
-lutil
job.o: In function `load_too_high':
/lfs/tmp/make-3.79.1/job.c:1565:
undefined reference
to
`getloadavg'
collect2:
ld returned 1 exit status
make[2]:
*** [make] Error 1
make[2]:
Leaving directory `/lfs/tmp/make-3.79.1'
make[1]:
*** [all-recursive] Error 1
make[1]:
Leaving directory `/lfs/tmp/make-3.79.1'
make:
*** [all-recursive-am] Error 2
Neste
caso, muitas pessoas incluiriam apenas a seção final:
make[2]:
*** [make] Error 1
Isso
não é o suficiente para diagnosticar propriamente o problema,
porque essa linha apenas mostra que algo deu errado, não o
quê deu errado. Toda a seção, como
no exemplo acima, é o que deveria ser salvo porque ela inclui o
comando que foi executado e a(s) mensagem de erro associada.
Um
artigo excelente sobre como pedir ajuda na internet está disponível
na página http://catb.org/~esr/faqs/smart-questions.html.
Leia e siga as dicas nesse documento para aumentar a possibilidade
receber a ajuda de que precisa.
*****
Até! ;-)
Boa tarde Alberto, quero parabenizar pelo post, acrescentando tambem que conheci seu blog a pouco, espero que ele seja mais uma ferramenta aos amantes de LINUX. Sou usuario iniciante mas ja estou compilando minha propria distro e fazendo uso das inumeras ferramentas que essa plataforma encantadora nos oferece.
ResponderExcluirestarei acompanhando cada nova postagem em seu blog, grande abraco. . .
Obrigado, Alcy! Eu estou em dívida com o blog, porque devido à várias questões pessoais não pude dar continuidade, mas ainda esta semana pretendo publicar conteúdo novo.
ResponderExcluirAbraço!!!
Ola Alberto, ainda aguardo o restante do material a ser postado.
ResponderExcluirDesde já agradecemos (falo também pelos quais ainda poderão ser beneficiados com o material) e desejo um ótimo final de semana.
Ate a próxima.
Olá Alcy!
ExcluirIsso com certeza é de seu interesse.
http://lfs-desafio.blogspot.com.br/2014/05/lfs-75-ptbr-completo.html
Decidi fazer a versão mais atual e não perder mais tempo com a antiga.
Espero que seja útil.
Abraço!!!
Grato Alberto, muito bom o material.
ResponderExcluirDesejo um a ótima semana.
Esqueci de informar, recomendei seu blogue no Google+, desculpa por não ter pedido permissão mas a intensão, foi divulgar esse material.
Abraços.
Obrigado.
ExcluirTenho feito contato com os desenvolvedores do LFS. Pretendemos manter uma versão pt_BR do livro atualizada e logo logo divulgaremos um novo com correções de erros bobos que eu só vi depois que publiquei.
Quanto mais gente trabalhando e lendo mais rápido vamos chegar em um material de alta qualidade.
Abraço!