امبدد لینوکس قسمت بیست و یکم: فایل سیستم‌ها (بخش دوم)

blog
۱۴۰۱-۱۰-۱۴
2 دقیقه

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

در قسمت قبل به بررسی سیستم فایل پرداختیم و به init رسیدیم، در این قسمت مطالب قسمت قبل را کامل‌تر می‌کنیم.

 

چاقوی سویسی بردت رو بردار

BusyBox که روز اول بی‌ربط به امبددلینوکس نوشته شد الان قلب تپنده خیلی از امبدد سیستم‌ها هست. BusyBox رو براساس قانون ۸۰/۲۰ نوشتن. یعنی این برنامه با ۲۰ درصد فضا ۸۰ درصد کارهای بدردبخور رو انجام میده، خیلی از امکانات لینوکس دسکتاپ رو داره و خیلی از برنامه‌های لینوکس مثل init، cat، top، vi و … داخلش هست. همه این برنامه‌ها توی یک فایل اجرایی هستن. حالا بریم BusyBox رو دانلود و بیلد کنیم:

خبر خوب اینکه سیستم تنظیمات و بیلد BusyBox مثل یوبوت و کرنل و کراستول انجی هست 🙂

حالا بریم توی پیکربندیش ببینیم چه خبره!

menuconfig

چقدر اپلت مختلفه و امکانات زیادی داره! جالبه جلوی هر اپلت سایزش رو هم نوشته، چون ما روی بردمون به اندازه خدا! حافظه داریم من همه رو میذارم فعال باشه.

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

امبدد لینوکس قسمت بیست و یکم: فایل سیستم‌ها (بخش دوم)

 

حالا بریم بیلدش کنیم و نصبش کنیم:

مثل بقیه اینجا هم باید کراس کامپایلر و معماری رو مشخص کنیم پس اول سورس میکنیم.

حالا ببینم با این همه اپلت حجمش چقدر شد:

بله ۱.۱ مگ! فقط و فقط حالا بریم نصبش کنیم سر جاش

 

Device Nodes

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

توی لینوکس هم همه دیوایس‌ها یه نود هستن.

نود ممکنه به یه دیوایس از نوع block یا از نوع character اشاره کنه.

به‌جز حافظه‌ها همه‌ی دیوایس‌ها از نوع character هستن.

ما باید برای همه‌ی دیوایس‌هامون نود رو از قبل بسازیم و یا اینکه از برنامه‌ای استفاده کنیم که در زمان اجرا همه نودها رو به سازه.

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

تایپ یا c هست یا b که مشخصه به چی اشاره داره

major, minor هم از فایل Documentation/devices.txt توی سورس کرنل قابل‌دسترس هستن.

فعلاً برای این سیستم حداقلی ما دو تا نود کفایت میکنه که با دستور mknode میسازیمشون:

 

فایل سیستم‌های sysfs و proc

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

توی این دوتا یه سری فایل هست که بعضی‌هاشون فقط خواندنی و بعضی‌ها هم خواندنی و هم نوشتنی هستن.

در حقیقت این دوتا یه راه ارتباطی با کرنل و درایورهای دیوایس‌ها هستن.

 

ماژول‌های کرنل

اگر ماژولی داره کرنلتون که بعداً قرار هست ازش استفاده کنید اون رو هم باید توی این قسمت کپی کنید

پیدا کردن ماژول‌ها دونه دونه خیلی کار سختی هست واسه همین پیشنهاد می‌کنم از خود make کرنل استفاده کنید:

INSTALL_MOD_PATH آدرس روتمون هست که حتماً حتماً حتماً باید ست به شه وگرنه همه‌چیز میریزه به هم!

فعلاً برای ساخت سیستم حداقلیمون ماژول‌های کرنل رو اضافه نمی‌کنیم.

اطلاعات
0
0
لینک و اشتراک
جلسات دیگر
امبدد لینوکس

امبدد لینوکس قسمت بیستم: فایل...

جلسه قبل
profile

Rich_Dad (آنی روت)

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

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

مقالات بیشتر
become a writer

نویسنده شو !

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

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

نویسنده شو !

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

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

سیسوگ‌شاپ

فروشگاه محصولات Quectel

پالت

سیسوگ فروم

محلی برای پاسخ پرسش‌های شما

سیسوگ جابز
سیسوگ
سیسوگ فروم

سی‌کار

اولین مرجع متن باز ECU در ایران

سیسوگ مگ

آی‌سی

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

سیسوگ آکادمی

پالت

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

دیدگاه ها

become a writer

نویسنده شو !

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

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

نویسنده شو !

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

ارسال مقاله