امبدد لینوکس – قسمت پانزدهم – Bootloader (بخش دوم)

امبدد لینوکس – قسمت پانزدهم – Bootloader (بخش دوم)

امبدد لینوکس – قسمت پانزدهم – Bootloader (بخش دوم)
امبدد لینوکس – قسمت پانزدهم – Bootloader (بخش دوم)

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

این کتاب رو می‌توانید از لینک زیر دانلود کنید:

یوبوت U-Boot

بوت لودرهای Bootloader اپن سورس زیاد هستند ولی پرکاربردترینشون که بیشتر از همه هم در حال توسعه هست و معماری‌های بیشتری رو پشتیبانی می‌کنه Das U-Boot هست که معمولا به اختصار بش یوبوت U-Boot می‌گن. در حال حاضر نسخه اصلی یوبوت U-Boot پردازنده‌ها و بردهای زیادی رو پشتیبانی می‌کنه. توضیحات تئوری رو ول کنیم و بریم توی عمل بیشتر باش آشنا شیم.

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

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

دانلود و کامپایل یوبوت U-Boot برای رسپبری‌پای سه بی پلاس

اول بریم اونجایی که باید بریم!

خوب الان سورس کنیم اونچیزی رو که باید سورس کنیم!

خوب حالا بریم توی فولدر مربوط به بوت لودر  Bootloader

خوب حالا گیت کنیم سورس رو:

حالا ببینیم کدوم بردها رو به صورت پیش فرض پشتیبانی میکنه:

خوب خوشبختانه rpi_3_b_plus_defconfig به ما میگه که برد رسپبری‌پای سه مدل بی پلاس رو یوبوت به صورت پیش فرض پشتیبانی می‌کنه 🙂

خوب حالا بریم سراغ کانفیگ کردن و کامپایل یوبوت U-Boot برای رسپبری‌پای سه بی پلاس

اولش باید کراس کامپایلر رو اکسپورت کنیم توی فایل at00exports.sh این کار رو با کامپایلر خودمون کردیم برای کراس کامپایل SQLite ولی از این‌جا به بعد از کامیپایلر لینارو میخوایم استفاده کنیم، اولش یه تغییر مسیر می‌دیم تا کامپایلر جای درستی دانلود بشه:

خب حالا دانلود و اکسترکتش می‌کنیم

خب حالا باز برمی‌گردیم همونجا که بودیم

خب حالا اکسپورتهامون رو انجام می‌دیم

خوب حالا میتونیم تنظیمات مربوط به بردمون رو انجام بدیم:

پیشنهاد میکنم توی منوها به خوبی بگردین تنظیمات جالبی هست که می‌تونید تغییر بدین و شخصی سازی بیشتری انجام بدین روی یوبوت  U-Boot و در نهایت

خوب تازه همه چیز شروع شد! اول ببینیم چه خروجی‌هایی داریم:

که از بین همشون معمولا با اینا کار داریم

uboot embedded linux

خب الان خیلی سوال وجود داره:

چه جوری از یوبوت استفاده کنیم؟ اصلا روی چی باید بریزیمش؟ چه جوری باید بریزیمش؟ این سوال‌ها به دیتاشیت و اطلاعاتی برمیگرده که شرکت سازنده SoC در اختیار ما (یا از ما بهترون!) میذاره. بله درسته از ما بهترون! واقعیت این هست که همیشه در مورد همه‌ی پردازنده این اطلاعات به صورت آزاد و در دسترس همه وجود نداره.

در خصوص رسپبری‌پای سه بی پلاس متوجه می‌شید که با دنیای متن باز به تنهایی نمیشه این برد رو برای لینوکس اماده کرد. رسپبری‌پای سه بی پلاس کارش رو از GPU شروع می‌کنه و بعدش به دنبال یک پارتیشن با فایل سیستم FAT می‌گرده که از توی اون پارتیشن سه تا فایل لازم داره به جز فایل مربوط به بوتلودر. خب اولش پارتیشن رو بسازیم بعدش بریم فایلهایی که میخواد رو دانلود کنیم. برای ساختن پارتشین یک کارت حافظه میکرو اس دی با هر ظرفیتی که دوست دارید رو به کامپوترتون وصل کنید. کارت حافظه من ۴ گیگابایتی هست و ادرسش اینه:

خب اولش مطمئن میشم که مونت نشده و اگه شده از مونت خارجش میکنم:

خب حالا با استفاده از partred کارت حافظه رو پارتیشن بندی میکنم من به جز پارتیشن بوت یه پارتیشن دیگه هم ساختم. اگر با parted آشنا نیستین بشین و کار کردن باش رو یاد بگیرین. نکته اخلاقی به ادرس کارت حافظه‌تون دقت کنید که اشتباهی نباشه چون ممکنه همه اطالاعات هاردتون از دست بره! نکته اخلاقی دو اگه فقط میخواین کپی پیست کنین به اون \ اخر دستورات دقت کنید اگه نباشه به خطا میخورین!

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

bootcode.bin,fixup.dat,start.elf

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

خب الان به جز یه فایل که خودمون باید بسازیمش هر انچه میخواهیم برای اجرای یوبوت رو داریم. این فایل فایل تنظیماتی هست که بوتلودر start.elf لازم داره:

خب حالا پارتیشن FATی که ساختیم رو مونت می‌کنیم و فایل‌هایی رو که باید رو میریزیم توش:

و در نهایت انمونت می‌کنیم کارت حافظه رو و داخل برد میذاریم.

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

و خب خیلی سریع هم باید اینتر رو بزنین که وارد محیط یوبوت U-Boot بشین.

به عنوان اولین دستور  یوبوت U-Boot این رو اجرا کنید:

 

لینک های مفید:

لینک 1

لینک 2

لینک 3

یه سری هم به نظرات این پایین بندازید، نظرات رو بخونید و اگر شما هم نظری دارید، لطفا با ما به اشتراک بگذارید!

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

برچسب ها

حمایت از Rich_Dad IRANEMBEDDED

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

2 نفر

پــــســنــدیـده انـد

توجه

Rich_Dad IRANEMBEDDED
Rich_Dad IRANEMBEDDED

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

دیدگاه ها

0 دیدگاه

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

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

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

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

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

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

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک