O Projeto Yocto é uma iniciativa poderosa de código aberto que fornece ferramentas de software essenciais para construir sistemas operativos Linux personalizados. Estas ferramentas incluem sistemas de construção, ambientes de desenvolvimento cruzado e emuladores especificamente concebidos para simplificar o processo de criação de SO Linux. Tradicionalmente, construir um SO Linux era uma tarefa morosa que envolvia a recolha manual de pacotes de software, compilação, resolução de dependências e instalação de cada componente individualmente. O Yocto automatiza todo este processo, permitindo aos utilizadores construir distribuições Linux totalmente funcionais com facilidade, desde que tenham uma ligação estável à internet.\n\nNa minha configuração, utilizei o Ubuntu 22.04.5 LTS (Jammy Jellyfish) como sistema operativo anfitrião. Inicialmente tentei usar o Ubuntu 24.04, mas o ambiente de construção falhou devido à incompatibilidade com os módulos Bitbake, que são vitais para o sistema de construção do Yocto. Além disso, encontrei um problema onde o terminal não iniciava no Ubuntu 22.04 enquanto operava dentro do VirtualBox. Este problema foi resolvido seguindo um guia específico de resolução de problemas intitulado "Resolvido: Terminal do Ubuntu 22.04 não inicia! Como corrigir no VirtualBox." Para virtualização, utilizei o Oracle VirtualBox versão 7.0.22, descarregando os recursos necessários do repositório de versões antigas do Oracle VirtualBox.\n\nPara garantir um processo de construção suave, aloquei pelo menos 60GB de espaço em disco e 16GB de RAM à máquina virtual, pois achei 8GB insuficiente para lidar com os requisitos. A instalação das dependências necessárias foi simples, envolvendo atualizações e instalações de pacotes como chrpath, diffstat, gawk e python3.10-distutils. Após preparar o ambiente, clonei o repositório Yocto Poky da fonte oficial, verificando a ramificação Dunfell, que é uma versão estável e bem suportada.\n\nUma vez que o repositório estava pronto, executei o script de configuração do ambiente e iniciei o processo de construção usando o Bitbake para compilar a imagem "core-image-base". Esta construção inicial foi demorada, levando entre duas a quatro horas, dependendo do desempenho do sistema. Após a construção, lancei a imagem resultante usando o QEMU, o emulador incluído com o Yocto, escolhendo entre qemux86 para 32 bits e qemux86-64 para construções de 64 bits. Para sistemas de 64 bits, encontrei um erro "Request Major code 130 (MIT-SHM)", que foi resolvido executando o QEMU com a opção "nographic".\n\nApós arrancar com sucesso a imagem Linux personalizada no emulador, as credenciais iniciais de login eram simples: o nome de utilizador era "root" e o campo da palavra-passe estava em branco. Isto permitiu acesso imediato ao ambiente shell, facilitando a personalização ou teste adicional do sistema Linux construído.\n\nRefletindo sobre a experiência, construir um SO Linux usando Yocto foi mais desafiante do que inicialmente antecipei. No entanto, com a orientação da assistência de IA e um vídeo instrucional que assisti usando tradução automática, consegui navegar com sucesso pelo processo. O vídeo passo a passo foi particularmente útil para clarificar aspetos complexos, apesar de estar em inglês. No geral, o Yocto revelou-se uma ferramenta robusta que simplifica significativamente a tarefa tradicionalmente manual e propensa a erros do desenvolvimento de distribuições Linux, tornando-a acessível tanto a desenvolvedores novatos como experientes.