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

blog
۱۳۹۹-۰۶-۱۸
4 دقیقه

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

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

قسمت قبل

 

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

 

ساختن تولچین 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 بازی کنید تا باهاش بیشتر آشنا بشید، چون توی قسمت بعد بدردتون خواهد خورد.

 

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

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

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

اطلاعات
23
0
لینک و اشتراک
profile

Rich_Dad (آنی روت)

متخصص الکترونیک

طراحی، بهینه سازی و تولید محصولات الکترونیکی، درحوزه های تجاری،صنعتی و تجهیزات پزشکی، مجری سیستم های امبدد لینوکس *( مهندسی-بازرگانی آنی روت https://aniroot.com )

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

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

دیدگاه ها

profile
علیخانی گفت :
۱۴۰۳-۰۵-۰۶ ۱۲:۴۳

reza@areza-ThinkPad-P50:~/EmbededLinux/f1c100s/build-tools/crosstool-ng$ dir
ABOUT-NLS bash-completion config.h.in configure contrib debian kconfig m4 Makefile.in po scripts verbatim-data.mk
aclocal.m4 bootstrap config.h.in~ configure~ COPYING docs LICENSE maintainer packages README.md testing
autom4te.cache config config.log configure.ac ct-ng.in issue_template.md licenses.d Makefile.am paths.sh.in samples TODO
areza@areza-ThinkPad-P50:~/EmbededLinux/f1c100s/build-tools/crosstool-ng$ make
make: *** No targets specified and no makefile found. Stop.
areza@areza-ThinkPad-P50:~/EmbededLinux/f1c100s/build-tools/crosstool-ng$ sudo make install
[sudo] password for areza:
make: *** No rule to make target ‘install’. Stop.

profile
احمدرضا علیخانی گفت :
۱۴۰۳-۰۵-۰۳ ۲۰:۴۰

درود بر شما. من تا اینجا دروس را دنبال کرده ام اما دو دستورmake,make install اجرا نمی شود(no such file or directory) ubuntu 24.04 کار می کنم
لطفا راهنمایی فرمایید

profile
Mahdi.h   گفت :
۱۴۰۳-۰۵-۰۶ ۱۱:۱۸

سلام. قبلش دستور configure رو اجرا کردید ؟
بدون ارور اجرا شده ؟

profile
احمدرضا علیخانی گفت :
۱۴۰۳-۰۵-۰۶ ۱۲:۰۷

بلی در دایرکتوری دو فایل Makefile.in و Makefile.am وجود داردکه توی اینترنت سرچ کرده ام میگه باید توی دایرکتوریMakefile بدون پسوندوجود داشته باشه(دایرکتوریcrosstool-ng),configure هم اجراشده
ممنون

profile
Mahdi.h   گفت :
۱۴۰۳-۰۵-۰۸ ۱۰:۵۴

همونطور که گفتم باید بدون ارور اجرا شده باشه.
برای اینکه راحت تر بتونیم پیش بریم سوالتون رو داخل انجمن بپرسید
خروجی دستور configure رو هم قرار بدید
https://ask.sisoog.com/

profile
صاحبی گفت :
۱۴۰۰-۰۳-۲۳ ۱۳:۲۹

سلام
کراس تول ان جی نصب شد.
فقط مشکلی که من خوردم DNS لینوکسم آی پی ایرانی بود، برای همین بعضی از پکیج‌ها رو نصب نمیکرد دستور apt-get update خطای دریافت اطلاعات میزد. DNS ها رو به 8.8.8.8 و 1.1.1.1 تغییر دادم اون چندتا پکیجی که نصب نمیشدن، نصب شدن و بعدشم به سلامتی دستور ct-ng list-sample اجرا شد.

ممنونم و سپاسگذارم

profile
آنی روت گفت :
۱۴۰۳-۰۳-۱۲ ۱۵:۰۵

سلام وقتتون بخیر
ممنون از همراهی شما

profile
Pouya گفت :
۱۴۰۰-۰۱-۲۳ ۰۸:۴۷

سلام … ابزار هایی که برای اجرای کامند های فوق بود کامل نبود.
من از ubuntu linux استفاده می کنم البته.
که برای اجرای کامند ها باید قبلش دوتا ابزار دیگه که با دستور های زیر می تونید نصب کنیدشون.
sudo apt install help2man
sudo apt install libtool-bin

profile
آنی روت گفت :
۱۴۰۳-۰۳-۱۲ ۱۵:۰۶

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

profile
Rich_Dad گفت :
۱۴۰۰-۰۲-۰۶ ۱۶:۰۶

سلام بر پویا
بله دقیقا ممکنه روی هر سیستم یک سری نیازمندیها وجود نداشته باشه که با خواندن خطا ها میشه پیداش کرد و برطرفش کرد.

profile
Pouya Mohammadi گفت :
۱۴۰۰-۰۱-۲۵ ۱۹:۱۳

البته اینو بگم که برای هر کسی ممکنه هر اتفاقی بیوفته اخرش که متفاوته با دیگری … حتما ارور هاتون رو بخونید شاید با یه sudo apt install توی اون مراحل نصب کارتون راه بیوفته 🙂

profile
محمد پورخلیلی گفت :
۱۳۹۹-۱۱-۰۳ ۱۳:۵۰

سلام و تشکر، من کلی داخل نت برای f1c100s سرچ کردم اما هیچکدوم مطالبشون پیوسته و پایه ای نبود.

profile
Rich_Dad گفت :
۱۳۹۹-۱۱-۰۶ ۱۷:۵۶

سلام جناب پورخلیلی عزیز
بله تولید و یا نشر محتوای پیوسته برای چیپ های متنوعی که در حال حاضر با این سرعت به بازار می آیند می تواند کار طاقت فرسایی باشد، مخصوصاً اگر نیاز باشد بخش های مختلف این آی سی ها راه اندازی شود، بر همین اساس اهمیت فراگیری فن ماهیگیری در این زمینه بارز تر است تا افراد خودشان بتوانند نسبت به تامین نیازشان اقدام نمایند
البته در این میان دستیابی به اطلاعات کار با برخی پردازنده ها یا بخش هایی از آنها به صورت مستقیم در دسترس نمی باشد و می بایست برای آن هزینه نمود تا کدها و کتابخانه های مورد نظر در دسترس قرار بگیرند، دقیقاً مانند کاری که ما در طراحی آیفون یا درب بازکن تصویری با آن روبرو بودیم و به همین نحو به انجام رساندیم و در حال حاضر به بیشتر بخش های پردازنده های آن پروژه به صورت عملیاتی دسترسی داریم.

profile
سجاد گفت :
۱۳۹۹-۰۶-۲۷ ۱۴:۱۳

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

profile
Rich_Dad گفت :
۱۳۹۹-۰۶-۲۹ ۰۸:۱۸

سلام و تشکر

profile
CounterMader گفت :
۱۳۹۹-۰۶-۲۵ ۱۲:۴۷

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

profile
Rich_Dad گفت :
۱۳۹۹-۰۶-۲۹ ۰۷:۵۵

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

profile
احسان گفت :
۱۳۹۹-۰۶-۱۹ ۲۳:۴۰

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

profile
Rich_Dad گفت :
۱۳۹۹-۰۶-۲۵ ۱۷:۳۱

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

profile
احسان گفت :
۱۳۹۹-۰۶-۲۵ ۱۸:۵۸

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

profile
Rich_Dad گفت :
۱۳۹۹-۰۶-۲۹ ۰۸:۲۲

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

profile
عباس گفت :
۱۳۹۹-۰۶-۱۹ ۰۰:۵۷

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

profile
Rich_Dad گفت :
۱۳۹۹-۰۶-۲۵ ۱۷:۲۶

سلام و تشکر

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله