歡迎來到小狗。
Puppy是具有32位Intel CPU的IBM兼容計算機的操作系統(您可能已經以個人計算機的名稱聽說過這種硬件)。
幼犬的開發已於2018年1月1日開始,自2018年5月29日以來,該項目已經開源。從那時起,操作系統已發展為提供:
小狗還包括一個部分C/C ++標準庫(最著名的是C ++ iostream )。
Puppy的用戶空間由定制工具以及移植開源工具組成。值得注意的是,沒有完整的C ++工具鏈,但是可用於腳本的Micropython端口。
未來的目標和功能由https://github.com/egranata/puppy/issues涵蓋。雖然我很樂意接受特徵思想和補丁的輸入(但請參見下文),但有些事情是明確的非目標,即:
小狗在Qemu上進行了積極測試,偶爾會沼澤。 

假設滿足了一些要求,小狗應啟動並在實際PC上工作:
(*)對Bochs進行測試表明,Puppy可以啟動像Pentium Pro一樣古老的東西,但這在實際硬件上未經測試。 las,目前無法啟動舊的任何東西(請參閱#63)。
(**)對QEMU進行的測試表明,33MB是幼犬啟動到用戶空間所需的最小值,但這在實際硬件上未經測試。
如果您的系統具有物理串行端口,則應該能夠收集內核日誌,這可能有助於診斷引導時間問題。我個人將picocom用於此目的,但是如果它們能夠進行8N1 115200操作,其他工具也應起作用。啟用啟動時自定義串行端口設置的補丁很樂意接受。
也歡迎對其他虛擬化器和/或真實硬件進行測試。
要編譯小狗圖像,您需要使用Linux(本機或VM/Container中; docker可以使用)。 build/deps.sh (用於設置CI實例的腳本)恰當地描述了用於編譯的依賴項。
假設您有適當的零件,可以編譯項目,只需鍵入
$ ./build.py
在外殼中。這將攪拌一段時間(應該不到一分鐘),並產生可引導的高清圖像out/os.img 。
高清圖像包括內核,以及相當最小的用戶空間 +測試套件。它可用於啟動仿真器,也可以將其稍微放在真實的硬盤上。
可以在build Directory中找到用於BOCH和QEMU啟動器腳本的示例配置。
假設一切正常,啟動小狗最終都帶有外殼提示。 ls致力於開始探索文件系統。
非常歡迎對該項目的貢獻。
問題列表(https://github.com/egranata/puppy/issues)積極地維護新的工作單位,並且可以從幫助和/或很棒的起點受益的問題標記為這樣。
如果您想嘗試將用戶空間軟件移植到Puppy,或為新硬件添加驅動程序,這也是歡迎的 - 您遇到的所有問題絕對值得報告。
為了一路加快您的貢獻,請參閱CONTRIBUTING.md並遵循其中的指示。
請注意,這不是官方支持的Google產品。