Willkommen bei Welpen.
Puppy ist ein Betriebssystem für IBM-kompatible Computer mit 32-Bit-Intel-CPUs (Sie haben möglicherweise unter dem Namen PC von dieser Art von Hardware gehört).
Die Entwicklung des Welpen hat am 1. Januar 2018 begonnen und das Projekt ist seit dem 29. Mai 2018 Open-Source. Seitdem ist das Betriebssystem gewachsen, um zu liefern:
Welpe enthält auch eine teilweise C/C ++ - Standardbibliothek (insbesondere fehlt C ++ iostream ).
Der Userspace von Puppy besteht aus einer Mischung aus benutzerdefinierten Tools sowie portierten Open Source -Tools. Bemerkenswerterweise gibt es keine vollständige C ++ - Toolchain, aber ein Micropython -Port ist zum Skripten verfügbar.
Zukünftige Ziele und Funktionen werden von https://github.com/egranata/puppy/issues abgedeckt. Obwohl ich sehr gerne Eingaben in Bezug auf Feature-Ideen sowie Patches (siehe unten) akzeptieren würde, sind einige Dinge explizite Nicht-Gentüre , nämlich:
Der Welpe wird aktiv auf QEMU getestet - und gelegentlich bochs. 

Unter der Annahme, dass einige Anforderungen erfüllt sind, sollte der Welpe an einem tatsächlichen PC booten und arbeiten:
(*) Testen mit Bochs deuten darauf hin, dass der Welpe auf etwas so altes wie Pentium -Profi booten kann, dies ist jedoch auf echte Hardware nicht getestet. Leider ist es derzeit nicht möglich, etwas Älteres zu starten (siehe #63).
(**) Das Testen mit QEMU schlägt vor, dass 33 MB das Minimum ist, das der Welpe für den Userspace startet, dies jedoch für echte Hardware nicht getestet wird.
Wenn Ihr System über einen physischen seriellen Anschluss verfügt, sollten Sie in der Lage sein, Kernel-Protokolle zu sammeln, die bei der Diagnose der Kartonzeit helfen können. Ich persönlich benutze picocom für diesen Zweck, aber andere Tools sollten funktionieren, wenn sie in der Lage sind, einen 8N1 115200 -Betrieb zu erhalten. Patches, um das Anpassen der seriellen Porteinstellungen beim BOOT zu ermöglichen, werden gerne akzeptiert.
Das Testen an anderen Virtualisierern und/oder echten Hardware ist ebenfalls willkommen.
Um ein Welpenbild zu kompilieren, möchten Sie Linux verwenden (nativ oder in einem VM/Container; Docker funktioniert dafür). Abhängigkeiten für die Zusammenstellung werden treffend durch build/deps.sh beschrieben (das Skript, das zum Einrichten einer CI -Instanz verwendet wird).
Angenommen, Sie haben die richtigen Teile, um das Projekt zu kompilieren, einfach Typ
$ ./build.py
in einer Hülle. Dies wird für eine Weile (sollte unter einer Minute sein) und ein bootfähiges HD -Image erzeugen out/os.img .
Das HD -Image enthält den Kernel sowie eine ziemlich minimale Userspace + -Suite von Tests. Es kann verwendet werden, um einen Emulator zu starten oder auf eine echte Festplatte zu bitmantieren.
Eine Beispielkonfiguration für Bochs und QEMU Launcher -Skript finden Sie im build -Verzeichnis.
Unter der Annahme, dass alles funktioniert, endet das Booten des Welpen mit einer Muschel -Eingabeaufforderung. ls arbeitet mit der Erkundung des Dateisystems.
Beiträge zum Projekt sind sehr willkommen.
Die Ausgabenliste (https://github.com/egranata/puppy/issues) wird aktiv mit neuen Arbeitseinheiten gepflegt, und Probleme, die von Hilfe profitieren und/oder großartige Ausgangspunkte sind, werden als solche markiert.
Wenn Sie versuchen möchten, Benutzerspace -Software für Welpe zu portieren oder Treiber für neue Hardware hinzuzufügen, ist dies ebenfalls willkommen - alle Probleme, die Sie darauf begegnen, sind auf jeden Fall eine Meldung wert.
Um Ihren Beitrag bis zur Akzeptanz zu beschleunigen, sehen Sie CONTRIBUTING.md die Anweisungen darin an.
Bitte beachten Sie, dass dies kein offiziell unterstütztes Google -Produkt ist .