Bienvenue au chiot.
Puppy est un système d'exploitation pour les ordinateurs compatibles IBM avec des processeurs Intel 32 bits (vous avez peut-être entendu parler de ce type de matériel sous le nom d' ordinateur personnel ).
Le développement de Puppy a commencé le 1er janvier 2018 et le projet est open-source depuis le 29 mai 2018. Depuis lors, le système d'exploitation a grandi pour fournir:
Puppy comprend également une bibliothèque standard C / C ++ partielle (notamment absent est C ++ iostream ).
L'espace utilisateur de Puppy se compose d'un mélange d'outils personnalisés ainsi que d'outils open source portés. Notamment, il n'y a pas de chaîne d'outils C ++ complète, mais un port de Micropython est disponible pour les scripts.
Les objectifs et fonctionnalités futurs sont couverts par https://github.com/egranata/puppy/issues. Bien que je serais très heureux d'accepter les commentaires en termes d'idées de fonctionnalités ainsi que des correctifs (mais voir ci-dessous), certaines choses sont des non-optimistes explicites, à savoir:
Le chiot est activement testé sur Qemu - et parfois des bochs. 

En supposant que quelques exigences sont satisfaites, le chiot doit démarrer et travailler sur un PC réel:
(*) Les tests avec des bochs suggèrent que le chiot peut démarrer sur quelque chose d'aussi vieux qu'un pentium pro, mais cela n'est pas testé sur le matériel réel. Hélas, le démarrage sur tout ce qui est plus ancien n'est actuellement pas possible (voir # 63).
(**) Les tests avec QEMU suggèrent que 33 Mo est le minimum requis pour que le chiot démarre sur l'espace utilisateur, mais cela n'est pas testé sur le matériel réel.
Si votre système dispose d'un port de série physique, vous devriez être en mesure de collecter des journaux de noyau qui pourraient aider à diagnostiquer le problème de la période de démarrage. J'utilise personnellement picocom à cet effet, mais d'autres outils devraient fonctionner s'ils sont capables de l'opération 8N1 115200. Les correctifs pour permettre la personnalisation des paramètres du port série au démarrage seraient avec plaisir.
Des tests sur d'autres virtualiseurs et / ou du matériel réel sont également les bienvenus.
Pour compiler une image de chiot, vous voudrez utiliser Linux (natif ou dans une machine virtuelle / conteneur; Docker est connu pour fonctionner). Les dépendances pour la compilation sont bien décrites par build/deps.sh (le script utilisé pour configurer une instance CI).
En supposant que vous avez les morceaux appropriés en place, pour compiler le projet, tapez simplement
$ ./build.py
dans une coquille. Cela se déroulera pendant un certain temps (devrait être inférieur à une minute) et produira une image HD boostable out/os.img .
L'image HD comprend le noyau, ainsi qu'une suite d'espace utilisateur + des tests assez minime. Il peut être utilisé pour démarrer un émulateur ou un bit-explosion sur un vrai disque dur.
Un exemple de configuration pour les bochs et le script de lanceur QEMU peut être trouvé dans le répertoire build .
En supposant que tout fonctionne, le démarrage du chiot se retrouve avec une invite de coquille. ls travaille pour commencer à explorer le système de fichiers.
Les contributions au projet sont les bienvenues.
La liste des problèmes (https://github.com/egranata/puppy/issues) est activement maintenue avec de nouvelles unités de travail, et les problèmes qui bénéficieraient de l'aide et / ou sont d'excellents points de départ sont marqués comme tels.
Si vous souhaitez essayer de porter le logiciel d'espace utilisateur pour chiot ou ajouter des pilotes pour un nouveau matériel, c'est également le bienvenu - tous les problèmes que vous rencontrez à faire cela vaut vraiment la peine d'être signalés.
Afin d'accélérer votre contribution jusqu'à l'acceptation, veuillez consulter CONTRIBUTING.md et suivre les instructions.
Veuillez noter qu'il ne s'agit pas d'un produit Google officiellement pris en charge .