سؤال

أريد أن ألعب مع بعض Linux المضمن.أريد أن يكون قادرًا على العمل على معالج x86 (في البداية، سيتم تشغيله على جهاز الكمبيوتر العادي الخاص بي).لقد بحثت عبر الإنترنت، ولكن يبدو من الصعب إعداد تلك التي وجدتها أو تفتقر إلى الوثائق المناسبة.إذًا ما هي بعض توزيعات Linux الجيدة المتوافقة مع x86 والتي يسهل إعدادها أو التي تحتوي على وثائق جيدة حول كيفية إعداد الأشياء؟

هل كانت مفيدة؟

المحلول

نظرًا لأن تعريف "مضمن" يختلف باختلاف من تتحدث إليه ، فإن ما يعتبر توزيع Linux المضمن سيختلف أيضًا.

كما قال آخرون ، يمكنك الذهاب مع مجموعة أدوات بناء التوزيع ، مثل:

يمكنك أيضًا استخدام أي توزيع Linux "قياسي" ، والذي يمكن تخصيصه غالبًا لبيئة مضمنة. لديهم ميزة الاختبار الكثيف في بيئتهم الطبيعية. حتى تتمكن من اختيار أي من:

أخيرًا ، يمكنك أيضًا بناء الخاص بك تمامًا من المصدر. في هذه الحالة، صندوق مشغول من المحتمل أن تكون مفيدة لأنها توفر الكثير من الوظائف والتطبيق المشترك. لمساعدتك في ذلك ، هناك سلسلة Nice 3 Parts: Building Tiny Linux Systems with Busybox (الجزء 1, الجزء 2, ، و الجزء 3)

نصائح أخرى

قد ترغب في إلقاء نظرة على OpenEmbedded مشروع. إنها التوزيع التلوي, ، وهذا يعني أنها أكثر من مجموعة بناء التوزيع بدلاً من التوزيع الجاهز. لكن استخدامه قد يستغرق جهدا من جانبك. وينطبق الشيء نفسه على جميع الحلول المدمجة.

صندوق مشغول

تم تصميم Busybox ليكون قابلاً للتنفيذ صغيرًا للاستخدام مع Kernel Linux ، مما يجعله مثاليًا للاستخدام مع الأجهزة المدمجة. يوفر بيئة كاملة إلى حد ما لأي نظام صغير أو مضمن.

ماذا تقصد بالفعل بـ "Linux المدمجة"؟ يعتمد ذلك على ما تريد تشغيله على ذلك.

على سبيل المثال يمكنك استخدامه OpenWrt, ، ولكن هناك بالتأكيد الآخرين الذين قد يناسبون هدفك بشكل أفضل.

إذا كنت ترغب في بناء بعض الوسائط المتعددة ، مولين قد يكون الحل أيضًا.

قد ترغب في إلقاء نظرة على لوحة بيغل.

إنه ليس x86 ، ولكن مجتمع المطورين اللائق ، وسيعطي فكرة جيدة عن كيفية بناء وتشغيل Linux المضمّن. (أي نظام ملفات فلاش ، ذاكرة الوصول العشوائي المحدودة إلى حد ما ...) ورخيصة حقيقية!

يمكنني أيضًا أن أوصي هذين الكتابين:

بناء أنظمة Linux المدمجة و

Primer Linux المدمجة

سأبدأ بإلقاء نظرة على إخراج أداة Buildroot التي تأتي مع Busybox.

أنت تقترح أنك تريد إجراء توزيع Linux الخاص بك ، فهذا أمر جيد ولكنك تحتاج حقًا إلى معرفة كيفية استخدام واحد موجود أولاً. أفترض أنك تفهم تمامًا كيف يعمل Linux Boots وتعمل على المستوى الأساسي. انك سوف تحتاج

  • نوع من وسائط التمهيد (في بعض الحالات قد يكون هذا عبارة عن ROM ، ولكن عادةً ما لا) يمكن للبرامج الثابتة التمهيد منها (في معظم الحالات ، تكون البرامج الثابتة على x86 نوعًا من BIOS أو BIOS - باستثناء أشياء مثل Macs)
  • محمل التمهيد - أحب استخدام Syslinux لأنه سهل (والأحذية من نظام ملفات DOS)
  • نواة
  • نظام ملفات الجذر من نوع ما - يمكنك استخدام initRAMFs لذلك في هذه الحالة ، يتم تحميله بواسطة محمل التمهيد وتوسيعه في وقت التمهيد. إن InitRamfs باردة ، فهو يتجنب الحاجة إلى برامج تشغيل الجذر "الحقيقية" أو حظر الأجهزة وما إلى ذلك (على حساب بعض ذاكرة الوصول العشوائي ، لكن ذاكرة الوصول العشوائي سهلة).
  • مكتبة التيار المتردد (ما لم يتم ربط جميع إكسبياتك ثابتة)
  • بعض برنامج المستخدمين

أوصي بشدة باستخدام محاكي (مثل VMware) لاختبار ذلك ، فإنه يقلل من وقت التحول كثيرًا. سيحتاج نظام التطوير إلى الحصول على مساحة كبيرة من القرص ، حيث ستحتاج على الأرجح إلى تجميع كل شيء في القائمة أعلاه ، وربما بعض الأدوات الأخرى أيضًا (مثل مكتبة GCC و C) التي ليست صغيرة. ربما يحتاج مربع البناء الخاص بك إلى تشغيل توزيع Linux المناسب.

لقد فعلت هذا وهو أمر ممتع ، لكن محبطًا في بعض الأحيان (يمكن أن يكون التصحيح مهمة في حد ذاته)

اختراق سعيد :)

Busybox + LFS، Gentoo، Arch جميعهم يقومون بالمهمة بشكل جيد

أولاً، عليك تجميع الأشياء الخاصة بك في سجن chroot على كمبيوتر المطور، وأخيرًا لا تحتاج إلى التجميع ولكنك تحتاج إلى عكس/الاحتفاظ بالمستودع الخاص بك لأنه لا يمكنك الحصول على الحزم القديمة من مستودعات القوس الرسمية.

أقترح دبيان

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top