برنامه نویسی

ساخت و اصلاح تصویر سیستم لینوکس برای برد Gx6605s مبتنی بر C-sky

Gx6605s یک برد توسعه بسیار ارزان (39 یوان چین با ارسال رایگان) است که دارای CPU مبتنی بر مجموعه دستورالعمل C-sky است. پشتیبانی از کرنل لینوکس، GCC و حتی گرینلت در بالادست است.

برد توسعه Gx6605s

من یک برد Gx6605 دارم که سالها پیش خریدم و فقط سعی کردم آن را با تصویر رسمی سیستم C-sky اجرا کنم. این یک سیستم لینوکس مبتنی بر Buildroot است و هیچ مدیر بسته ای برای آن وجود ندارد. من نمی توانم بسته ها / نرم افزارهای بیشتری را روی آن نصب کنم، بنابراین برای من مفید نیست، بنابراین به سرعت علاقه به آن را از دست دادم.

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

اما متأسفانه، شرکت توسعه‌دهنده برد توسعه‌دهنده و مجموعه دستورالعمل‌ها، توسعه برد توسعه‌دهنده و دستورالعمل‌های C-sky را کنار گذاشته و کار خود را روی RiscV ادامه داده است.

آنها یک فورک Buildroot در GitLab دارند که می تواند سیستم فایل ریشه را برای تصویر تولید کند، اما پشتیبانی از این برد و مجموعه دستورالعمل C-sky مدتی پیش حذف شد. اکنون این مخزن نمی تواند تصویر سیستمی برای Gx6605s تولید کند.

من یک حفاری در مخزن انجام دادم و متوجه شدم که یک شعبه به نام وجود دارد master_backup، که زمانی شاخه توسعه آنها بود که قادر به ساخت تصاویر سیستم مبتنی بر CPU C-sky بود. فرآیندهای ساخت در GitLab Pipeline اجرا شدند. بنابراین، می توانید این مخزن را فورک کنید، و سپس خط لوله GitLab را در صفحه وب اجرا کنید تا تصویر سیستم تولید شده را دریافت کنید.

اما متأسفانه، فایلی وجود دارد که Gx6605s Buildroot به آن وابسته است که در https://github.com/c-sky/tools میزبانی شده است، که حذف شده و به یک مخزن نامرتبط جدید تغییر یافته است. خوشبختانه، من یک سایت آینه ای پیدا کردم که دارای این مخزن است، بنابراین می توانید این پچ را برای دریافت فایل اعمال کنید:

diff --git a/package/csky-debug/csky-debug.mk b/package/csky-debug/csky-debug.mk
index 241755019e..a318247ebf 100644
--- a/package/csky-debug/csky-debug.mk
+++ b/package/csky-debug/csky-debug.mk
@@ -6,7 +6,7 @@

 CSKY_DEBUG_VERSION = V4.2.0-tmp-20170411
 CSKY_DEBUG_SOURCE = DebugServerConsole-linux-x86_64-$(CSKY_DEBUG_VERSION).tar.gz
-CSKY_DEBUG_SITE = https://github.com/c-sky/tools/raw/master
+CSKY_DEBUG_SITE = https://isrc.iscas.ac.cn/gitlab/mirrors/github.com/c-sky_tools/-/raw/master

 define HOST_CSKY_DEBUG_INSTALL_CMDS
        mkdir -p $(HOST_DIR)/csky-debug
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

با این کار، می توانید یک تصویر سیستم برای برد Gx6605s بسازید، و کمی جدیدتر از آنچه در سایت رسمی C-sky ارائه شده است. با این حال، من می خواهم با اضافه کردن بسته های بیشتر، مانند MicroPython و حتی یک کامپایلر GCC، تصویر سیستم را تغییر دهم. بنابراین، من باید آن را به صورت محلی بسازم.

نگاهی به .gitlab-ci.yml. من معتقدم که از یک تصویر Docker به نام استفاده می کند maohan001/ubuntu-buildroot به عنوان محیط ساختمان لطفاً توجه داشته باشید که از آنجایی که آنها پشتیبانی از مجموعه دستورالعمل های C-sky را حذف کردند، اگر می خواهید در آینده تصویر را بسازید، لطفاً این تصویر را بکشید و پشتیبان بگیرید. این مبتنی بر Dockerfile نیست، بنابراین ما نمی دانیم چگونه آن را تولید کنیم.

من قبلاً هرگز از Buildroot استفاده نکرده‌ام، اما از لاگ لوله‌های GitLab و .gitlab-ci.yml، من فرض می کنم یکی باید اجرا شود make {config-name} داخل تصویر داکر با buildroot مسیر root برای ایجاد یک پیکربندی برای برد توسعه مشخص شده. سپس، اجرا کنید make برای دانلود تمام فایل های لازم و ساخت کامپایلر، هسته، libc و userland.

بنابراین، برای Gx6605s، باید از آن استفاده کنیم $ make csky_610_gx6605s_4.9_uclibc_br_defconfig، و سپس $ make. شما یک را دریافت خواهید کرد usb.img.xz در output/images پوشه این دقیقاً همان چیزی است که در خط لوله GitLab دریافت کرده اید.

و به عنوان Buildrootوب سایت رسمی می گوید، اکنون می توانیم اجرا کنیم $ make menuconfig برای سفارشی کردن فرآیند ساخت، مانند اضافه کردن MicroPython به سیستم.

نوشته های مشابه

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

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

دکمه بازگشت به بالا