Elinux, توصیه شده, مقاله

امبدد لینوکس – قسمت نهم – Toolchain یا زنجیره‌ای از ابزارهای لازم برای ساختن همه چیز (بخش پنجم)

آموزش امبدد لینوکس

(فصل دوم – بخش پنجم)

قسمت قبل

 

در قسمت‌های قبلی آموزش، مسیر حرکت و فصل‌های پیش رو، بسیاری از مفاهیم مورد نیاز و سؤال‌ها و ابهامات شما در این دوره پاسخ داده شده است.
پس اگر اولین بار است که این آموزش را شروع می‌کنید، با توجه به سلسله مراتب پیش بینی شده برای آموزش‌ها، بهتر است از جلسه اول شروع کنید!
جلسه اول آموزش، ورود به دنیای امبدد لینوکس
همه آموزش‌های امبدد لینوکس


 

ساختن تولچین Toolchain

برای ساختن تولچین گنو دو تا راه کلی وجود داره، یکی این‌که خودمون هر جزء از اون رو دانلود کنیم و بعد همه رو با هم کامپایل کنیم و یک راه دیگه هم این‌که از یه سری ابزارها برای این کار استفاده کنیم.

روش اول به دلیل این که اجزای تولچین هر کدوم نسخه‌های خودشون رو دارن و این نسخه‌ها با هم بعضا سازگاری ندارن کار بسیار زمان‌بری هست چون باید دونه دونه نخسه‌های مختلف هر قسمت رو دانلود کنیم و بذاریم کامپایل شه و بعد ببینیم چی با چی ناسازگاری داره و نسخه رو عوض کنیم و باز همین پروسه رو بریم تا به نتیجه برسیم!

برای کار در راه اول، اگه کسی علاقه داشت می‌تونه بره سراغ این سایت:

http://www.linuxfromscratch.org/

 

ما روش دوم رو انتخاب می‌کنیم و ابزاری هم که باهاش این کار رو می‌خواهیم انجام بدیم اسمش crosstool-NG هست که زمان کریم اسمش crosstool بوده.

البته ابزارهای دیگه‌ای هم هست واسه این کار که با یکیشون توی فصل‌های بعدی آشنا می‌شیم.

 

کراس تول ان جی یا کراس تول (crosstool / crosstool-NG)   چیست؟

سال‌ها پیش آقای Dan Kegel یه سری اسکریپ و makefile نوشت برای ساختن کراس تولچین و اسمش رو گذاشت crosstool که خوشبختانه هنوز هم از این آدرس قابل دسترس هست:

http://kegel.com/crosstool/

 

بعدها آقای Yann E. Morin اومد پشتیبانی از uClibc رو به کار آقای Kegel اضافه کرد و اسمش رو گذاشت crosstool-NG که اون NG مخفف Next Generation هست.

اگه یه سر به سایت crosstool-NG بزنیم می‌بینیم که خودش خودش رو اینجوری معرفی کرده:

Crosstool-NG is a versatile (cross) toolchain generator. It supports many architectures and components and has a simple yet powerful menuconfig-style interface.

به زبون خودمونی crosstool-NG یک تولچین‌ساز همه کاره است که معماری‌های بسیاری رو پشتیبانی می‌کنه و رابط کاربریش هم menuconfig طور هست. حالا menuconfig چیه؟ عجول نباشین، می‌بینمیش یکم دیگه.

 

دانلود و نصب crosstool-NG

یا علی گفتیم و کارهای عملی آغاز شد!

یه سر به قسمت داکیومنت سایت می‌زنیم ببینیم برای نصب چه باید کرد:

http://crosstool-ng.github.io/docs/ 

بله فقط فهرست اینجا هست و دیگر هیچ 🙂

پس می‌ریم به قسمت Installing crosstool-NG.

گفته که با توجه به سیستم‌عامل هاست یه سری پیش نیازها هست که برید از  اینجا ببینید.

خوش‌بختانه کریس رفته دیده و می‌گه که باید این‌ها رو نصب کنید:

 

حالا قبل از اینکه بریم واسه دانلود کردن crosstool-NG من یکم منظم‌سازی می‌کنم

 

خب حالا می‌ریم واسه گیت کردن و ساختن و نصب  crosstool-NG.

 

 اول اینجوری گیتش می‌کنیم:

 

بعد میریم توی فولدرش

 

بعد با این دستور می‌بینیم که چه نسخه‌ای هست

 

که به من می‌گه

 

همنیجا بگم که اگه گیت رو بلد نیستین برین از عمو جادی یاد بگیرین!

حالا قبل از make باید اسکریپت bootstrap رو اجرا کنیم

 

خب مثل هر سورس دیگه‌ای توی لینوکس مراحل رو می‌ریم فقط من ترجیح می‌دم که بش بگم قراره اینجا نصب شی

 

پس سه تا دستور زیر رو اجرا می‌کنیم

 

 

خب اگه همه چی خوب پیش بره خروجی این دستور باید واستون جذاب باشه!

 

تولچین Toolchain

 

 

خب حالا شما یکم به این اسم‌ها دقت کنید و سعی کنید یکم با crosstool-NG بازی کنید تا باهاش بیشتر آشنا بشید، چون توی قسمت بعد بدردتون خواهد خورد.

 

پایان بخش پنجم از فصل دوم

قسمت بعد (قسمت دهم – بخش ششم این فصل) را از اینجا میتونید مطالعه کنید، اما بهتره قبلش یه سری هم به نظرات این پایین بندازید، نظرات رو بخونید و اگر شما هم نظری دارید، مشارکت کنید!

همه آموزش های امبدد لینوکس

Rich_Dad

درباره Rich_Dad

طراحی،بومی سازی، بهینه سازی و تولید سیستم هاومحصولات الکترونیکی وکنترلی،با توجه به تکنولوژی روز و نیاز تولیدکنندگان میهن عزیزمان ایران درحوزه های تجاری،صنعتی و تجهیزات پزشکی

انتشار مطالب با ذکر نام و آدرس وب سایت سیسوگ، بلامانع است.

شما نیز میتوانید یکی از نویسندگان سیسوگ باشید.   همکاری با سیسوگ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

10 دیدگاه در “امبدد لینوکس – قسمت نهم – Toolchain یا زنجیره‌ای از ابزارهای لازم برای ساختن همه چیز (بخش پنجم)

  1. سجاد گفت:

    درود و خسته نباشید

  2. سلام و تشکر بابت آموزش.
    «گفته که با توجه به سیستم‌عامل هاست یه سری پیش نیازها هست که برید از اینجا ببینید.»
    تقریبا سخت ترین بخش ساخت crosstoll این بخش هست که نیاز داره به کار با داکر(البته با توجه به متفاوت بودن نسخه سیستم عامل ها و کتابخانه های مختلف ،استفاده از داکر منطقی هست).جادی عزیز یه آموزش در رابطه با داکر داره که دوستانی که آشنایی ندارن میتونن استفاده کنن.
    Rich_Dad عزیز بهتر بود این بخش رو بیشتر توضیح میدادید.

    1. Rich_Dad Rich_Dad گفت:

      سلام جناب اسماعیلی عزیز و عرض تشکر
      در نظر داشته باشید این آموزش مقدماتی می باشد و ترجیح در ساده سازی روند مقاله می باشد.
      به همین خاطر در ابتدا مشخص کردیم، سیستم عامل فلان نسخه از Ubuntu است و با توجه به این مطلب پیش نیازهای crosstool-NG ذکر شده.
      البته در حالت کلی و در نظر نگرفتم موارد بالا صحیح می فرمایید.
      موفق باشید

  3. احسان گفت:

    سلام
    خیلی ممنون
    کاش یه مقدار سرعت بیشتری داشت آموزش ها

    1. Rich_Dad Rich_Dad گفت:

      سلام بر احسان عزیز
      ما تمام تلاشمون را داریم انجام میدیم و اغلب بخش های جدید، از قبل نوشته میشه.
      البته مدیریت پروژه های در حال تحویل و اجرای طرح های پیش رو هم هست که می بایست به سرانجام برسونیم تا در این شرایط توانسته باشیم، موثرتر واقع بشویم.
      با تشکر از توجه شما به مطالب

      1. احسان گفت:

        خیلی هم عالی
        کمتر کسی مطالبی به این ارزشمندی در اختیار دیگران قرار میده
        ممنون

        1. Rich_Dad Rich_Dad گفت:

          محبت دارید، هدف ارتقای سطح دانش و همدلی مابین نیروهای فنی ایران زمین و همچنین ایجاد بستری برای همکاری در زمینه های فنی است🌷

  4. عباس گفت:

    سلام. مهندس عالی پیش میرید. خسته نباشید