نظرة متعمّقة على التفاصيل الداخلية

هذه عملية متقدّمة لا ننصح بها مستخدمي Linux الجدد.

يتيح نظام التشغيل ChromeOS تشغيل رموز عشوائية داخل الأجهزة الافتراضية. هذه هي المستندات الأساسية حول هذه الميزة، وللحصول على عرض أكثر سهولة في الاستخدام، يُرجى الاطّلاع على faq.

المتطلبات الأساسية

ميزات وقت التشغيل

من المفترض أن تعمل الميزات التالية عند تشغيل حاوية Linux:

  • اتصالات الشبكة الصادرة (IPv4)
  • رسومات غير مسرَّعة
  • رسومات مسرَّعة (عبر OpenGL)
  • برامج Wayland (الخيار المفضّل، عبر Sommelier)
  • برامج X (التوافق من خلال Sommelier وXWayland)
  • إخراج الصوت في الإصدارات M74 والإصدارات التجريبية للتسجيل/الميكروفون في الإصدارات R79 والإصدارات الأحدث

مميزات مفقودة

نعمل حاليًا على إضافة المزيد من التفاصيل إلى الكثير من الميزات التي يمكن إطلاقها بسهولة. في ما يلي مثالان واضحان على ذلك:

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

الأمان

على الرغم من أنّ تشغيل الرموز العشوائية يمثّل عادةً خطرًا أمنيًا، يرى فريق ChromeOS أنّ نموذج وقت التشغيل المستخدَم في حاوية Linux على ChromeOS يقلّل من هذا الخطر الأمني ويحتويه بشكل كافٍ. الجهاز الافتراضي (VM) هو حدود الأمان، ويُعدّ كل ما بداخله غير موثوق به. تعمل صورة نظام التشغيل الضيف الحالية على جهاز VM أيضًا بنواة مخصّصة ومحسّنة لتعزيز أمان الحاويات، ولكنّها تُعتبر ميزة إضافية وليست أساسية لضمان أمان النظام بشكل عام.

في هذا النموذج، يجب أن يظل باقي نظام التشغيل ChromeOS محميًا من أي رمز عشوائي (خبيث أو غير مقصود) يتم تنفيذه داخل الحاويات في الجهاز الافتراضي.

يتم التواصل مع العالم الخارجي فقط من خلال crosvm، وتتواصل كل قناة مع عمليات فردية (كل منها محمي بشكل كبير).

بيانات المستخدم في الحاوية

مع التحوّل إلى الخدمات السحابية، تؤكّد أساليب التفكير الحالية في مجال الأمان على أنّ الحصول على بيانات اعتماد الحساب (مثل كلمات المرور الخاصة بحسابك على Google أو Facebook) هو أسلوب هجوم أكثر ربحًا من مهاجمة الكمبيوتر المكتبي أو المحمول. وهي ليست خاطئة. لا يحسّن حلّ ChromeOS الحالي للأجهزة الافتراضية/الحاويات هذا الأمر في الوقت الحالي. ببساطة، يتحمّل المستخدم حاليًا مسؤولية أيّ بيانات يتم إدخالها في الحاوية. لذلك، إذا شغّلت حاوية غير آمنة أو تم اختراقها، ثم كتبت كلمات المرور فيها، يمكن سرقتها حتى إذا ظلّ باقي نظام التشغيل ChromeOS آمنًا.

استمرار العملية

لا تستمر العمليات في الأجهزة الافتراضية والحاويات بعد تسجيل الخروج (لأنّها تكون مخزّنة في مساحة التخزين المشفرة الخاصة بالمستخدم) ويتم إيقافها تلقائيًا. كما أنّها لا تبدأ تلقائيًا عند تسجيل الدخول (لتجنُّب الهجمات المستمرة)، ولا يمكن تشغيلها تلقائيًا عند بدء التشغيل (بدون جلسة تسجيل دخول) لأنّه لا يمكن الوصول إليها (بما أنّها في وحدة التخزين المشفرة الخاصة بالمستخدم).

الرموز البرمجية القابلة للتنفيذ والكتابة

يتم تنزيل صورة قرص الجهاز الافتراضي Termina إلى القسم القابل للكتابة والمحتفظ بالحالة، مثل مكوّنات Chrome الأخرى. للتأكّد من عدم تعديل المحتوى، يتم استخدام dm-verity. يعني هذا أيضًا أنّه لا يمكن تحميل سوى الصور التي وقّعتها Google، وأنّ الصورة تكون دائمًا للقراءة فقط.

الهجمات على الأجهزة

تتضمّن الثغرات الأمنية Meltdown/Spectre آثارًا على الاستخدام الآمن للأجهزة الافتراضية. لقد طبّقنا إصلاحات وإجراءات للحدّ من المشاكل للتأكّد من عدم إمكانية مهاجمة الأجهزة الافتراضية لنظام التشغيل المضيف أو الأجهزة الافتراضية الأخرى. لمزيد من التفاصيل، يُرجى الاطّلاع على صفحة Chromium OS wiki حول حالة الثغرات الأمنية Meltdown وSpectre لأجهزة ChromeOS.

مراحل النشاط

بعد تفعيل حاوية Linux (التي تتولّى تثبيت جميع المكوّنات الضرورية الأخرى، مثل Termina)، يصبح النظام جاهزًا للاستخدام.

على الرغم من إمكانية تثبيت هذه المكوّنات، لن يبدأ تشغيل أي شيء على الفور. عند تسجيل الخروج، يتم إغلاق كل شيء وإيقافه، وعند تسجيل الدخول، لا تتم إعادة تشغيل أي شيء تلقائيًا.

عند تشغيل تطبيق Terminal أو أي تطبيق آخر من تطبيقات Linux يبدأ تشغيل الحاوية، ولم يتم تشغيل الحاوية الرئيسية بعد، سيتم تشغيل الجهاز الافتراضي Termina تلقائيًا، وسيتم تشغيل حاوية Linux التلقائية على ChromeOS (المعروفة أيضًا باسم Crostini) في هذا الجهاز. يتيح لك ذلك الاتصال بالحاوية عبر SSH أو SFTP (من خلال تطبيق "الملفات").

عند إغلاق جميع التطبيقات المرئية، لا يتم إيقاف الآلة الافتراضية أو الحاويات. يمكنك إيقافها وبدءها يدويًا، بالإضافة إلى إنشاء المزيد من الحاويات غير الحاوية التلقائية.

الاحتفاظ بالبيانات

ستبقى جميع الآلات الافتراضية والحاويات التي تم إنشاؤها والبيانات داخل هذه الحاويات محفوظة خلال جلسات المستخدمين (تسجيل الخروج/تسجيل الدخول). ويتم الاحتفاظ بها في مساحة التخزين المشفّرة نفسها لكل مستخدم كما هو الحال مع بقية بيانات المتصفّح.

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

دعم الجهاز

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

متاحة الآن

للاطّلاع على قائمة بالأجهزة المتوافقة حاليًا، يُرجى الرجوع إلى أنظمة التشغيل Chrome المتوافقة مع Linux.

متطلبات الأجهزة

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

ومع ذلك، ستحتاج إلى وحدة معالجة مركزية (CPU) تتوافق مع المحاكاة الافتراضية للأجهزة. على منصات x86، يتوفّر هذا بأسماء عديدة. تشير Intel إلى هذه الميزة باسم VT-x وVMX. تشير AMD إلى ذلك باسم AMD-V وSVM.

أنظمة BayTrail

لا تتضمّن أجهزة Chromebook التي تستخدم BayTrail من Intel ميزة VT-x. مع أنّ وحدة المعالجة المركزية هذه تتضمّن عادةً VMX، لا يتضمّن الإصدار المتوفّر في أجهزة Chromebook هذه الميزة، وبالتالي لن يكون متوافقًا أبدًا.

يمكنك البحث في قائمة الأجهزة العامة عن BayTrail ضمن عمود Platform لمعرفة ما إذا كانت لوحة ما متوافقة.

النواة القديمة

لا نخطّط لإتاحة الإصدار 3.14 من Linux أو الإصدارات الأقدم. وتتطلّب هذه الإصدارات نقلًا عكسيًا للميزات الجديدة التي تكون شاملة وغالبًا ما تكون تدخّلية. على سبيل المثال:

يمكنك البحث في قائمة الأجهزة المتاحة للجميع عن أرقام إصدارات أقل من 3.14 ضمن العمود Kernel لمعرفة ما إذا كان أحد اللوحات متوافقًا.

وحدات المعالجة المركزية (CPU) المستندة إلى معمارية ARM بسرعة 32 بت

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

يمكنك البحث في قائمة الأجهزة العامة عن arm ضمن عمود Kernel ABI لمعرفة ما إذا كانت إحدى اللوحات متوافقة.