GalliumOS – Een aangepaste distro voor je Chromebook.

About

GalliumOS – Een aangepaste distro voor je Chromebook.

Een Chromebook is standaard voorzien van ChromeOS, een minimale Linux-distro met beperkte mogelijkheden. Wil je een volledige Linux-distributie op je Chromebook? Installeer dan GalliumOS.

Auteur: Filip Vervloesem

Over het algemeen zijn Chromebooks goedkoop, klein en licht en hebben ze een prima batterijduur. Dat maakt dat het ideale laptops zijn om bijvoorbeeld in de trein mee te werken of mee te nemen op reis. Het enige nadeel: je hebt geen volwaardige Linux-desktop ter beschikking. Met Crostini en Crouton kom je al een heel eind om Linux-apps te installeren. Maar als je geen behoefte hebt aan ChromeOS’ features, dan installeer je toch gewoon een volledig nieuwe Linux-distro? Dat werkt net wat beter dan de verschillende oplossingen om ChromeOS uit te breiden met Linux-apps. In theorie is elke Linux-distro geschikt voor Chromebooks. Je hebt echter het meeste kans op slagen met GalliumOS. Dat is namelijk een distro die speciaal geoptimaliseerd is voor diverse Chromebooks.

Voordelen

Onderhuids is GalliumOS gebaseerde op Xubuntu, dat is Ubuntu met de Xfce desktopomgeving. Xfce lijkt nog het meest op de oude Gnome 2-desktop. Het ziet er misschien niet zo flitsend uit als modernere desktops (zoals Gnome 3 en KDE), maar het draait wel vlot op oudere hardware. GalliumOS bevat alle benodigde drivers voor de hardware in Chromebooks. Bovendien is de kernel ook geoptimaliseerd voor de tragere cpu’s en de ssd’s die je in Chromebooks aantreft. Dat maakt dat GalliumOS minder ram-geheugen en schijfruimte nodig heeft dan andere distro’s én dus sneller draait op dezelfde hardware.

In vergelijking met ChromeOS zou de batterijduur maximaal 10% à 15% mogen afwijken. De batterij van je Chromebook kan iets sneller leeglopen in GalliumOS dan in ChromeOS, maar het omgekeerde is ook mogelijk. Voor deze workshop hebben we GalliumOS 2.1 getest op een Lenovo N23. (De N23 was niet opgenomen in de lijst van ondersteunde modellen op de GalliumOS wiki, maar de N22 wel. Aangezien ze qua hardware bijna identiek zijn, hebben we er goede hoop op dat de N23 ook ondersteund wordt.) GalliumOS 2.1 is uitgebracht in 2017 en is nog gebaseerd op Ubuntu 16.04 LTS en niet op 18.04 LTS. Je mag security updates verwachten tot april 2021. Daarna moet je wel echt upgraden naar een nieuwere versie.

Hardware

De bruikbaarheid van een distro staat of valt met de ondersteuning voor jouw hardware. GalliumOS ondersteunt weliswaar veel, maar toch niet alle Chromebooks. Op https://bit.ly/2QXS3yy zie je een overzicht van ondersteunde modellen. In totaal zijn een 120-tal modellen opgenomen: 75 daarvan werken perfect, een 20-tal werken mits enkele beperkingen en een 25-tal worden niet ondersteund. Die laatste categorie bevat uitsluiten Chromebooks met een ARM-processor en twee erg oude modellen met een Intel-cpu (uit 2011). Opvallend is ook dat de meest recente Chromebooks nog niet volledig ondersteund worden. Dat geldt voor alle modellen uit 2018 en een deel van de modellen uit 2017. Dat is eigenlijk best logisch: die modellen zijn nà GalliumOS 2.1 uitgekomen. Ze hebben voor bepaalde componenten dus nieuwere drivers nodig dan degene die in de GalliumOS-kernel zitten. Hopelijk komt er snel een nieuwe GalliumOS-versie uit om dat euvel op te lossen! Voorlopig heb je dus meer kans op succes met een Chromebook van minstens twee jaar oud.

Firmware

Het merendeel van de ondersteunde Chromebooks heeft een firmware upgrade nodig om GalliumOS te kunnen installeren. Dat bleek ook het geval te zijn voor onze Lenovo N22/N23. Op https://bit.ly/2GIf8Re vind je een lange uiteenzetting over de verschillende custom firmwares. Afhankelijk van het gebruikte platform, heb je de keuze uit één of twee opties: firmware van MrChromebox of John Lewis. Elk van die twee biedt nog verschillende types firmware aan. Onze Chromebook is gebaseerd op het Intel Braswell-platform: daarvoor bleek MrChromebox de veiligste keuze. Die biedt twee types firmware aan:

  1. Full Firmware: een volledige vervanging van de bestaande firmware. Daardoor kan je geen ChromeOS meer booten. Ondersteunt de meeste besturingssystemen: het is zelfs mogelijk om Windows te installeren. Loopt er iets mis tijdens de upgrade, dan bestaat de kans dat je Chromebook niet meer boot.
  2. RW_LEGACY: overschrijft de bestaande firmware niet en voegt enkel de mogelijkheid toe om GalliumOS te booten. Dat laat je toe om een dualboot-setup met ChromeOS en GalliumOS te installeren. Er is geen risico op beschadiging van je Chromebook.

Omdat we een dualboot-setup verkiezen en ook liever geen mislukte upgrade riskeren, kozen we voor de RW_LEGACY-firmware.

Ontwikkelaarsmodus

Om de firmware-upgrade te starten, schakel je eerst de zogenaamde ontwikkelaarsmodus in op je Chromebook. De precieze procedure lees je na in de workshop over Linux-apps in ChromeOS, onder het kopje ‘Ontwikkelaarsmodus’. Open vervolgens een terminal via Ctrl + Alt + T en het ‘shell’-commando. Voer tot slot volgende commando’s uit om het firmwarescript van MrChromebox te starten:

cd

curl -LO https://mrchromebox.tech/firmware-util.sh

sudo bash firmware-util.sh

Het script toont je een interactief menu met de verschillende opties. Bij sommige opties zie je de tekst [WP] in het rood staan. Dat betekent dat die opties niet beschikbaar zijn, tenzij je de Write Protect-functie uitschakelt. Daarvoor moet je je Chromebook openschroeven en binnenin een klein schroefje verwijderen. Gelukkig is dat niet nodig om de RW_LEGACY firmware te installeren. We kiezen dus de eerste optie in het script. Vervolgens vraagt het script of we vanaf usb willen booten of niet. Kies hier de standaardoptie ofwel ‘N’, want we willen van de interne ssd booten. Nog geen minuut later is de firmware succesvol geïnstalleerd en druk je op ‘Enter’, gevolgd door ‘R’ om het systeem te herstarten.

Met dit script voeg je dualboot-functionaliteit toe aan de firmware.

 

De firmware is succesvol geïnstalleerd.

 

Partitioneren

Je krijgt nu een opstartscherm te zien met de melding ‘OS verification is OFF’. Doe je daar niets, dan start ChromeOS na een dertigtal seconden op. Met de sneltoets Ctrl + D start het systeem meteen op. Na de herstart, hoef je niet in te loggen. Op het aanmeldscherm gebruik je de sneltoets Ctrl + Alt + pijltje naar rechts om een terminal te openen. Log daar in met de gebruiker ‘chronos’ en zonder wachtwoord in te voeren. Belgische gebruikers moeten opletten: de toetsenbord lay-out staat hier op qwerty ingesteld! Download vervolgens het chrx-script om de ssd te herpartitioneren:

cd

curl -O https://chrx.org/go

sh go

Je mag kiezen hoeveel schijfruimte je voor Linux reserveert. Op onze testmachine was dat tussen 5GB en 10GB. Chrx stelde voor om 9GB aan Linux toe te wijzen, maar dan heeft ChromeOS bijna geen vrije schijfruimte meer. Ben je van plan om ChromeOS nog intensief te gebruiken, dan is dat wellicht geen goed idee. Een basisinstallatie van GalliumOS heeft in elk geval minstens 3GB nodig. Voor onze test besloten we om 7GB aan Linux te geven. Beschikt jouw Chromebook over meer dan 16GB opslagruimte, dan kan je zowel in ChromeOS als in Linux wat comfortabeler werken. Druk vervolgens op ‘Enter’ om de Chromebook te herstarten met de gewijzigde partitie-indeling. Nu heeft de Chromebook ongeveer vijf minuten de tijd nodig om ChromeOS te herstellen met de nieuwe partitie-indeling. Nog een reboot later moet je even opnieuw het wifi-wachtwoord ingeven en inloggen met je Google-account. Open vervolgens een shell in de terminal en start het chrx-script opnieuw met de drie commando’s uit vorige paragraaf om GalliumOS te installeren.

Chrx is het installatiescript voor dualboot GalliumOS-installaties.

 

Installatie

Chrx toont nu een aantal opties met de standaardwaardes. Waarschijnlijk wil je ten minste de gebruikersnaam, tijdzone en taal aanpassen. Breek de installer dus af met Ctrl-C en voeg de gewenste opties toe. In dit voorbeeld kiezen we als gebruikersnaam ‘filip’, als taal ‘nl_BE.UTF-8’ en als tijdzone ‘Europe/Brussels’:

sh go -U filip -L nl_BE.UTF-8 -Z Europe/Brussels

Voor Nederlandse gebruikers wordt dat:

sh go -U filip -L nl_NL.UTF-8 -Z Europe/Amsterdam

Druk tot slot ‘Enter’ om de installatie te starten. Na vijftien minuten is die voltooid: herstart nu je Chromebook en gebruik Ctrl + L in het opstartscherm om GalliumOS te starten of Ctrl + D voor ChromeOS. Inloggen doe je met gebruikersnaam als wachtwoord. De installatieprocedure is overigens anders als je geen dualboot-systeem wilt. Dan start je de installatie vanaf een usb-stick en overschrijf je de volledige ssd. De volledige uitleg vind je op https://bit.ly/2EVXZ4Y.

Nog een laatste tip: in de ontwikkelaarsmodus heb je geen wachtwoord nodig om toegang te krijgen tot je Chromebook. Dat is niet erg veilig. Met het volgende commando stel je een wachtwoord in voor de chronos-gebruiker:

sudo chromeos-setdevpasswd

De installatie is voltooid: tijd om te rebooten!

 

Eerste kennismaking

Na het inloggen, moet je nog een aantal zaken in orde zetten:

  • stel de wifi-verbinding in via het wifi-icoontje rechtsonder in de taakbal;
  • verander je wachtwoord via Menu > Settings > User and Groups;
  • wijzig eventueel de toetsenbord lay-out via Menu > Settings > Keyboard > Layout;
  • stel de gewenste taal in via Settings > Language Support.

Helaas was dat iets moeilijker dan verwacht. Hoewel we tijdens de installatie Nederlands hadden ingesteld, bleek het systeem toch in het Engels te staan. Tijdens onze test sloot de Language Support-tool steevast na enkele seconden af en konden we de taal dus niet veranderen. Als workaround start je die tool vanuit een terminalvenster:

LC_ALL=en_US.UTF-8 /usr/bin/gnome-language-selector

Klik nu op ‘Install’ bij de melding ‘The language support is not installed completely’ om de ontbrekende Engelse taalpakketten te installeren. Vervolgens klik je op ‘Install / Remove Languages’ om Nederlands toe te voegen. Daarna selecteer je ‘Nederlands’ in de lijst van geïnstalleerde talen. Sleep het helemaal naar boven (zodat het eerst in de lijst staat) en klik op ‘Apply System-Wide’. Onder het tabblad ‘Regional Formats’ kies je ook nog ‘Nederlands’ en klik je eveneens op ‘Apply System-Wide’. Herstart tot slot GalliumOS nog even om de wijzigingen door te voeren. Let op: even uitloggen en opnieuw inloggen is niet voldoende. Ook de tijd liep een uur achter: blijkbaar was de tijdzone tóch niet correct ingesteld. Dat los je op door rechts te klikken op de klok en naar Properties > Timezone te gaan.

Toetsenbord

De toetsenbord lay-out verdient nog een extra woordje uitleg. Normale Linux-systemen beschikken over 12 functietoetsen (F1 tot en met F12) en een aantal mediatoetsen. Met die toetsen regel je het volume en de schermhelderheid, schakel je wifi of bluetooth in- of uit, enz. Vaak worden die toetsen gecombineerd met de functietoetsen. Het toetsenbord bevat dan een extra knop om te schakelen tussen de twee functies. Zo doet de F1-knop op ons Logitech Illuminated Keyboard bijvoorbeeld dubbel dienst als home-knop als je die samen met de Fn-knop indrukt.

Chromebooks bevatten echter geen functietoetsen, maar enkel mediatoetsen. Er is ook geen speciale knop voorzien om de mediatoetsen om te schakelen naar functietoetsen. Om die reden configureert GalliumOS standaard de rechter Alt-toets als zogenaamde ‘overlay key’. Alt + pijltje terug is dan F1, Alt + pijltje verder 2, enz. Als alternatief mag je ook cijfers gebruiken: Alt + 8 is iets eenvoudiger te onthouden dan Alt + mute als je de F8-toets nodig hebt. Daardoor is het helaas niet mogelijk om bijvoorbeeld een | (rechter Alt + 1) of een @ (rechter Alt + 2) in te voeren op een Belgisch toetsenbord. In dat geval kies je ervoor om de zoekknop (op de plaats van Caps Lock) te configureren als overlay key. Meer informatie over de aanpassingsmogelijkheden van de toetsenbord lay-out lees je op https://bit.ly/2SsW4aW. Merk op dat F11 en F12 in geen geval beschikbaar zijn, want Chromebooks beschikken slechts over 10 mediatoetsen.

Chromebooks hebben een andere toetsenbord lay-out dan standaard PC’s.

 

Er zijn verschillende mogelijkheden om de functietoetsen te emuleren op je Chromebook.

 

Desktop

De ontwikkelaars van GalliumOS hebben echt hun best gedaan om Xfce in een modern jasje te steken. Een helder kleurschema, strakke icoontjes met felle kleuren en veelvuldig gebruik van transparantie en schaduwen maken Xfce al veel minder saai. Naast de standaard Xfce-tools zijn er erg weinig extra applicaties: Simple Scan om te scannen, Chromium om te surfen, Pidgin en HexChat om te chatten en VLC en het ons onbekende DeaDBeeF als mediaspelers. Programma’s, zoals LibreOffice of de Gimp, moet je zelf nog installeren via Synaptic. Dat is op zich geen slechte keuze, want de meeste Chromebooks zijn redelijk krap qua schijfruimte. Het zorgt er alleszins voor dat een standaard Gallium-installatie slechts 3GB nodig heeft. Op onze testmachine hadden we zo nog 4GB schijfruimte over voor extra apps en data. Ook belangrijk is GalliumOS’ beperkte geheugengebruik: ongeveer 256MB vlak na het inloggen. Op die manier lijkt 4GB ram ineens wel erg veel! In GalliumOS installeer je alle software die beschikbaar is voor Ubuntu. Voor sommige populaire applicaties, zoals Google Chrome, Adobe Flash Plugin of Skype, is wat meer werk vereist. De GalliumOS-wiki bevat beknopte instructies om dergelijke apps te installeren: https://bit.ly/2QdYqsu.

Een moderne Xfce-desktop met een beperkt geheugengebruik.

 

Hardware

Met Linux op een laptop is het altijd even afwachten of alle hardware wel naar behoren werkt. Vooral op nieuwere laptops laten bepaalde componenten het wel eens afweten. Gelukkig is dat bij onze -iets oudere- Chromebook absoluut niet het geval. Alle hardware functioneert probleemloos: de mediatoetsen, het geluid, de webcam, … Applicaties reageren ook vlotter onder GalliumOS dan via Crostini of Crouton onder ChromeOS. Dat is ook logisch, want er draait nu slechts één besturingssysteem in plaats van twee. Voor intensief gebruik van zware Linux-applicaties is GalliumOS dus de beste keuze.

Wil je GalliumOS verwijderen en ChromeOS weer toegang geven tot de volledige ssd in je Chromebook? Dan moet je een zogenaamde recovery usb-stick aanmaken en de Chromebook in recovery mode opstarten. De ssd wordt dan opnieuw geformatteerd en voorzien van de laatste versie van ChromeOS. Op https://bit.ly/2BK7dgy vind je meer uitleg over die procedure. Als je net zoals wij de RW_LEGACY-firmware geïnstalleerd had, is dat alles. Je hoeft dan niets te veranderen aan de firmware om terug te keren naar ChromeOS.

De ontwikkelaars van GalliumOS hebben echt hun best gedaan om Xfce in een modern jasje te steken.

De toetsenbord lay-out verdient nog een extra woordje uitleg.

Voor intensief gebruik van zware Linux-applicaties is GalliumOS de beste keuze.

Share
April 2024
May 2024
No event found!

Related Topics