مرحبا بكم في جرو.
Puppy هو نظام تشغيل لأجهزة الكمبيوتر المتوافقة مع IBM مع وحدة المعالجة المركزية 32 بت (ربما تكون قد سمعت عن هذا النوع من الأجهزة تحت اسم الكمبيوتر الشخصي ).
بدأ تطوير PUPPY في الأول من يناير 2018 ، وكان المشروع مفتوح المصدر منذ 29 مايو 2018. ومنذ ذلك الحين ، نما نظام التشغيل لتوفير:
يتضمن Puppy أيضًا مكتبة قياسية C/C ++ جزئية (أبرزها غائب IS C ++ iostream ).
تتكون مساحة مستخدمي Puppy من مزيج من الأدوات المخصصة بالإضافة إلى أدوات المصدر المفتوح المحفوظ. والجدير بالذكر أنه لا يوجد أدوات C ++ الكاملة ، ولكن يتوفر منفذ micropython للبرمجة النصية.
تتم تغطية الأهداف والميزات المستقبلية بواسطة https://github.com/egranata/puppy/issues. على الرغم من أنني سأكون سعيدًا جدًا بقبول المدخلات من حيث أفكار الميزات وكذلك التصحيحات (ولكن انظر أدناه) ، فإن بعض الأشياء غير صريحة ، وهي:
يتم اختبار الجرو بنشاط على QEMU - وأحيانًا bochs. 

على افتراض تلبية بعض المتطلبات ، يجب على الجرو التمهيد والعمل على جهاز كمبيوتر فعلي:
(*) يشير الاختبار مع bochs إلى أن الجرو يمكنه التمهيد على شيء قديم مثل Pentium Pro ، ولكن هذا غير مختبر على أجهزة حقيقية. للأسف ، لا يمكن حاليًا عملية التمهيد على أي شيء أقدم (انظر #63).
(**) يشير الاختبار مع QEMU إلى أن 33 ميغابايت هو الحد الأدنى المطلوب للجرو للتمهيد على مساحة المستخدمين ، ولكن هذا لم يتم اختباره على أجهزة حقيقية.
إذا كان لدى نظامك منفذ تسلسلي مادي ، فيجب أن تكون قادرًا على جمع سجلات kernel التي قد تساعد في تشخيص مشكلة وقت التمهيد. أنا شخصياً أستخدم picocom لهذا الغرض ، ولكن يجب أن تعمل الأدوات الأخرى إذا كانت قادرة على تشغيل 8N1 115200. سيتم قبول التصحيحات لتمكين تخصيص إعدادات المنفذ التسلسلي في التمهيد.
إن الاختبار على أجهزة الافتراضية الأخرى و/أو الأجهزة الحقيقية هو أيضًا موضع ترحيب كبير.
لتجميع صورة جرو ، ستحتاج إلى استخدام Linux (أصليًا أو في حاوية/حاوية ؛ من المعروف أن Docker يعمل). يتم وصف تبعيات التجميع بشكل مناسب بواسطة build/deps.sh (البرنامج النصي المستخدم لإعداد مثيل CI).
على افتراض أن لديك القطع والقطع المناسبة في مكانها ، لتجميع المشروع ، فقط اكتب
$ ./build.py
في قذيفة. سيؤدي ذلك إلى الانتهاء لفترة من الوقت (يجب أن يكون أقل من دقيقة) وإنتاج صورة عالية الدقة قابلة للتمهيد out/os.img .
تشتمل صورة HD على kernel ، بالإضافة إلى مجموعة من الاختبارات المتخصصة في الفضاء الأدنى إلى حد ما. يمكن استخدامه لتمهيد محاكي ، أو تفجيس قليلاً على قرص ثابت حقيقي.
يمكن العثور على تكوين عينة لـ BOCHS و QEMU Launcher Script في دليل build .
على افتراض أن كل شيء يعمل ، ينتهي جرو التمهيد بمطالبة قذيفة. يعمل ls على البدء في استكشاف نظام الملفات.
المساهمات في المشروع مرحب بها للغاية.
يتم الحفاظ على قائمة المشكلات (https://github.com/egranata/puppy/issues) بنشاط مع وحدات عمل جديدة ، والمشكلات التي ستستفيد من المساعدة و/أو يتم تمييز نقاط انطلاق رائعة على هذا النحو.
إذا كنت ترغب في محاولة نقل برنامج UsperSpace إلى Puppy ، أو إضافة برامج تشغيل للأجهزة الجديدة ، فهذا أمر مرحب به أيضًا - أي وجميع المشكلات التي تواجهها تفعل ذلك بالتأكيد تستحق الإبلاغ.
من أجل الإسراع في مساهمتك على طول الطريق إلى القبول ، يرجى الاطلاع على CONTRIBUTING.md .
يرجى العلم أن هذا ليس منتج Google المدعوم رسميًا .