انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: نصب گنو/لینوکس روی روبات  (دفعات بازدید: 3600 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19722
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
نصب گنو/لینوکس روی روبات
« : 04 بهمن 1389، 04:01 ب‌ظ »
سلام دوستان عزیز.
در آستانه ی هزارین پستم در این انجمن قصد دارم موضوعی رو با شما در میون بذارم که امیدورام با یاری و همکاری شما، برای جامعه گنو/لینوکس ایران اعتبار بیشتری به ارمغان بیاره و فرصت های بیشتری برای برای علاقه مندان بعدی ایجاد کنه.
تیم روباتیک رویان وابسته به دانشگاه آزاد اسلامی - واحد تهران شمال درنظر داره تا سه دستگاه روبات انسان نما (Humanoid) خودش رو با استفاده از سیستم عامل گنو/لینوکس راه اندازی کنه و اون ها رو برای اولین بار در مسابقات روبوکاپ آزاد آلمان شرکت بده.

ما روی این روبات یک برد اصلی RB110 ساخت شرکت Roboard داریم که روی اون پردازنده Vortex86 قرار گرفته و پورت LAN و USB هم روی دستگاه هست. حافظه این دستگاه عبارت است از یک کارت micro SD به ظرفیت 8GB که به برد اصلی وصل می شه. هم چنین در هر دفعه امکان اتصال یکی از کارت های گرافیک (برای خروجی مانیتور) و یا وایرلس رو روی اون داریم.
شرکت Roboard یک کرنل لینوکس اختصاصی برای این برد نوشته که به دو صورت سورس و فایل deb مخصوص سیستم های دبین روی سایتش قرار داده.ما برای اطمینان یک بار اوبونتو رو روی کارت SD نصب کردیم و با پچ کردن کرنل deb تونستیم اوبونتو رو روی روبات بالا بیاریم و اون رو روی مانیتور مشاهده کنیم.
از اون جایی که اوبونتو برای چنین مصارفی روی چنین سیستم هایی خیلی سنگینه ما اقدام به ساخت یک توزیع لینوکس متنی کردیم که فقط امکانات مورد نیاز ما رو از قبیل opencv، setserial و ابزارهای کامپایل و نصب مثل make و gcc و... داشته باشه. هم چنین برای ارتباط با اون، telnet و ssh رو در این توزیع پیاده سازی کردیم. این توزیع با موفقیت روی SD نصب شد و در Virtualbox کار کرد. ولی برای پچ کردن کرنل روی اون به مشکل بر خوردیم. چون که باید سورس کرنل رو کامپایل کنیم و این عمل روی پردازنده ی روبات خیلی عمل طولانی و وقت گیری می شه و همین طور ما با ssh به اون وصلیم و بعد از مدتی time-out موجب قطع اتصال می شه که به معنای terminate شدن همه اقداماته.
بنابراین به این فکر افتادیم که هسته رو روی همون کامپیوتر کامپایل کنیم. منتهای مراتب از اون جایی که ما فقط کامپیوترهایی با پردازنده Intelx86_64 در اختیار داریم، انجام این عمل قدری متفاوت به نظر می رسه، چون در حالت عادی کرنل ما رو برای سیستم 64 بیتی کامپایل می کنه. می خواستم بپرسم دوستان راه حلی ندارن که بتونیم کرنل رو روی Intelx86_64 برای Vortex86 کامپایل کرد؟

درضمن من سعی می کنم خبرهای جدیدتر رو از همین جا به اطلاع شما برسونم  ;)
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین مهدی...

  • Hero Member
  • *
  • ارسال: 997
  • جنسیت : پسر
  • http://Mearaji.ir
    • وبلاگم
پاسخ به: نصب گنو/لینوکس روی روبات
« پاسخ #1 : 06 بهمن 1389، 04:12 ب‌ظ »
دانیال جان! اگه مشکلت فقط time out هست، خب بعد از دستور یه & بزار که بره تو پس زمینه کار کنه...

lomion

  • مهمان
پاسخ به: نصب گنو/لینوکس روی روبات
« پاسخ #2 : 07 بهمن 1389، 09:36 ق‌ظ »
می تونید از دستور screen هم استفاده کنید که اون ارتباط (Session) رو نگه می داره.

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
پاسخ به: نصب گنو/لینوکس روی روبات
« پاسخ #3 : 07 بهمن 1389، 12:39 ب‌ظ »
سلام
فکر نکنم که بشه روی ۶۴ بیت  کرنل ۳۲بیت کامپایل کرد  چرا از کرنل های سبکتری مثل tinycore استفاده نمی کنید
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین مهدی...

  • Hero Member
  • *
  • ارسال: 997
  • جنسیت : پسر
  • http://Mearaji.ir
    • وبلاگم
پاسخ به: نصب گنو/لینوکس روی روبات
« پاسخ #4 : 07 بهمن 1389، 08:34 ب‌ظ »
سلام
فکر نکنم که بشه روی ۶۴ بیت  کرنل ۳۲بیت کامپایل کرد  چرا از کرنل های سبکتری مثل tinycore استفاده نمی کنید
سید جان! وقتی با ssh دارن کار میکنن دیگه مهم نیست که پردازنده خودشون چیه... بهترین راه همونه که مشکلش قطع ارتباطه... یا اگه قطع شد با قطع شدن ارتباط پروسه متوقف نشه...

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
پاسخ به: نصب گنو/لینوکس روی روبات
« پاسخ #5 : 07 بهمن 1389، 10:12 ب‌ظ »
ولی برای پچ کردن کرنل روی اون به مشکل بر خوردیم. چون که باید سورس کرنل رو کامپایل کنیم و این عمل روی پردازنده ی روبات خیلی عمل طولانی و وقت گیری می شه و همین طور ما با ssh به اون وصلیم و بعد از مدتی time-out موجب قطع اتصال می شه که به معنای terminate شدن همه اقداماته.
بنابراین به این فکر افتادیم که هسته رو روی همون کامپیوتر کامپایل کنیم. منتهای مراتب از اون جایی که ما فقط کامپیوترهایی با پردازنده Intelx86_64 در اختیار داریم، انجام این عمل قدری متفاوت به نظر می رسه، چون در حالت عادی کرنل ما رو برای سیستم 64 بیتی کامپایل می کنه. می خواستم بپرسم دوستان راه حلی ندارن که بتونیم کرنل رو روی Intelx86_64 برای Vortex86 کامپایل کرد؟
سلام
فکر نکنم که بشه روی ۶۴ بیت  کرنل ۳۲بیت کامپایل کرد  چرا از کرنل های سبکتری مثل tinycore استفاده نمی کنید
سید جان! وقتی با ssh دارن کار میکنن دیگه مهم نیست که پردازنده خودشون چیه... بهترین راه همونه که مشکلش قطع ارتباطه... یا اگه قطع شد با قطع شدن ارتباط پروسه متوقف نشه...
سلام
مشکل اینجا دوتا هست (تا اونجایی که من فهمیدم!)یکی ssh ودیگری کامپایل کرنل هست البته شاید مشکل یکی باشه یعنی می خوان با ssh کرنل رو توی یک کامپیوتر دیگه کامپایل کنند
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین RCLord

  • Sr. Member
  • *
  • ارسال: 411
  • جنسیت : پسر
    • پشت یک لحظه سکوت
پاسخ به: نصب گنو/لینوکس روی روبات
« پاسخ #6 : 07 بهمن 1389، 10:32 ب‌ظ »
ایشون برای اینکه گنو / لینوکس رو روی ربات پیاده سازی کنن باید این کرنل روی ربات کامپایل بشه و برای دسترسی به ربات باید از طریق ssh به اون وصل شن و جون این عمل ( کامپایل کرنل روی ربات ) عملی وقت گیره باید کاری انجام بشه که حتی بعد از قطعی ssh تا راه اندازی مجدد اون عملیات از بین نره و مجبور نشن از اول کامپایلش کنن . امیدوارم درست متوجه شده باشم .
« هرگونه انتقاد سازنده ای را با کمال میل قبول میکنم »

آفلاین مهدی...

  • Hero Member
  • *
  • ارسال: 997
  • جنسیت : پسر
  • http://Mearaji.ir
    • وبلاگم
پاسخ به: نصب گنو/لینوکس روی روبات
« پاسخ #7 : 08 بهمن 1389، 06:32 ب‌ظ »
بله درست گفتی....

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19722
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ به: نصب گنو/لینوکس روی روبات
« پاسخ #8 : 15 بهمن 1389، 04:44 ب‌ظ »
ممنون از جواباتون. بیش‌تر مشکل ما اینه که وقت کافی برای کامپایل کرنل روی خود روبات نداریم. دنبال راهی هستیم که روی لپ‌تاپ خودمون کرنل رو برای روبات کامپایل کنیم.
ما در آخرین تلاشمون کرنل رو روی روبات کانفیگ کردیم و اون رو به همراه فایل کانفیگش روی لپ‌تاپ اوردیم تا کامپایلش کنیم. ولی قبل از کامپایل، سیستم کانفیگ فایل رو پاک می‌کنه و از نو یه فایل جدید می‌سازه.
« آخرین ویرایش: 15 بهمن 1389، 04:48 ب‌ظ توسط دانیال بهزادی »
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین مهدی...

  • Hero Member
  • *
  • ارسال: 997
  • جنسیت : پسر
  • http://Mearaji.ir
    • وبلاگم
پاسخ به: نصب گنو/لینوکس روی روبات
« پاسخ #9 : 27 بهمن 1389، 09:31 ب‌ظ »
دانیال جان! اینو & تست کردی؟؟

آفلاین sisyphus

  • Jr. Member
  • *
  • ارسال: 76
پاسخ به: نصب گنو/لینوکس روی روبات
« پاسخ #10 : 27 بهمن 1389، 09:47 ب‌ظ »
به این کار می‌گن cross compiling. در مورد معماری و شرایط خاص مسائله‌ات دنبال راهنما برای cross compiling بگرد.

آفلاین مهدی...

  • Hero Member
  • *
  • ارسال: 997
  • جنسیت : پسر
  • http://Mearaji.ir
    • وبلاگم
پاسخ به: نصب گنو/لینوکس روی روبات
« پاسخ #11 : 01 اسفند 1389، 09:14 ب‌ظ »
دانیال جان یه راه حل پیدا کردم!
خط زیر رو تو کانفیگ ssh-server اضافه کن ببین چی میشه؟
ConnectTimeout 0

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

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19722
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ به: نصب گنو/لینوکس روی روبات
« پاسخ #12 : 06 اسفند 1389، 08:56 ق‌ظ »
خب به حمدالله با تشکر از همه‌ی دوستان و با آزمودن یک عالمه راه که البته هیچ کدوم اون نتایج دلخواه رو نداشت، به جای ایجاد یک توزیع از ابتدا، از نصاب اکسپرت دبین استفاده کردیم و یک توزیع کوچک با پایه‌ی دبین روی برد روبات نصب شد. به همون وسیله هم پچ کرنل مخصوص روبات رو به صورت بسته‌ی deb روی اون نصب کردیم و به خوبی هم کار می‌کنه.
سوال ما در این مرحله اینه که آیا راهی هست که ssh server رو در runlevel های پایین تر (مثلا یک) به کار انداخت؟ هم‌چنین می‌خوایم که برنامه‌های ما با روشن شدن روبات به صورت خودکار اجرا بشه که شخصا فکر می‌کنم با ید با bash init سر و کله بزنیم.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن