ยินดีต้อนรับสู่ลูกสุนัข
Puppy เป็นระบบปฏิบัติการสำหรับคอมพิวเตอร์ที่เข้ากันได้ของ IBM ด้วยซีพียู Intel 32 บิต (คุณอาจเคยได้ยินฮาร์ดแวร์ประเภทนี้ภายใต้ชื่อ คอมพิวเตอร์ส่วนบุคคล )
การพัฒนาลูกสุนัขได้เริ่มขึ้นในวันที่ 1 มกราคม 2561 และโครงการได้รับการเปิดโอเพ่นมาตั้งแต่วันที่ 29 พฤษภาคม 2561 ตั้งแต่นั้นมาระบบปฏิบัติการได้เติบโตขึ้นเพื่อให้:
ลูกสุนัขยังมีไลบรารีมาตรฐาน C/C ++ บางส่วน (ที่ขาดหายไปมากที่สุดคือ C ++ iostream )
Puppy's Userspace ประกอบด้วยเครื่องมือที่กำหนดเองรวมถึงเครื่องมือโอเพ่นซอร์สที่พอร์ต โดยเฉพาะอย่างยิ่งไม่มีเครื่องมือ C ++ เต็มรูปแบบ แต่พอร์ตของ micropython พร้อมใช้งานสำหรับการเขียนสคริปต์
เป้าหมายและคุณสมบัติในอนาคตได้รับการคุ้มครองโดย https://github.com/egranata/puppy/issues ในขณะที่ฉันยินดีเป็นอย่างยิ่งที่จะรับข้อมูลในแง่ของแนวคิดคุณสมบัติเช่นเดียวกับแพตช์ (แต่ดูด้านล่าง) บางสิ่งบางอย่างเป็นสิ่ง ที่ไม่ใช่เป้าหมาย ที่ชัดเจนคือ:
ลูกสุนัขได้รับการทดสอบอย่างแข็งขันใน QEMU - และบางครั้ง Bochs 

สมมติว่าเป็นไปตามข้อกำหนดบางประการลูกสุนัขควรบูตและทำงานบนพีซีจริง:
(*) การทดสอบกับ Bochs แสดงให้เห็นว่าลูกสุนัขสามารถบูตในสิ่งที่เก่าแก่เหมือน Pentium Pro แต่สิ่งนี้ยังไม่ได้ทดสอบในฮาร์ดแวร์จริง อนิจจาการบูตสิ่งที่เก่ากว่านั้นเป็นไปไม่ได้ (ดู #63)
(**) การทดสอบกับ QEMU แสดงให้เห็นว่า 33MB เป็นขั้นต่ำที่จำเป็นสำหรับลูกสุนัขในการบูตไปยังผู้ใช้สเปซ แต่สิ่งนี้ยังไม่ได้ทดสอบในฮาร์ดแวร์จริง
หากระบบของคุณมีพอร์ตอนุกรมทางกายภาพคุณควรจะสามารถรวบรวมบันทึกเคอร์เนลซึ่งอาจช่วยในการวินิจฉัยปัญหาการบูตเวลา โดยส่วนตัวแล้วฉันใช้ picocom เพื่อจุดประสงค์นี้ แต่เครื่องมืออื่น ๆ ควรทำงานหากพวกเขาสามารถใช้งานได้ 8N1 115200 แพตช์เพื่อเปิดใช้งานการปรับแต่งการตั้งค่าพอร์ตอนุกรมเมื่อบูตจะได้รับการยอมรับอย่างมีความสุข
การทดสอบกับเสมือนจริงอื่น ๆ และ/หรือฮาร์ดแวร์จริงก็ยินดีต้อนรับมากที่สุด
ในการรวบรวมภาพลูกสุนัขคุณจะต้องใช้ Linux (ดั้งเดิมหรือใน VM/Container; Docker เป็นที่รู้จักกันในการทำงาน) การพึ่งพาสำหรับการรวบรวมมีการอธิบายอย่างเหมาะสมโดย build/deps.sh (สคริปต์ที่ใช้ในการตั้งค่าอินสแตนซ์ CI)
สมมติว่าคุณมีบิตและชิ้นส่วนที่เหมาะสมในการรวบรวมโครงการเพียงพิมพ์
$ ./build.py
ในเปลือก สิ่งนี้จะปั่นป่วนสักพัก (ควรจะต่ำกว่าหนึ่งนาที) และสร้างภาพ HD ที่สามารถบู๊ตได้ out/os.img
ภาพ HD รวมถึงเคอร์เนลเช่นเดียวกับการทดสอบผู้ใช้พื้นที่น้อยที่สุดที่ค่อนข้างน้อย มันสามารถใช้ในการบูต emulator หรือระเบิดบิตกับฮาร์ดดิสก์จริง
การกำหนดค่าตัวอย่างสำหรับสคริปต์ Bochs และ QEMU สามารถพบได้ในไดเรกทอรี build
สมมติว่าทุกอย่างทำงานได้การบูตลูกสุนัขจบลงด้วยพรอมต์เชลล์ ls ทำงานเพื่อเริ่มสำรวจระบบไฟล์
การมีส่วนร่วมในโครงการยินดีเป็นอย่างยิ่ง
รายการปัญหา (https://github.com/egranata/puppy/issues) ได้รับการดูแลอย่างแข็งขันด้วยหน่วยงานใหม่และปัญหาที่จะได้รับประโยชน์จากความช่วยเหลือและ/หรือจุดเริ่มต้นที่ยอดเยี่ยม
หากคุณต้องการลองใช้ซอฟต์แวร์ Porting Userspace ไปยังลูกสุนัขหรือเพิ่มไดรเวอร์สำหรับฮาร์ดแวร์ใหม่นั่นคือยินดีต้อนรับ - ปัญหาใด ๆ ที่คุณพบในการทำสิ่งนี้คุ้มค่าที่จะรายงานอย่างแน่นอน
เพื่อเร่งการบริจาคของคุณไปตลอดทางเพื่อรับการยอมรับโปรดดู CONTRIBUTING.md และทำตามคำแนะนำในนั้น
โปรดทราบว่า นี่ไม่ใช่ผลิตภัณฑ์ของ Google ที่ได้รับการสนับสนุนอย่างเป็นทางการ