ساخت و اصلاح تصویر سیستم لینوکس برای برد Gx6605s مبتنی بر C-sky
Gx6605s یک برد توسعه بسیار ارزان (39 یوان چین با ارسال رایگان) است که دارای CPU مبتنی بر مجموعه دستورالعمل C-sky است. پشتیبانی از کرنل لینوکس، GCC و حتی گرینلت در بالادست است.
من یک برد 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 به سیستم.