Bu, yeni Linux kullanıcıları için önermediğimiz gelişmiş bir işlemdir.
ChromeOS, sanal makinelerde rastgele kod çalıştırmayı destekler. Bu, destekle ilgili düşük düzeyli dokümandır. Daha kullanıcı dostu bir görünüm için faq bölümüne bakın.
Ön koşullar
- ChromeOS cihazınızın ChromeOS'te Linux'u desteklediğinden emin olun.
-
ChromeOS 72 (M72+) veya daha yeni bir sürümü (Şubat 2019'da yayınlandı) kullandığınızdan emin olun.
- Gerekirse sistem güncellemesi başlatın ve yeniden başlatın.
- Bu özellik, kararlı kanalda çalışır.
- Cihazı geliştirici moduna almanız gerekmez.
- Linux kapsayıcısını etkinleştirme
Çalışma zamanı özellikleri
Linux kapsayıcınızı çalıştırırken aşağıdaki özelliklerin çalışmasını bekleyebilirsiniz:
- Giden ağ bağlantıları (IPv4).
- Hızlandırılmamış grafikler.
- Hızlandırılmış grafikler (OpenGL aracılığıyla).
- Wayland programları (tercih edilen; Sommelier aracılığıyla).
- X programları (Sommelier ve XWayland üzerinden uyumluluk).
- M74 ve sonraki sürümlerde ses çıkışı, R79 ve sonraki sürümlerde deneysel yakalama/mikrofon.
Eksik özellikler
Üzerinde çalıştığımız ve kolayca ulaşılabilecek birçok hedef var. Bu duruma ilişkin birkaç net örnek:
- Video donanımı kod çözme
- IME'ler.
ChromeOS ekibi, genel sistem güvenliğinin tehlikeye atılmaması için yeni özellikleri kullanıma sunarken ölçülü bir yaklaşım benimser. Bu nedenle, değerlendirilen başka konular olsa da yeni özellikler kademeli olarak kullanıma sunulur. ChromeOS'te Linux geliştirme ile ilgili çoğu konuyu kapsayan daha ayrıntılı bilgi için Crostini SSS bölümüne bakın.
Güvenlik
Rastgele kod çalıştırmak normalde bir güvenlik riski olsa da ChromeOS ekibi, ChromeOS'teki Linux kapsayıcısı tarafından kullanılan çalışma zamanı modelinin bu güvenlik riskini yeterince azalttığına ve kontrol altına aldığına inanmaktadır. Sanal makine (VM) güvenlik sınırıdır ve içindeki her şey güvenilmeyen olarak kabul edilir. Mevcut VM konuk görüntüsü, kapsayıcıların güvenliğini daha da artırmak için özel olarak güçlendirilmiş bir çekirdek de çalıştırıyor ancak bu, genel sistem güvenliğini sağlamak için güvenilmek yerine sahip olunması gereken güzel bir özellik olarak kabul ediliyor.
Bu modelde, ChromeOS sisteminin geri kalanı, sanal makinenin içindeki kapsayıcılarda çalışan rastgele kodlardan (kötü amaçlı veya yanlışlıkla) korunmaya devam etmelidir.
Dış dünyayla tek iletişim noktası crosvm'dir ve her kanal, ayrı ayrı işlemlere (her biri sıkı bir şekilde korumalı alanda çalışır) bağlanır.
Kapsayıcıdaki kullanıcı verileri
Bulut hizmetlerine geçişle birlikte, mevcut güvenlik anlayışı, hesap kimlik bilgilerini (ör. Google/Facebook şifreleriniz) elde etmenin masaüstü veya dizüstü bilgisayarınıza saldırmaktan daha kârlı bir saldırı vektörü olduğunu vurgulamaktadır. Yanlış değiller. Mevcut sanal makine/kapsayıcı ChromeOS çözümü şu anda bu konuda bir iyileştirme sunmamaktadır. Basitçe söylemek gerekirse, kapsayıcıya girilen her şey şu anda kullanıcının sorumluluğundadır. Bu nedenle, güvenli olmayan veya güvenliği ihlal edilmiş bir kapsayıcı çalıştırıp şifrelerinizi kapsayıcıya yazarsanız ChromeOS sisteminin geri kalanı güvenli kalsa bile şifreleriniz çalınabilir.
Sürecin kalıcılığı
Sanal makinelerdeki ve kapsayıcılardaki işlemler, kullanıcının şifrelenmiş depolama alanında bulundukları için oturum kapatma işleminden sonra devam etmez ve otomatik olarak sonlandırılır. Ayrıca, kalıcı saldırıları önlemek için oturum açıldığında otomatik olarak başlatılmazlar ve kullanıcının şifrelenmiş depolama alanında bulundukları için erişilemeyeceklerinden başlatma sırasında (oturum açılmadan) otomatik olarak çalıştırılamazlar.
Yürütülebilir ve yazılabilir kod
Termina sanal makine disk görüntüsü, diğer Chrome bileşenleri gibi yazılabilir durum bilgisi olan bölüme indirilir. İçeriğin değiştirilmediğinden emin olmak için dm-verity kullanılır. Bu, yalnızca Google tarafından imzalanan resimlerin yüklenebileceği ve resmin her zaman salt okunur olacağı anlamına da gelir.
Donanım saldırıları
Meltdown/Spectre güvenlik açıkları, sanal makinelerin güvenli bir şekilde kullanılması açısından sonuçlar doğurur. Sanal makinelerin ana makine sistemine veya diğer sanal makinelere saldıramaması için düzeltmeler ve hafifletmeler uyguladık. Daha fazla bilgi için ChromeOS cihazlarda Meltdown ve Spectre güvenlik açığı durumu başlıklı Chromium OS wiki sayfasını inceleyin.
Yaşam döngüleri
Linux kapsayıcısını etkinleştirdikten (Termina gibi diğer gerekli tüm bileşenlerin yüklenmesini sağlar) sonra sistemi kullanmaya başlayabilirsiniz.
Bu bileşenler yüklenebilir ancak hiçbir şey hemen çalışmaya başlamaz. Oturumu kapattığınızda her şey kapatılır ve sonlandırılır. Oturum açtığınızda ise hiçbir şey otomatik olarak yeniden başlatılmaz.
Terminal uygulamasını veya kapsayıcıyı başlatan başka bir Linux uygulamasını çalıştırdığınızda ve üst kapsayıcısı henüz çalışmıyorsa Termina VM otomatik olarak başlatılır ve ChromeOS'teki varsayılan Linux kapsayıcısı (Crostini olarak da bilinir) bu kapsayıcıda başlatılır. Bu sayede, SSH veya SFTP (Dosyalar uygulaması aracılığıyla) üzerinden kapsayıcıya bağlanabilirsiniz.
Görünür tüm uygulamaları kapattığınızda sanal makine/kapsayıcılar kapatılmaz. İsterseniz bunları manuel olarak durdurup başlatabilir ve varsayılan olanın dışında daha fazla kapsayıcı oluşturabilirsiniz.
Veri kalıcılığı
Oluşturulan tüm sanal makineler ve kapsayıcılar ile bu kapsayıcılardaki veriler, kullanıcı oturumları (çıkış/giriş) arasında kalıcı olur. Tarayıcının diğer verileriyle aynı kullanıcı başına şifrelenmiş depolama alanında saklanır.
Bir sanal makine veya kapsayıcı düzgün şekilde durdurulmazsa ya da sonlandırılmazsa (ör. güç kaybı) veriler kaybolabilir ve sistemdeki diğer her şey gibi kurtarılması gerekebilir.
Cihaz desteği
ChromeOS'te Linux'un tüm Chromebook'larda çalışması istense de gerekli çekirdek ve donanım özellikleri, bu özelliğin kullanılabileceği yerleri sınırlar. Ekip, mantıklı olan yerlerde özellikleri geriye taşırken sistem güvenliğine ve kararlılığına odaklandı. Bu, üzerinde çalışmaya devam ettiğimiz bir alandır.
Şu anda destekleniyor
Şu anda desteklenen cihazların listesi için lütfen ChromeOS systems supporting Linux (Linux'u destekleyen ChromeOS sistemleri) başlıklı makaleyi inceleyin.
Donanım gereksinimleri
Şu anda ChromeOS'te Linux kapsayıcısını çalıştırmak için gereken minimum RAM, depolama alanı veya CPU hızı olmasa da her birinden ne kadar çok olursa sistem o kadar iyi performans gösterir.
Bununla birlikte, donanım sanallaştırmayı destekleyen bir CPU'ya ihtiyacınız olacaktır. x86 platformlarında bu birçok ada sahiptir. Intel bu özelliği VT-x ve VMX olarak adlandırır. AMD, bu özelliği AMD-V ve SVM olarak adlandırır.
BayTrail sistemleri
Intel'in BayTrail işlemcisini kullanan Chromebook'larda VT-x bulunmaz. Bu CPU normalde VMX'i içerse de Chromebook'lardaki varyantı içermez ve bu nedenle maalesef asla desteklenmeyecektir.
Bir kartın desteklenip desteklenmediğini öğrenmek için herkese açık cihaz listemizde Platform sütununda BayTrail ifadesini arayabilirsiniz.
Eski çekirdekler
Linux 3.14 veya daha eski sürümlerin desteklenmesi planlanmamaktadır. Bunlar, kapsamlı ve genellikle müdahaleci olan yeni özelliklerin geriye dönük bağlantı noktalarını gerektirir. Örneğin:
Bir kartın desteklenip desteklenmediğini öğrenmek için herkese açık cihaz listemizde Kernel sütununda 3.14'ten küçük sürüm numaralarını arayabilirsiniz.
32 bit ARM CPU'lar
Sanal makinelerin 32 bit ARM CPU'lar altında çalıştırılması zordur, standart dışıdır ve donanım yazılımıyla koordinasyon gerektirir. Maalesef ChromeOS donanım yazılımı, uzantıları yapılandırmamaktadır. Bu nedenle, bu sistemler desteklenmez.
Bir kartın desteklenip desteklenmediğini öğrenmek için herkese açık cihaz listemizde Kernel ABI sütununda arm ifadesini arayabilirsiniz.