انجمنهای فارسی اوبونتو
کمک و پشتیبانی => سایر توزیعهای گنو/لینوکس => نویسنده: مرد مرده در 05 بهمن 1390، 05:19 بظ
-
سلام
یه دستگاه دارم که روش یه embedded linux نصبه، از طریق پورت دیباگش توسط busybox بهش دسترسی دارم. داشتم یه شل اسکریپت مینوشتم که بصورت یه loop بینهایت روی دستگاه اجرا شه و یه سری عملیات رو انجام بده. متاسفانه این اسکریپت رو طوری تعریف کردم که هنگام reboot اجرا میشه. حالا به این مشکل برخوردم که این اسکریپت من توی loop بینهایت افتاده و به هیچ وجه نمیتونم اون رو kill کنم.
تنها چیزی که به ذهن خودم رسید اینه که یجوری از طریق uboot قبل از بالا اومدن OS اون اسکریپت رو دستکاری یا پاک کنم که موقع بالا اومدن اجرا نشه ولی نمیدونم چجوری اینکار رو هم بکنم. کسی راهی برای رفع این مشکل سراغ داره ؟؟؟
ممکنه Hotkey دیگه ای بجز CTRL+C باشه که به کمک اون بتونم اسکریپتم رو Kill کنم ؟
-
شما به فایل ها دسترسی نداری ؟ زمان خاموش بودن این لینوکس عرض میکنم
این لینوکس روی یک خادم ( سرور ) هست ؟ به شکل VPS ؟
خادم نمیتونه به فایلهای وی پی اس دسترسی داشته باشه ؟
-
نه دسترسی ندارم !!!
این دستگاه یه دیوایس ARM Based ه که لینوکس روی چیپ های حافظه ش (۲۵۶M) ریخته شده !!! سطح پایین ترین جایی هم که بهش دسترسی دارم uboot دستگاهه که هنوز OS بالا نیومده !!!
-
گاهی که کنترل سی کار نمی کنه یک روش خوب استفاده از کنترل زد است که پروسه رو به شکل موقت استاپ می کنه و کامند لاین رو می ده بهت. بعد می تونی با دستور jobs اونو ببینی و مثلا با kill %1 کیلش کنی.
-
متاسفانه با CTRL+Z هم اسکریپت من استاپ نمیشه !!!
-
اگر سینگل یوزر بوت می شه اون رو تست کن. یا رفتن به ترمینال های دیگه رو. یا فاکتوری ریست رو (: من با این برد آشنا نیستم و نمی دونم چه امکاناتی داره ولی مطمئن هستم که قابل حله.
-
مشکل اینجاست که لینوکسی که برای این دستگاه کامپایل شده یه ترمینال بیشتر نداره.
توی جستجو هایی که کردم به این نتیجه رسیدم که مشکل از busybox ییه که روی OS نصب شده. یه باگیه که باعث شده CTRL+C روی پورت سریال کار نکنه !!! راهی هم که برای حل این موضوع پیشنهاد شده، ریختن دوباره image از قبل کامپایل شده روی برد دستگاه هست. ( یه جورایی program کردن مجدد دستگاه یا همون Factory Reset )