logo
لافتة لافتة

تفاصيل المدونة

Created with Pixso. بيت Created with Pixso. مدونة Created with Pixso.

نظرة متعمقة على OpenWrt: التطوير والميزات والمزايا والعيوب

نظرة متعمقة على OpenWrt: التطوير والميزات والمزايا والعيوب

2025-01-08

خلفية التطوير

بعد أن أصدرت Linksys الكود المصدري لـ WRT54G/GS، ظهرت العديد من الإصدارات المختلفة للبرامج الثابتة عبر الإنترنت لتعزيز الوظائف الأصلية. استخدمت معظم هذه البرامج الثابتة 99٪ من الكود المصدري لـ Linksys، مع 1٪ فقط من الكود الإضافي. تم تصميم كل برنامج ثابت لأسواق محددة، وكان لذلك عيبان. أولاً، كان من الصعب دمج نقاط القوة في إصدارات البرامج الثابتة المختلفة. ثانيًا، ابتعدت هذه الإصدارات تدريجيًا عن توزيعات Linux الرسمية.

اتخذ OpenWrt نهجًا مختلفًا. بدأ من الصفر، وأضاف تدريجيًا مكونات برمجية لتقريب وظائف برنامج Linksys الثابت. يكمن نجاح OpenWrt في نظام الملفات القابل للكتابة، مما يمكّن المطورين من تجنب إعادة التجميع بعد كل تعديل، مما يجعله أقرب إلى نظام كمبيوتر Linux مصغر.

 

تاريخ التطوير

بدأ مشروع OpenWrt في يناير 2004. استند الإصدار الأول إلى الكود المصدري GPL الذي قدمته Linksys ومشروع buildroot في uclibc. تم تسمية هذا الإصدار بالإصدار "المستقر"، ولا تزال العديد من المشاريع تستخدمه اليوم، مع كون Freifunk - Firmware و Sip@Home أمثلة معروفة نسبيًا.

في أوائل عام 2005، انضم بعض المطورين الجدد إلى المشروع. بعد بضعة أشهر، أصدروا أول إصدار "تجريبي". على عكس الإصدارات السابقة، تخلى هذا الإصدار تقريبًا بالكامل عن الكود المصدري GPL الخاص بـ Linksys، واعتمد buildroot2 كتقنية أساسية، وقام بتجزئة OpenWrt بالكامل. استخدم OpenWrt الكود المصدري لنواة Linux التي تم إصدارها رسميًا (2.4.30)، جنبًا إلى جنب مع بعض التصحيحات وبرامج تشغيل الشبكة. أضاف فريق التطوير أيضًا العديد من الأدوات المجانية إلى OpenWrt، والتي يمكنها كتابة الصور مباشرة في Flash (mtd)، وتكوين وظائف لاسلكية، وتمكين وظائف تبديل VLAN. تم تسمية هذا الإصدار "White Russian"، وتم الإعلان عن الإصدار 1.0 في نهاية عام 2005.

 

خصائص النظام

OpenWrt هو نظام Linux مضمن معياري للغاية وآلي، يتميز بمكونات شبكة قوية وقابلية توسع ممتازة. يتم تطبيقه بشكل متكرر في أجهزة التحكم الصناعي، والهواتف، والروبوتات الصغيرة، والمنازل الذكية، وأجهزة التوجيه، وأجهزة VOIP. في الوقت نفسه، يقدم أكثر من 100 حزمة برامج مجمعة مسبقًا، وهذا العدد في ازدياد مستمر. علاوة على ذلك، يبسط OpenWrt SDK عملية تطوير البرامج.

على عكس العديد من التوزيعات الأخرى الموجهة لأجهزة التوجيه، فإن OpenWrt هو نظام تشغيل جهاز توجيه كامل وقابل للتعديل بسهولة مكتوب من الصفر. في الممارسة العملية، يعني هذا أنه يمكن للمستخدمين استخدام الوظائف المطلوبة دون فوضى غير ضرورية، ونواة Linux التي تدعم هذه الوظائف أحدث بكثير من تلك الموجودة في معظم التوزيعات.

 

مزايا

 

بالنسبة لأولئك الذين لديهم فهم معين لنظام Linux ويرغبون في دراسة أو المشاركة في Linux المضمن، فإن OpenWrt هو خيار مثالي. يوفر OpenWrt دعمًا ممتازًا لمعماريات المعالجات المختلفة، بما في ذلك ARM و X86 و PowerPC و MIPS. مع أكثر من 3000 حزمة برامج، تغطي النظام بأكمله من سلاسل الأدوات، ونواة Linux، وحزم البرامج إلى نظام الملفات الجذر، يمكن للمستخدمين تخصيص نظام مضمن بوظائف محددة بسرعة وسهولة لإنتاج برامج ثابتة باستخدام أمر "make" ببساطة.

 

بشكل عام، تتضمن عملية تطوير Linux المضمن، بغض النظر عما إذا كانت تتضمن معالجات ARM أو PowerPC أو MIPS، عادةً الخطوات التالية:

 

  1. إنشاء بيئة تجميع متقاطع لـ Linux؛

  2. بناء Bootloader؛

  3. نقل نواة Linux؛

  4. إنشاء Rootfs (نظام الملفات الجذر)؛

  5. تثبيت برامج التشغيل؛

  6. تثبيت البرامج.

 

بمجرد التعرف على عمليات التطوير الأساسية هذه لـ Linux المضمن، لم يعد المطورون مقيدين بمعالجات MIPS وأجهزة التوجيه اللاسلكية. يمكنهم محاولة نقل Linux المضمن إلى معالجات أخرى أو أنظمة غير أجهزة التوجيه اللاسلكية، وتخصيص برامج التطبيقات المناسبة، وبناء منتج مضمن كامل.

 

عيوب

 

  1. نظرًا للاختلافات في معماريات نواة وحدة المعالجة المركزية، غالبًا ما تتعطل العديد من التطبيقات عند نقلها إلى OpenWrt.

  2. نظرًا لأن الكود المصدري لبرامج تشغيل وحدة الأجهزة ADSL غير مفتوح، فإن وحدات ADSL للعديد من أجهزة التوجيه اللاسلكية المتكاملة ADSL لا يمكنها العمل، مما يؤدي إلى نقص في الوظائف (باستثناء RG100A و DB120).

  3. نظرًا لأن OpenWrt ليس برنامج توجيه رسميًا، فمن الصعب استخدامه (وميض البرنامج الثابت). بالإضافة إلى ذلك، فإن طبيعته المستندة إلى Linux تؤدي إلى حاجز دخول مرتفع نسبيًا لـ OpenWrt.

لافتة
تفاصيل المدونة
Created with Pixso. بيت Created with Pixso. مدونة Created with Pixso.

نظرة متعمقة على OpenWrt: التطوير والميزات والمزايا والعيوب

نظرة متعمقة على OpenWrt: التطوير والميزات والمزايا والعيوب

خلفية التطوير

بعد أن أصدرت Linksys الكود المصدري لـ WRT54G/GS، ظهرت العديد من الإصدارات المختلفة للبرامج الثابتة عبر الإنترنت لتعزيز الوظائف الأصلية. استخدمت معظم هذه البرامج الثابتة 99٪ من الكود المصدري لـ Linksys، مع 1٪ فقط من الكود الإضافي. تم تصميم كل برنامج ثابت لأسواق محددة، وكان لذلك عيبان. أولاً، كان من الصعب دمج نقاط القوة في إصدارات البرامج الثابتة المختلفة. ثانيًا، ابتعدت هذه الإصدارات تدريجيًا عن توزيعات Linux الرسمية.

اتخذ OpenWrt نهجًا مختلفًا. بدأ من الصفر، وأضاف تدريجيًا مكونات برمجية لتقريب وظائف برنامج Linksys الثابت. يكمن نجاح OpenWrt في نظام الملفات القابل للكتابة، مما يمكّن المطورين من تجنب إعادة التجميع بعد كل تعديل، مما يجعله أقرب إلى نظام كمبيوتر Linux مصغر.

 

تاريخ التطوير

بدأ مشروع OpenWrt في يناير 2004. استند الإصدار الأول إلى الكود المصدري GPL الذي قدمته Linksys ومشروع buildroot في uclibc. تم تسمية هذا الإصدار بالإصدار "المستقر"، ولا تزال العديد من المشاريع تستخدمه اليوم، مع كون Freifunk - Firmware و Sip@Home أمثلة معروفة نسبيًا.

في أوائل عام 2005، انضم بعض المطورين الجدد إلى المشروع. بعد بضعة أشهر، أصدروا أول إصدار "تجريبي". على عكس الإصدارات السابقة، تخلى هذا الإصدار تقريبًا بالكامل عن الكود المصدري GPL الخاص بـ Linksys، واعتمد buildroot2 كتقنية أساسية، وقام بتجزئة OpenWrt بالكامل. استخدم OpenWrt الكود المصدري لنواة Linux التي تم إصدارها رسميًا (2.4.30)، جنبًا إلى جنب مع بعض التصحيحات وبرامج تشغيل الشبكة. أضاف فريق التطوير أيضًا العديد من الأدوات المجانية إلى OpenWrt، والتي يمكنها كتابة الصور مباشرة في Flash (mtd)، وتكوين وظائف لاسلكية، وتمكين وظائف تبديل VLAN. تم تسمية هذا الإصدار "White Russian"، وتم الإعلان عن الإصدار 1.0 في نهاية عام 2005.

 

خصائص النظام

OpenWrt هو نظام Linux مضمن معياري للغاية وآلي، يتميز بمكونات شبكة قوية وقابلية توسع ممتازة. يتم تطبيقه بشكل متكرر في أجهزة التحكم الصناعي، والهواتف، والروبوتات الصغيرة، والمنازل الذكية، وأجهزة التوجيه، وأجهزة VOIP. في الوقت نفسه، يقدم أكثر من 100 حزمة برامج مجمعة مسبقًا، وهذا العدد في ازدياد مستمر. علاوة على ذلك، يبسط OpenWrt SDK عملية تطوير البرامج.

على عكس العديد من التوزيعات الأخرى الموجهة لأجهزة التوجيه، فإن OpenWrt هو نظام تشغيل جهاز توجيه كامل وقابل للتعديل بسهولة مكتوب من الصفر. في الممارسة العملية، يعني هذا أنه يمكن للمستخدمين استخدام الوظائف المطلوبة دون فوضى غير ضرورية، ونواة Linux التي تدعم هذه الوظائف أحدث بكثير من تلك الموجودة في معظم التوزيعات.

 

مزايا

 

بالنسبة لأولئك الذين لديهم فهم معين لنظام Linux ويرغبون في دراسة أو المشاركة في Linux المضمن، فإن OpenWrt هو خيار مثالي. يوفر OpenWrt دعمًا ممتازًا لمعماريات المعالجات المختلفة، بما في ذلك ARM و X86 و PowerPC و MIPS. مع أكثر من 3000 حزمة برامج، تغطي النظام بأكمله من سلاسل الأدوات، ونواة Linux، وحزم البرامج إلى نظام الملفات الجذر، يمكن للمستخدمين تخصيص نظام مضمن بوظائف محددة بسرعة وسهولة لإنتاج برامج ثابتة باستخدام أمر "make" ببساطة.

 

بشكل عام، تتضمن عملية تطوير Linux المضمن، بغض النظر عما إذا كانت تتضمن معالجات ARM أو PowerPC أو MIPS، عادةً الخطوات التالية:

 

  1. إنشاء بيئة تجميع متقاطع لـ Linux؛

  2. بناء Bootloader؛

  3. نقل نواة Linux؛

  4. إنشاء Rootfs (نظام الملفات الجذر)؛

  5. تثبيت برامج التشغيل؛

  6. تثبيت البرامج.

 

بمجرد التعرف على عمليات التطوير الأساسية هذه لـ Linux المضمن، لم يعد المطورون مقيدين بمعالجات MIPS وأجهزة التوجيه اللاسلكية. يمكنهم محاولة نقل Linux المضمن إلى معالجات أخرى أو أنظمة غير أجهزة التوجيه اللاسلكية، وتخصيص برامج التطبيقات المناسبة، وبناء منتج مضمن كامل.

 

عيوب

 

  1. نظرًا للاختلافات في معماريات نواة وحدة المعالجة المركزية، غالبًا ما تتعطل العديد من التطبيقات عند نقلها إلى OpenWrt.

  2. نظرًا لأن الكود المصدري لبرامج تشغيل وحدة الأجهزة ADSL غير مفتوح، فإن وحدات ADSL للعديد من أجهزة التوجيه اللاسلكية المتكاملة ADSL لا يمكنها العمل، مما يؤدي إلى نقص في الوظائف (باستثناء RG100A و DB120).

  3. نظرًا لأن OpenWrt ليس برنامج توجيه رسميًا، فمن الصعب استخدامه (وميض البرنامج الثابت). بالإضافة إلى ذلك، فإن طبيعته المستندة إلى Linux تؤدي إلى حاجز دخول مرتفع نسبيًا لـ OpenWrt.