abonneren

Linux-software op Chromebook draaien met Crostini

Sinds een poosje ondersteunt Google officieel Linux op Chrome OS, namelijk met Crostini. Hiermee draai je eenvoudig Linux-toepassingen zonder dat je je Chromebook in ontwikkelaarsmodus hoeft te zetten.

Google heeft goed geluisterd naar de drang van vele gebruikers om Linux op hun Chromebook te draaien. Dualboot, crouton, het zijn allemaal ‘hacks’ die gebruikmaken van de ontwikkelaarsmodus. Vooral bedrijven vinden de beschermingsmaatregelen die je met de ontwikkelaarsmodus mist wel belangrijk. Google kwam onlangs dan ook met een officiële manier om Linux op een Chromebook te draaien: Crostini.

Voor Crostini heb je een vrij recente Chromebook nodig. De belangrijkste vereisten zijn virtualisatie-uitbreidingen in de processor: Intel VT-x (of VMX) of AMD-V (of SVM). Ook sommige ARM-processoren worden ondersteund. Google heeft een lijst met ondersteunde board-namen online staan. In de lijst met Chrome OS-apparaten vind je per model ook welk board het gebruikt.

Het board van je Chromebook vind je ook als je in Chrome de pagina chrome://system opent. Zoek in de tabel met systeemgegevens naar hardware_class. Als die waarde begint met SNAPPY, weet je dat je Chromebook een snappy-board draait.

Crostini inschakelen

Maar de beste test of je Chromebook ondersteund wordt, is natuurlijk het inschakelen van de Linux-ondersteuning. Scrol in de instellingen van Chrome OS naar onderen tot je Linux (bèta) ziet. Als je dat niet ziet, wordt je Chromebook waarschijnlijk (nog) niet ondersteund.

Klik op Inschakelen en bevestig met Installeren. Dat kan enkele minuten duren, want er wordt nu een virtuele machine van 300 MB gedownload en een Linux-container gestart die in deze virtuele machine draait. Na de installatie krijg je een opdrachtprompt te zien in het programma Terminal, dat de poort vormt tot je Linux-container in Chrome OS.

Om Linux op je Chromebook te gebruiken, dien je in Chrome OS mogelijk over te schakelen van het stabiele kanaal naar het bèta- of ontwikkelingskanaal. Een andere reden om naar een van deze kanalen over te schakelen, is dat je daardoor nu al gebruik kunt maken van experimentele Crostini-functies die in het standaardkanaal nog niet zijn ingeschakeld.

Om over te schakelen open je de instellingen, klik je linksboven op de drie horizontale streepjes, klik je onder in de zijbalk die verschijnt op Over Chrome OS en dan Gedetailleerde build-gegevens. Klik dan op Kanaal wijzigen en kies Bèta of Ontwikkelaar - instabiel. Je Chromebook krijgt dan onmiddellijk een update naar het nieuwere kanaal. Dat duurt wel even.

Je kunt later altijd weer overschakelen naar een minder experimenteel kanaal, maar let op: Google reset dan het hele besturingssysteem, inclusief je data.

Eerste kennismaking met Crostini

Je bent in de opdrachtprompt ingelogd met je gebruikersnaam bij Google (het deel voor het @-teken in je Gmail-adres), en dat zonder wachtwoord. Je kunt eenvoudig verifiëren of je inderdaad Debian GNU/Linux draait:

uname -a cat /etc/issue cat /etc/debian_version

In tegenstelling tot wat je misschien gewend bent bij containers zoals in Docker, ben je in Chrome OS zelf verantwoordelijk voor het up-to-date houden van je containers. Dat doe je in Debian met de volgende opdrachten:

sudo apt update sudo apt upgrade

Met Ctrl+Shift+P open je de instellingen voor Terminal.

De standaard door Crostini geïnstalleerde container is een minimale Debian-installatie. Maar je hebt toegang tot de volledige pakketlijst van Debian en kunt dus allerlei Linux-programma’s installeren, inclusief grafische programma’s zoals Firefox, LibreOffice, Visual Studio Code, Eclipse of Android Studio. Laten we er eens enkele installeren:

sudo apt install firefox-esr libreoffice-writer

Het grote voordeel van Crostini is dat Google het nauw met de rest van Chrome OS geïntegreerd heeft. Als je grafische software in je Debian-container installeert, verschijnen de icoontjes gewoon tussen je Chrome-apps, in de categorie Linux-apps. De programma’s worden ook elk in een eigen venster getoond.

Integratie met Chrome OS

Chrome OS maakt een virtuele directory Linux-bestanden beschikbaar in het programma Bestanden, die gekoppeld wordt met je persoonlijke map in je Linux-container. Alle bestanden die je dus in je persoonlijke map aanmaakt in je Linux-container, kun je ook gewoon in Chrome OS zelf openen. En alle bestanden die je in Chrome OS in deze map Linux-bestanden opslaat, zijn ook beschikbaar voor je Linux-programma’s. Je kunt ook zelf extra mappen van Chrome OS met je Linux-container delen, zoals je downloadmap of Google Drive. Rechtsklik daarvoor op de map en kies Delen met Linux. Daarna is deze in de Linux-container beschikbaar onder /mnt/chromeos.

Ook het netwerk is gedeeld. Je kunt dus gewoon in je Linux-container een webserver opstarten en de webpagina’s bezoeken in Chrome door als server localhost met de bijbehorende poort te bezoeken.

Doordat alle containers in een virtuele machine draaien, zijn je Linux-programma’s toch geïsoleerd van de rest van Chrome OS. Onveilige software in een container zal dus niet je hele Chromebook aantasten. En als je je Debian-container verprutst, blijft de rest van je besturingssysteem gewoon werken.

Toegang tot hardware

Die isolatie betekent wel dat je Linux-programma’s met Crostini momenteel geen volledige toegang tot de hardware hebben. Op het moment van schrijven konden we usb-toegang voor Linux-programma’s inschakelen door Chrome OS naar het bètakanaal (toen 76.0.3809.38) over te schakelen. Daarna vind je in de Linux-instellingen van Chrome OS het onderdeel USB-voorkeuren.

Als je experimentele opties voor Crostini wilt inschakelen, bezoek dan zeker ook de webpagina chrome://flags/ en typ crostini in de adresbalk in. Zo vind je daar de optie Crostini Usb Allow Unsupported om toegang tot alle mogelijke usb-apparaten te geven (standaard wordt alleen de opslag van Android-telefoons ondersteund). Herstart daarna. Als je dan een usb-apparaat aansluit, vraagt Chrome OS je of je het apparaat met Linux wilt delen. Op onze testmachine kregen we wel die melding, maar lukte het ons niet om in de Linux-container aangesloten usb-apparaten te zien.

In de experimentele opties vind je ook Crostini GPU Support voor hardwareversnelling met de gpu. Audio-ondersteuning staat ook nog op de planning.

Geschreven door: Koen Vervloesem op

Category: Workshop, Linux

Tags: Linux, Chromebook

Laatste Vacatures