Pembahasan mendalam tentang internal

Ini adalah proses lanjutan yang tidak kami rekomendasikan untuk pengguna Linux baru.

ChromeOS mendukung menjalankan kode arbitrer di dalam VM. Ini adalah dokumentasi tingkat rendah tentang dukungan tersebut; untuk tampilan yang lebih mudah digunakan, lihat faq.

Prasyarat

Fitur runtime

Anda dapat mengharapkan fitur berikut berfungsi saat menjalankan container Linux:

  • Koneksi jaringan keluar (IPv4).
  • Grafis yang tidak dipercepat.
  • Grafis yang dipercepat (melalui OpenGL).
  • Program Wayland (lebih disukai; melalui Sommelier).
  • Program X (kompatibilitas melalui Sommelier dan XWayland).
  • Output audio di M74+ dan capture/mikrofon eksperimental di image R79+.

Ada fitur hilang

Ada banyak hal mudah yang sedang kami kerjakan untuk melengkapi detailnya. Beberapa contoh yang jelas adalah:

  • Dekode hardware video.
  • IME.

Meskipun ada lebih banyak hal yang dipertimbangkan, tim ChromeOS mengambil pendekatan terukur untuk meluncurkan fitur baru guna memastikan keamanan sistem secara keseluruhan tidak terganggu. Lihat FAQ Crostini untuk mengetahui informasi yang lebih mendetail yang mencakup sebagian besar topik seputar pengembangan Linux di ChromeOS.

Keamanan

Meskipun menjalankan kode arbitrer biasanya merupakan risiko keamanan, tim ChromeOS yakin bahwa model runtime yang digunakan oleh penampung Linux di ChromeOS cukup memitigasi dan mengatasi risiko keamanan tersebut. Virtual machine (VM) adalah batas keamanan, dan semua yang ada di dalamnya dianggap tidak tepercaya. Image tamu VM saat ini juga menjalankan kernel yang dikeraskan secara kustom untuk lebih meningkatkan keamanan penampung, tetapi hal itu dianggap sebagai fitur yang bagus untuk dimiliki, bukan sebagai fitur yang diandalkan untuk memastikan keamanan sistem secara keseluruhan.

Dalam model ini, sistem ChromeOS lainnya harus tetap terlindungi dari kode arbitrer (berbahaya atau tidak disengaja) yang berjalan di dalam penampung di dalam VM.

Satu-satunya kontak dengan dunia luar adalah melalui crosvm, dan setiap saluran berkomunikasi dengan proses individual (yang masing-masing sangat disandbox).

Data pengguna di penampung

Dengan peralihan ke layanan cloud, pemikiran keamanan saat ini menyoroti fakta bahwa mendapatkan kredensial akun (misalnya, sandi Google/Facebook Anda) adalah vektor serangan yang lebih menguntungkan daripada menyerang desktop atau laptop Anda. Mereka tidak salah. Solusi ChromeOS VM/penampung saat ini belum meningkatkan hal ini. Sederhananya, apa pun yang dimasukkan ke dalam penampung saat ini menjadi tanggung jawab pengguna. Jadi, jika Anda menjalankan penampung yang tidak aman atau disusupi, lalu mengetikkan sandi Anda ke dalam penampung tersebut, sandi Anda dapat dicuri meskipun sistem ChromeOS lainnya tetap aman.

Persistensi proses

Proses di VM dan container tidak bertahan setelah logout (karena berada di penyimpanan terenkripsi pengguna) dan akan dihentikan secara otomatis. Aplikasi ini juga tidak otomatis dimulai saat login (untuk menghindari serangan persisten), dan tidak dapat otomatis berjalan saat booting (tanpa sesi login) karena tidak dapat diakses (karena berada di penyimpanan terenkripsi pengguna).

Kode yang dapat dieksekusi dan ditulis

Image disk VM Termina didownload ke partisi stateful yang dapat ditulis seperti komponen Chrome lainnya. Untuk memastikan konten tidak dimodifikasi, dm-verity digunakan. Artinya, hanya gambar yang ditandatangani oleh Google yang dapat dimuat, dan gambar selalu bersifat hanya baca.

Serangan hardware

Kerentanan Meltdown/Spectre memiliki implikasi terhadap penggunaan VM yang aman. Kami telah menerapkan perbaikan dan mitigasi untuk memastikan VM tidak dapat menyerang sistem host atau VM lain. Lihat halaman wiki Chromium OS tentang Status kerentanan Meltdown dan Spectre untuk perangkat ChromeOS untuk mengetahui detail selengkapnya.

Lifecycle

Setelah Anda mengaktifkan penampung Linux (yang menangani penginstalan semua komponen lain yang diperlukan seperti Termina), sistem siap digunakan.

Meskipun komponen ini dapat diinstal, tidak ada yang langsung berjalan. Saat Anda logout, semuanya akan dimatikan dan dihentikan, dan saat Anda login, tidak ada yang dimulai ulang secara otomatis.

Saat Anda menjalankan aplikasi Terminal, atau aplikasi Linux lain yang memulai container, dan container induknya belum berjalan, VM Termina akan dimulai secara otomatis, dan container Linux di ChromeOS default (juga dikenal sebagai Crostini) akan dimulai di dalamnya. Dengan demikian, Anda dapat terhubung ke container melalui SSH atau SFTP (melalui aplikasi File).

Saat Anda menutup semua aplikasi yang terlihat, VM/penampung tidak akan dimatikan. Jika mau, Anda dapat menghentikan dan memulainya secara manual, serta membuat lebih banyak penampung daripada hanya penampung default.

Persistensi data

Semua VM dan container yang dibuat, serta data dalam container tersebut, akan tetap ada di seluruh sesi pengguna (logout/login). Data tersebut disimpan dalam penyimpanan terenkripsi per pengguna yang sama dengan data browser lainnya.

Jika VM atau container dihentikan atau dihentikan secara tidak benar (misalnya, karena kehilangan daya), data dapat hilang dan perlu dipulihkan seperti halnya yang lain dalam sistem.

Dukungan perangkat

Meskipun tujuannya adalah agar Linux di ChromeOS dapat berfungsi dengan semua Chromebook, fitur kernel dan hardware yang diperlukan membatasi tempat deployment-nya. Tim telah berfokus pada keamanan dan stabilitas sistem sambil melakukan backporting fitur jika diperlukan. Ini adalah area yang terus kami upayakan.

Sekarang didukung

Untuk melihat daftar perangkat yang saat ini didukung, lihat Sistem ChromeOS yang mendukung Linux.

Persyaratan hardware

Meskipun saat ini tidak ada jumlah minimum RAM, penyimpanan, atau kecepatan CPU yang diperlukan untuk menjalankan penampung Linux di ChromeOS, semakin banyak yang Anda miliki, semakin baik performa sistem.

Namun, Anda memerlukan CPU yang mendukung virtualisasi hardware. Di platform x86, hal ini memiliki banyak nama. Intel menyebutnya sebagai VT-x dan VMX. AMD menyebutnya AMD-V & SVM.

Sistem BayTrail

Chromebook yang menggunakan BayTrail Intel tidak menyertakan VT-x. Meskipun CPU ini biasanya menyertakan VMX, varian di Chromebook tidak menyertakannya, dan oleh karena itu, sayangnya, tidak akan pernah didukung.

Anda dapat mencari tahu apakah board didukung dengan menelusuri daftar perangkat publik kami untuk BayTrail di kolom Platform.

Kernel lama

Tidak ada rencana untuk mendukung Linux 3.14 atau yang lebih lama. Hal ini memerlukan backport fitur baru yang ekstensif dan sering kali invasif. Contoh:

Anda dapat mencari tahu apakah board didukung dengan menelusuri daftar perangkat publik kami untuk menemukan nomor versi yang lebih rendah dari 3.14 di kolom Kernel.

CPU ARM 32-bit

Membuat virtual machine berfungsi di bawah CPU ARM 32-bit sulit, tidak standar, dan memerlukan koordinasi dengan firmware. Sayangnya, firmware ChromeOS cenderung tidak mengonfigurasi ekstensi. Oleh karena itu, sistem ini tidak didukung.

Anda dapat mencari tahu apakah board didukung dengan menelusuri daftar perangkat publik kami untuk arm di kolom Kernel ABI.