توصیه شده, RASPBERRY PI رسپبری, Microcontroller, Source Code, Raspberry Pi

سیستم عامل یونیکسی FUZIX برای رزبری پای Pico و میکروکنترلر RP2040

FUZIX یک سیستم عامل قدیمی دانشگاهی و نسخه‌ای کلون شده از یونیکس است که برای میکروکنترلر 8 بیتی Zilog Z80 نوشته شده است. این سیستم عامل در سال 2014 توسط آقای Alan Cox به‌صورت عمومی منتشر شد. آقای Alan Cox که یکی از توسعه دهندگان پرکار هسته لینوکس بود، در سال 2013 از جمع توسعه دهندگان لینوکس خارج شد. وی این سیستم عامل را برای کسانی که به دنبال نوستالژی و روزهای خوب قدیم هستند، توصیه می‌کند. روزهایی که تمام کدها روی یک فلاپی جا می‌شد!

سیستم عامل FUZIX برای معماری‌های دیگر، مثل 6502، 68000 و MSP430 نیز پورت شد. آقای دیوید گیون (David Given) که قبلاً این سیستم عامل را برای MSP430 و ESP8266 پورت کرده بودند، هم اکنون این سیستم عامل را برای رزبری پای پیکو با میکروکنترلر RP2040 هم پورت کردند! یعنی شما می‌توانید سیستم عامل یونیکس را بر روی یک میکروکنترلر 4 دلاری اجرا کنید!

 

 

کامپایل کردن و اجرای FUZIX از منبع (Building from source)

سیستم عامل FUZIX که بر روی میکروکنترلر RP4020 اجرا می‌شود، نوعی یونیکس است که رابط کنسول آن پورت سریال و USART0 میکروکنترلر است. همچنین FUZIX از SD کارت پشتیبانی کرده و هم از فایل‌های سیستمی و هم ناحیه swap استفاده می‌کند. هر چند ایمیج باینری آن به صورت آماده برای دانلود وجود دارد، اما می‌توانید خودتان هم سورس آن را کامپایل کنید.

برای این کار، باید ابتدا تولچین رزبری پای پیکو (Pico) و SDK های C/C++ را بر روی سیستم خود داشته باشید.
سپس به کمک گیت، نسخه پورت شده سیستم عامل FUZIX برای رزبری پای پیکو را دریافت کنید.

حال، دایرکتوری را به platform-port تغییر دهید:

 

اولین خط فایل Makefile را ویرایش کرده و مسیر pico-sdk را وارد کنید. برای بیلد کردن پروژه برای رزبری پای پیکو، باید فایل pico_setup.sh را اجرا کرده و یا طبق دستورالعمل‌های وب سایت رزبری پای عمل کرده و مسیر SDK را در این متغیر ذخیره کنید.

 

بعد از این مرحله، شما هم می‌توانید FUZIX UF2 و هم فایل‌های سیستمی مربوط به روت را بیلد کنید.

 

اگر همه چیز درست پیش رفته باشد، شما باید یک فایل UF2 در مسیر build/fuzix.uf2 و یک فایل ایمیج به نام filesystem.img در مسیر فعلی خود داشته باشید.
حالا می‌توانید به صورت معمولی فایل UF2 را بر روی رزبری پای پیکو Pico اجرا کنید.

کابل میکرو USB را به کامپیوتر متصل کنید و هنگامی که می‌خواهید طرف دیگر را به رزبری پای پیکو وصل کنید، دکمه BOOTSEL را نگه دارید. وقتی برد به کامپیوتر متصل شد، دکمه را رها کنید.
حافظه رزبری پای با نام RPI-RP2 باید بر روی دسکتاپ شما ظاهر شود. فایل UF2 را بر روی آن ذخیره کنید. بعد از این کار، حافظه به طور خودکار از کامپیوتر شما جدا شده و رزبری پای پیکو شما پس از ریستارت، سیستم عامل Unix را اجرا می‌کند. اما متأسفانه بدون فایل سیستم قادر به اجرای هیچ کاری نمی‌باشد.

 

ساخت SD کارت بوتیبل

فایل ایمیج filesystem.img که بیلد کردیم، قابل بوت شدن (Bootable) نیست. از طرفی، متأسفانه برای ساخت یک دیسک بوتیبیل برای رزبری پای پیکو، همانند نسخه‌های قبلی شما نمی‌توانید به راحتی با نرم افزارهایی مثل Etcher و… این کار را انجام دهید. برای ساخت ایمیج بوتیبل، شما باید مراحل بعدی را نیز انجام بدهید. ابزارهای معرفی شده برای لینوکس هستند، اما در ویندوز و مک نیز تقریباً با روشی مشابه می‌توانید همین مسیر را ادامه دهید.

فایل سیستم ما تنها 34 مگابایت حجم دارد، اما SD CARD های موجود، معمولاً بالای 2 گیگابایت حافظه دارند، که البته موضوع مهمی هم نیست.

SD کارت را درون رم ریدر قرار داده و آن را به کامپیوتر و یا رزبری پای (نسخه کامپیوتر) متصل کنید. ما قرار است یک جدول بر روی آن بسازیم که دو پارتیشن برای ما ایجاد کند. 2 مگابایت برای ناحیه swap و 32 مگابایت برای root سیستم عامل (فایل filesystem.img) در نظر می‌گیریم.

اتصال SD کارت به رزبری

بعد از اینکه SD کارت را متصل کردید، می‌توانید با دستور lsblk از طریق کامندلاین آن را مشاهده کنید. اگر حافظه شما خالی و بدون پارتیشن باشد، آن را به‌صورت /dev/sda خواهید دید.

 

اما اگر کارت شما از قبل فرمت شده و آماده باشد، خروجی شبیه به زیر را خواهید دید.

 

در خروجی بالا، حافظه ما به‌صورت FAT و از نوع MBR فرمت شده و نام آن “USB” است. کامپیوتر شما آن را به‌صورت اتوماتیک در /media/pi/USB قرار داده یا به اصطلاح mount کرده است.
اگر حافظه شما mount شده، باید با دستور زیر آن را unmount کنید:

 

حال، با دستور lsblk خروجی زیر را خوهید دید:

 

با پاک کردن بیت صفرم (شروع) حافظه، شما می‌توانید جدول پارتیشن بندی آن را از بین ببرید.
نکته مهم: در استفاده از این دستور کاملاً دقت کنید، زیرا ممکن است اطلاعات دیگر خود را به اشتباه حذف کنید.

 

اگر مجدداً دستور lsblk را اجرا کنید، خواهید دید که پارتیشن شما از بین رفته است.
در مرحله بعد با استفاده از دستور fdisk یک جدول پارتیشن جدید ایجاد می‌کنیم.

 

در اینجا حرف “o” را وارد کنید تا یک DOS disklabel ایجاد شود.

 

سپس با وارد کردن “n” یک پارتیشن جدید ایجاد میکنیم.

 

ممکن است در این مرحله پیامی مبنی بر وجود امضا (contains a vfat signature) به شما نمایش داده شده و از شما پرسیده شود که این امضا پاک شود یا خیر. در این صورت شما حرف “Y” را تایپ کنید.
در مرحله بعدی، نوع پارتیشن “7F“ تنظیم می‌کنیم.

 

ناحیه swap سیستم عامل FUZIX ایجاد گردید. حال، باید یک پارتیشن 32 مگابایتی برای فایل سیستم ایجاد کنیم.

 

بعد از این مرحله، اگر “p” را در fdisk وارد کنید، خروجی زیر را مشاهده خواهید کرد:

 

حال، برای ذخیره جدول پارتیشن بندی، “w” را وارد کنید.
در نهایت، فایل سیستم را در پارتیشن دوم کپی می‌کنیم.

 

حالا می‌توانید SD کارت را eject کنید.

 

سیم کشی برد بورد

اگر از رزبری پای استفاده می‌کنید، USART رزبری پای را مطابق شکل زیر به رزبری پای پیکو متصل کنید.

اتصال رزبری پای به پیکو و SD کارت

پین های یوزارت رزبری پای

 

اگر برد رزبری پای ندارید، می‌توانید به کمک ماژول‌های USB2TTL نیز این کار را انجام دهید.

ماژول

اتصال به FUZIX با ماژول usb به TTL (سریال)

نحوه سیم کشی SD کارت به رزبری پای پیکو نیز به‌صورت زیر است:

Pico RP2040 SD Card
3V3 (OUT) +3.3V
Pin 16 GP12 (SPI1 RX) DO (MISO)
Pin 17 GP13 (SPI1 CSn) CS
Pin 18 GND GND
Pin 19 GP14 (SPI1 SCK) SCK
Pin 20 GP15 (SPI1 TX) DI (MOSI)

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

 

اتصال به سیستم عامل FUZIX

اگر از رزبری پای استفاده می‌کنید، ابتدا باید سریال USART را فعال کنید.


از طریق منوی
Interfacing Options → Serial
اگر پیام
“Would you like a login shell to be accessible over serial?”
را مشاهده کردید، “No” و اگر پیام
“Would you like the serial port hardware to be enabled?”
ظاهر شد، “Yes” را بزنید.

فعال کردن یوزارت رزبری پای

 

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

 

به طور مشابه می‌توانید بر روی سیستم عامل‌های گنو/لینوکس دیگر، ویندوز و مک نیز از دستوراتی مثل minicom یا screen و… استفاده کنید.
بعد از اتصال به سیستم عامل FUZIX شما خروجی شبیه به زیر را دریافت خواهید کرد:

سیستم عامل FUZIX

اگر هیچ چیزی مشاهده نکردید، کابل USB را قطع و مجدداً متصل کنید تا FUZIX ریستارت شود.
می‌توانید با نام کاربری “root” بدون پسورد وارد شوید. تاریخ و ساعت درست را در سیستم عاملتان تنظیم کنید.
با وجود مشکلاتی که در پورت کردن سیستم عامل FUZIX وجود دارد، اما هم اکنون یکی از سیستم عامل های رسمی رزبری پای پیکو است.
در فروم های رزبری پای، در برخی سرور های غیر رسمی و صفحه بازخوردها در گیت هاب افراد بسیار زیادی در این زمینه فعال هستند.
همچنین مستندات مربوطه را می‌توانید در این صفحه مطالعه کنید. اگر آدرس این صفحه را گم کردید، می‌توانید دکمه BOOTSEL را نگه داشته و رزبری پای پیکو را از طریق USB به سیستم خود متصل کنید، و فایل INDEX.HTM را باز کنید تا شما را به این صفحه هدایت کند!

منبع

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

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

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

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

8 دیدگاه در “سیستم عامل یونیکسی FUZIX برای رزبری پای Pico و میکروکنترلر RP2040

  1. rafael گفت:

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

    1. Digi Boy گفت:

      درود بر شما، بله دوست عزیز، اگر در سامانه آی سی سیسوگ جستجو کنید، آن را پیدا خواهید کرد:
      https://isee.sisoog.com

  2. مهدی گفت:

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

  3. آریا گفت:

    این رزبری پای جدیده رو ندارم ولی اون قسمت مطلبتون که برای فعال کردن یوزارت رزبری پای بود خییلی حال کردم. تا حالا تو منو raspi-config نرفته بودم. خیییلی باحاله. من همش با ادیتور نانو فایل های کانفیگ رو تغییر میدادم.
    خسته نباشید.

    1. Sisoog Os Sisoog Os گفت:

      سلام ممنون از شما

  4. سلام بسیار عالی هرچند تجربه ای تو این مورد ندارم اما بسیار لذت بخشه متشکر از زحمتتون
    اوایل مقاله هم به سلطان68000اشاره کردید که برای موتورولا بود و باوجود بینظیر بودنش قربانی تبلیغات و تفکر اپل شد روحش شاد یادش گرامی ..

    1. Sisoog Os Sisoog Os گفت:

      سلام خواهش میکنم دوست عزیز