Projeto Linux From Scratch
(linuxfromscratch.org)-
Introdução ao Linux From Scratch
- Linux From Scratch (LFS) é um projeto que fornece instruções passo a passo para construir um sistema Linux personalizado usando apenas código-fonte
- A organização LFS é composta por vários subprojetos
-
Principais subprojetos
- LFS (Linux From Scratch): a principal responsabilidade que serve de base para todos os outros projetos
- BLFS (Beyond Linux From Scratch): mostra como expandir uma instalação LFS concluída para deixá-la mais personalizada e utilizável
- ALFS (Automated Linux From Scratch): fornece ferramentas para automatizar e gerenciar builds de LFS e BLFS
- Hints: uma coleção de documentos para aprimorar um sistema LFS de maneiras não incluídas nos livros LFS ou BLFS
- Patches: funciona como um repositório central para todos os patches úteis aos usuários de LFS
- LFS Editor's Guide: documento que explica o processo de desenvolvimento do LFS
- Museum: armazena cópias de versões antigas do LFS e do BLFS
-
Resumo do GN⁺
- Linux From Scratch é um projeto que ajuda os usuários a construir diretamente um sistema Linux a partir do código-fonte, sendo útil para quem deseja uma compreensão profunda do sistema Linux
- O projeto oferece suporte à construção de sistemas personalizados, automação e expansão por meio de vários subprojetos
- O LFS pode ser especialmente interessante para desenvolvedores ou administradores de sistemas que queiram aprender como o Linux funciona
- Um projeto com funcionalidade semelhante é o Gentoo Linux, que é uma distribuição Linux baseada em código-fonte
1 comentários
Comentários no Hacker News
Ao tentar fazer o LFS, fiquei pensando se seria possível concluí-lo usando o NixOS com a abordagem do Nix. Graças à natureza declarativa do Nix, foi possível manter um registro claro de todo o processo e, quando surgiam problemas, encontrar a causa e resolvê-los. Com esse projeto, meu entendimento sobre Linux, bootstrapping, compilação cruzada e Nix melhorou bastante. Quando eu revisitar um projeto de LFS baseado em Nix, quero organizar várias coisas, como a configuração do kernel e o tratamento de permissões após a compilação. Tirando a complexidade do Nix, o LFS é recomendável para quem quer entender como um sistema funciona.
A experiência com LFS e com a instalação do Gentoo ajudou muito no aprendizado sobre computadores e Linux. Na época do ensino médio, imprimi o livro do LFS para usar em casa.
Tentei fazer o processo do LFS várias vezes, mas no fim ele acabou virando um trabalho de copiar comandos no terminal, e eu perdi a motivação. Fico curioso para saber se mais alguém teve a mesma experiência.
Tentei o LFS depois de usar Gentoo e, embora tenha levado bastante tempo, foi bem fácil. As pessoas no IRC foram muito prestativas. Meu interesse por Linux acabou me ajudando a economizar em custos de nuvem. O Linux está desaparecendo entre engenheiros de software mais jovens, mas continua vivo entre os jovens entusiastas de tecnologia.
Outro projeto recomendável para quem gosta de LFS é o Buildroot. O Buildroot usa Kconfig para gerar configurações voltadas à construção de sistemas Linux embarcados. Os pacotes são escritos em GNU Make, e é possível compilá-los com várias ferramentas diferentes. Ele pode ser usado para diversos fins, desde distribuições Linux embarcadas até aplicações de boot pela rede para provisionamento automatizado em larga escala.
O LFS é uma maneira divertida de explorar as partes que compõem uma distribuição Linux. Tentei algumas vezes antes de migrar para o Gentoo, e isso me ajudou a entender a liberdade de poder escolher os detalhes do sistema operacional.
Há 20 anos eu penso que gostaria de aprender por meio do LFS. Neste ano estou aprendendo Lisp e gostando muito.
A graça do LFS está em compilar e instalar individualmente os softwares de que você precisa. Seria divertido construir uma distribuição realmente utilizável "do zero".
O LFS e o Cross Linux from Scratch tiveram um papel importante no bootstrapping de distribuições Linux personalizadas para dispositivos embarcados.
Fico curioso para saber como seria um "BSD from scratch". O Linux é composto de várias partes, enquanto o BSD é conhecido por ter sido projetado desde o início. Também tenho curiosidade sobre como seria construir do zero um sistema moderno como o Fuchsia.