Bem -vindo ao filhote.
O Puppy é um sistema operacional para computadores compatíveis com IBM com CPUs Intel de 32 bits (você pode ter ouvido falar desse tipo de hardware sob o nome de computador pessoal ).
O desenvolvimento de filhotes começou em 1º de janeiro de 2018 e o projeto é de código aberto desde 29 de maio de 2018. Desde então, o sistema operacional cresceu para fornecer:
O Puppy também inclui uma biblioteca padrão C/C ++ parcial (mais notavelmente ausente é C ++ iostream ).
O espaço de usuários do filhote consiste em uma mistura de ferramentas personalizadas, além de ferramentas de código aberto portadas. Notavelmente, não existe uma cadeia de ferramentas C ++ completa, mas uma porta de micropython está disponível para scripts.
Metas e recursos futuros são cobertos por https://github.com/egranata/puppy/issues. Embora eu ficasse muito feliz em aceitar informações em termos de idéias de recursos e patches (mas veja abaixo), algumas coisas são não-Goals explícitas, a saber:
O filhote é testado ativamente em Qemu - e ocasionalmente Bochs. 

Supondo que alguns requisitos sejam atendidos, o filhote deve inicializar e trabalhar em um PC real:
(*) Testes com Bochs sugere que o filhote pode inicializar algo tão antigo quanto um Pentium Pro, mas isso não é testado em hardware real. Infelizmente, inicializar em qualquer coisa mais antiga não é possível atualmente (consulte #63).
(**) O teste com Qemu sugere que 33MB é o mínimo necessário para o filhote de filhote inicializar no espaço do usuário, mas isso não é testado em hardware real.
Se o seu sistema tiver uma porta serial física, você poderá coletar logs do kernel, o que pode ajudar no diagnóstico de problemas no tempo de inicialização. Pessoalmente, uso picocom para esse fim, mas outras ferramentas devem funcionar se forem capazes de operação 8N1 115200. Os patches para permitir a personalização das configurações da porta serial na inicialização seriam aceitos com prazer.
Testar outros virtualizadores e/ou hardware real também é muito bem -vindo.
Para compilar uma imagem de cachorro, você deve usar o Linux (nativo ou em uma VM/contêiner; é conhecido o Docker por funcionar). As dependências para compilação são descritas adequadamente pelo build/deps.sh (o script usado para configurar uma instância de CI).
Supondo que você tenha os bits e peças adequadas no lugar, para compilar o projeto, basta digitar
$ ./build.py
em uma concha. Isso agitará por um tempo (deve ter menos de um minuto) e produzir uma imagem em HD inicializável out/os.img .
A imagem HD inclui o kernel, bem como um conjunto de testes bastante mínimo de usuários + de testes. Ele pode ser usado para inicializar um emulador ou bitado em um disco rígido real.
Uma configuração de amostra para o script Bochs e Qemu Launcher pode ser encontrada no diretório build .
Supondo que tudo funcione, inicializar o filhote acaba com um prompt de shell. ls trabalha para começar a explorar o sistema de arquivos.
As contribuições para o projeto são muito bem -vindas.
A lista de problemas (https://github.com/egranata/puppy/issues) é mantida ativamente com novas unidades de trabalho, e os problemas que se beneficiariam de ajuda e/ou são ótimos pontos de partida são marcados como tal.
Se você deseja tentar transportar o software UsersPace para o Puppy ou adicionar drivers para novos hardware, isso também é bem -vindo - todos e quaisquer problemas que você encontra fazê -lo definitivamente vale a pena reportar.
Para agilizar sua contribuição até a aceitação, consulte CONTRIBUTING.md e siga as instruções.
Esteja ciente de que este não é um produto do Google oficialmente suportado .