مشروع TCCBOOT هو محمل قادرة على تجميع وتشغيل نواة لينكس مباشرة من شفرة المصدر التمهيد.
TCCBOOT ليست سوى 138 KB كبيرة (رمز غير مضغوط) وأنه يمكن تجميع وتشغيل نواة لينكس نموذجية في أقل من 15 ثانية على بنتيوم 4 2.4 غيغاهرتز.
ويستند TCCBOOT على TinyCC مترجم، المجمع ورابط. TinyCC هو تجربة لإنتاج مترجم C صغير جدا وبسيط متوافق مع مترجم GNU C والمرافق الثنائية.
الأحذية TCCBOOT بنفس طريقة نواة لينكس، لذلك أي محمل التمهيد التي يمكن تشغيل لينكس صورة نواة 'bzImage "يمكن تشغيل TCCBOOT. أنا فقط اختباره مع ISOLINUX، ولكن LILO أو GRUB يجب أن تعمل أيضا.
TCCBOOT يقرأ C أو التجميع مصادر من الملفات ROMFS gzipped تخزينها في رام القرص الأولي (initrd). لأول مرة يقرأ ملف التمهيد / tccargs 'الذي يحتوي على سطر الأوامر TinyCC (نفس بناء الجملة كما قابل للتنفيذ TCC). الاحتجاج TinyCC ينبغي إخراج صورة ثنائية واحدة 'النواة'. يتم تحميل هذه الصورة في عنوان 0x00100000. TCCBOOT ثم يقوم انتقل إلى 0x00100000 عنوان في وضع مسطح 32 بت. هذا هو متوافق مع ABI من 'vmlinux "صورة النواة.
تجميع:
تم اختبار TCCBOOT فقط مع لينكس 2.4.26. من أجل بناء TCCBOOT، يجب عليك تجميع أول نواة 2.4.26 لأن البساطة TCCBOOT يستخدم بعض الملفات الثنائية ورؤوس من نواة لينكس. TCCBOOT أيضا بحاجة إلى شفرة المصدر من TinyCC (اختبار مع TinyCC الإصدار 0.9.21). يمكنك تعديل ماكيفيلي لإعطاء مسارات الحاجة.
على سبيل المثال:
يتم تضمين قسم ROMFS "مرحبا أيها العالم" (initrd.img). يمكنك إعادة بنائه من المثال / الدليل. يمكنك اختبار ذلك مع PC محاكي كيمو مع 'كيمو-tccboot' النصي.
نواة تجميع:
لمعلوماتك، والتصحيح "لينكس 2.4.26-tcc.patch" يعطي التعديلات اللازمة لبناء نواة لينكس مع TCCBOOT (ملاحظة: أنها ليست suffisant لبناء النواة مع Makefiles الخاصة به - لم أحاول أبدا). تكوين نواة المقابلة في ملف ينكس 2.4.26-التكوين. بقع ضرورية للأسباب التالية:
- غير معتمد توجيهات الجمعية: .rept، .endr، .subsection
- '__ASSEMBLY__ # تعريف "المطلوب في مصادر التجمع
- لا يمكن أن ينظر المتغيرات ثابتة من رمز التجميع مضمنة
- مشاكل في الكتابة / lvalue مع '؟ : "
- حقول بت لا طويلة جدا
- 'الانحياز' سمة غير معتمدة لالبنيات كلها، فقط للحقول
- obscur المعالج علة
بعض من هذه المشاكل يمكن بسهولة أن تكون ثابتة، ولكن أنا كسول جدا الآن. فمن المؤكد أنه لا تزال هناك العديد من الأخطاء في النواة الناتجة عن TinyCC / TCCBOOT، إلا أنها على الأقل يمكن التمهيد وإطلاق قذيفة.
تفاصيل البرنامج:
الإصدار: 0.1
تاريخ إيداع: 3 Jun 15
ترخيص: كومبيوتري
السعر: 0.00 $
شعبية: 58
لم يتم العثور على التعليقات