Linux auf dem ODYS VarioPro 12 mit 32-bit EFI

Vor einigen Jahren hatte ich hier ja mal im Blog über das kleine ODYS Convertible berichtet. Das Gerät lebt immer noch und fristet mangels der minimalen Hardwareausstattung allerdings ein eher klägliches Dasein. Also warum nicht etwas basteln und mal ein Linux drauf ausprobieren? Könnte ja vielleicht besser funktionieren, als das doch etwas sehr zähe Windows 10.

Problem ist halt auch hier das 32-bit EFI. Die CPU selbst ist eine 64-bit fähige CPU, aber zum Booten braucht es einen 32-bit Bootloader. Für Windows bedeutet das, dass nur ein 32-bit Windows 10 verwendet werden kann. Bei Linux geht allerdings auch ein 64-bit System. Man muss es nur zum Booten bringen.

Wir brauchen nur wenige Dinge:

  • Unser Notebook
  • Eine Linux Distribution als ISO-Image, im Beispiel ein Ubuntu 22.04 LTS
  • Einen 32-bit EFI Bootloader
  • Einen USB-Stick zur Installation
  • Einen USB-WLAN- oder -LAN-Adapter
  • Ein wenig Geduld… 😉

Bei meinen Tests wurde der verbaute WLAN-Adapter nicht erkannt oder, wenn er denn mal auftauchte, konnte er keine Verbindung herstellen. Ich habe daher einen USB-WLAN-Adapter im Micro-Format verwendet. Der verwendete Zyxel USB-WLAN-Adapter verwendet einen Realtek Chipsatz und wird vom Linux Kernel direkt unterstützt.

Auf den USB-Stick wird die ganz normale Linux-ISO geschrieben. Das kann unter Linux selbst per dd passieren oder unter Windows per Rufus.

Unseren 32-bit EFI Bootloader können wir z.B. hier herunterladen:
https://github.com/lamadotcare/bootia32-efi

Die Datei bootia32.efi wird nun auf dem USB-Stick in den Ordner \EFI\boot kopiert. Dort liegen schon die bestehenden Bootloader und unser Loader fürs 32-bit EFI kommt einfach dazu. Schon ist der Stick bootfähig und wird ans VarioPro gesteckt.

Ich habe die Erfahrung gemacht, dass dazu am besten die linke USB-Buchse verwendet wird. Diese kennt nur USB 2.0. An der rechten USB 3.0 Buchse wurde mein Stick nicht zum Booten erkannt.

Beim VarioPro kommt man ins Bootmenü, indem man nach dem Anschalten wild die Esc-Taste drückt, bis ein Menü auftaucht. Hier muss nun zuerst SecureBoot deaktiviert werden. Der 32-bit EFI Bootloader ist nicht signiert und damit würde er bei aktivem SecureBoot nicht gestartet werden.

Nachdem SecureBoot aus ist, kann man im Boot-Menü des VarioPro den USB-Stick als Bootmedium auswählen. Und man glaubt es kaum, das System bootet. War noch gar nicht so schwer.

Im grub Bootmenü kann nun die Installation des Linux Betriebssystems ausgewählt werden. Die Installation lässt sich ganz normal durchführen. Ich würde zuerst mal die Minimal-Installation wählen. Fehlende Pakete lassen sich hinterher ja problemlos nachinstallieren.
Beim Installationsziel sollte man die gesamte interne Disk angeben und nicht versuchen, Linux neben Windows zu installieren. Das passt nicht wirklich.

Die Installation selbst läuft dann eine gewisse Zeit und nebenbei darf man sein Benutzerkonto einrichten und dem Gerät einen Namen geben.
Ist die Installation abgeschlossen, darf man auswählen, das Gerät neu zu starten. Die Meldung, den USB-Stick zu entfernen, sollte man einfach ignorieren. Wir müssen jetzt noch einmal vom Stick booten!

Also beim Neustart wieder wild auf die Escape-Taste hämmern und erneut im Boot-Menü den Stick auswählen. Nun landen wir wieder im grub Menü und drücken hier einmal die Taste „c“, um auf der Kommandozeile von grub zu landen.

Was ist das Problem? Nun, wir haben zwar vom Stick im 32-bit EFI-Modus booten können, aber unser installiertes System weiß davon nichts. Leider ist Ubuntu nicht raffiniert genug, um das festzustellen. Wir müssen also noch ein paar Pakete nachinstallieren. Aber dazu müssen wir zuerst mal unser installiertes System booten.

An der grub Kommandozeile gibt man dazu folgende Kommandos ein:

linux (hd1,gpt2)/boot/vmlinuz-5.19.0-38-generic root=/dev/mmcblk2p2
initrd (hd1,gpt2)/boot/initrd-5.19.0-38-generic
boot

grub beherrscht hier die automatische Vervollständigung der Kommandozeile. Wenn man also nicht genau weiß, welche Kernel-Version installiert ist, gibt man linux (hd1,gpt2)/boot/vm ein und drückt einmal die Tab-Taste, um die Auswahl dazu zu bekommen. Dann ergänzt man die entsprechende Zeile.

Selbiges gilt für die initrd-Zeile. Auch hier kann man die verwendete initrd einfach mit Tab komplettieren.
Das Boot-Kommando startet dann das installierte System, wenn man alles richtig getippt hat.

Ist das System gestartet, sollte man den USB-Stick abziehen. Nun können wir die notwenigen Komponenten nachinstallieren. Dazu wird ein Terminal geöffnet und dann werden folgende Befehle eingegeben:

sudo apt install grub-efi-ia32-bin
sudo grub-install
sudo update-grub

Damit werden die 32-bit EFI Komponenten für grub nachinstalliert, und im System installiert.
Nun kann man das System noch einmal neu starten und es sollte ganz normal das installierte Linux booten.

Ich habe ein wenig mit Ubuntu 22.04 auf dem VarioPro herumgespielt und es ist zumindest nutzbar. Natürlich wird aus der Hardware kein Rennpferd, aber alle grundsätzlichen Funktionen scheinen soweit zu funktionieren, mit Ausnahme des erwähnten WLAN-Adapters.
Es sind hier etwa 16 GB freier Speicherplatz verfügbar, insofern ist Ubuntu also etwas schmaler auf der Disk, was bei den viel zu kleinen 32 GB eMMC Speicher sicherlich nicht verkehrt ist.

Die Anleitung lässt sich mit leichten Anpassungen bei der Angabe der Partitionsnamen auch für andere CherryTrail Tablets/Convertibles mit 32-bit EFI nutzen.

Viel Erfolg beim Ausprobieren!

Nachtrag vom 15.04.:

Nun fallen mir doch noch ein paar Dinge auf, die ich nachträglich ergänzen möchte.

Einerseits funktioniert die Webcam nicht. Beim Booten wird gemeldet, dass die binäre Firmware dafür fehlen würde. Lädt man diese herunter und kopiert sie in den gewünschten Ordner, funktioniert nach dem Neustart die Kamera weiterhin nicht. Stattdessen crasht im Hintergrund einiges. Also Firmware-Datei schnell wieder gelöscht und auf die Webcam verzichtet.

Und der oben erwähnte USB-WLAN-Adapter funktioniert doch nicht „out of the box“. Warum ich zwischendurch mal Funknetze gesehen habe, kann ich grad nicht nachvollziehen. Vielleicht war da doch irgendwie der integrierte WLAN-Chip aktiv? Keine Idee.

Für meinen oben erwähnten USB-WLAN-Adapter mit Realtek RTL8812BU Chipsatz finden sich die Treiber hier: https://github.com/morrownr/88x2bu-20210702
Die Installation ist dort auch für Laien gut nachvollziehbar beschrieben.

Und gleich noch eine Ergänzung, der Sound macht nämlich auch so ein paar seltsame Mucken. Nach ein bis zwei Minuten hört man statt Musik nur noch ein infernalisches Piepen. Workaround ist der Eintrag folgender Zeile am Ende der Datei /etc/modprobe.d/alsa-base.conf

options snd-intel-dspcfg dsp_driver=2

Auch damit taucht hier noch keine Möglichkeit zur Regelung der Lautstärke auf. Aber ich will ja auch in der Zukunft noch etwas zum Basteln haben…

Dieser Beitrag wurde unter Allgemein veröffentlicht. Setze ein Lesezeichen auf den Permalink.

2 Antworten zu Linux auf dem ODYS VarioPro 12 mit 32-bit EFI

  1. Olaf schreibt:

    Moin
    Vielen Dank für die Anleitung, ich versuche das seit 2 Tagen auf einem Acer ONE.mit Fedora hat es ohne Probleme geklappt da wird das neues System auch direkt bei der Installation ins Bootmenü eingetragen aber Ubuntu ist mirdann doch lieber und da habe ich keine passende Anleitung gefunden.

    Gruß Olaf

  2. Herbert schreibt:

    Hallo,

    habe ein Trendbook 14 und genau das gleiche Problem. Hat mir sehr geholfen und so hat die Linuxmint-Installation geklappt.

    Vielen Dank!

    Gruß Herbert

Hinterlasse einen Kommentar

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..