ChromeOS auf Toshiba Chromebook 2 durch richtiges Linux ersetzen

sia

gesperrt
Registriert
26 März 2015
Beiträge
5.926
Ort
FFM (NSFW)
viewer.php

Ich bin endlich (!) stolzer Besitzer des Toshiba Chromebook 2 mit 4GB RAM und FHD-IPS-Display (CB30-B-104, DE-Version vom ). Die Hardware gefällt mir sehr gut, der Bildschirm ist sehr hell und einer der besten Schminkspiegel, die ich bisher aufklappen konnte (imho auf einem Level mit einem Macbook Air 2014). Die Tastatur ist zwar schwammig, hat aber einen sehr gut definierten Druckpunkt und ist sehr, sehr leise. Für 300€ gibt es meiner Meinung nach derzeit keine bessere Hardwarekombination.

Nun möchte ich Google soweit es möglich ist den Rücken kehren. Derzeit bin ich mit meinem Google-Account angemeldet, habe mir einen lokalen User angelegt, dessen Browser nicht mit Google synchronisiert, und und installiert. Die KeePass-App im Store scheint allerdings nicht zu funktionieren.

Da ich lieber Firefox nutzen würde und für meine Zwecke eine Shell sowie KeePassX unbedingt brauche, muss ich eine Linux-Umgebung auf das Ding bekommen. ChromeOS ist meines Wissens nach ein angepasstes Gentoo, daher ist das mit mehr oder weniger Aufwand definitiv möglich. gibt es derzeit keinen bekannten Weg, Xubuntu oder Ähnliches auf das Chromebook zu spielen.

(ehemals Chrubuntu) als native Dual-Boot-Variante habe ich schon versucht, aber beim Reboot in den Legacy-Modus zu kommen, scheint mangels SeaBIOS nicht so ganz zu funktionieren. Mit den kann man den Kernel repacken/flashen, damit könnte ich zumindest den nervigen Developer-Screen kürzer schalten.

wäre die nächste Möglichkeit, die ich definitiv nutzen werde, wenn ich in den nächsten Tagen keine native Version finde. Da lässt man ein anderes OS effektiv im chroot laufen, was ja dann die komplette Linux-Welt öffnet. Dann wäre da aber immer noch der nervige Developer-Modus und ein chroot ist jetzt nicht die eleganteste Lösung.

Meine Idee: ChromeOS-Kernel zum Booten nutzen und ein Xubuntu installieren, welches dann die Signaturprüfung besteht. Oder die Kernelmodule und Blobs aus dem installierten ChromeOS extrahieren, das Ganze irgendwie mit self-signed certs signieren und dann ein leicht angepasstes Xubuntu draufpacken. Oder den Gentoo-Unterbau nutzen und die Anwendungen unter ChromeOS installieren, die ich brauche... wie gehe ich das am Schlausten an?
 
Zuletzt bearbeitet:
Re: ChromeOS auf Toshiba Chromebook 2 durch Xubuntu ersetzen

Funktioniert denn Portage einfach so? D.h. kannst du
Code:
Expand Collapse Copy
emerge --sync
ausführen?

Gibt's /etc/portage/make.conf?
 
  • Thread Starter Thread Starter
  • #3
Re: ChromeOS auf Toshiba Chromebook 2 durch Xubuntu ersetzen

geht emerge, aber da ich das Ding derzeit nicht mehr im Developer-Modus habe (erst mal alles abchecken^^), kann ich das nicht nachprüfen. Aber auch da wieder der nervige Developer-Mode-Screen.

Man kommt anscheinend nur in die richtige Shell, wenn man den Dev-Mode an macht (gerade probiert, das Terminal kann im normalen Modus nur Ping, Top, diverse ChromeOS-spezifische Tools) und wenn man da was macht und dann den Dev-Mode wieder verlässt, setzt sich das Gerät auf den Ursprungszustand zurück. Ich frage mich, ob das mit einem geflashten Bios anders ist. Im Internet habe ich nur eine Anleitung gefunden, wie man . Derselbe Autor bietet auch Custom-Firmwares an, die anscheinend weder Sound, noch die eMMC unterstützen.

Das wird noch ein Spaß mit dem Gerät :D

EDIT: Man kann durch das Entfernen der BIOS-Überprüfung auch die Funktion der Leertaste entfernen, dann würde sich wenigstens das Betriebssystem nicht wipen, wenn jemand das Teil aufklappt und das macht, was angezeigt wird.

Ob man wohl das Wipen der Firmware, wenn man den Dev-Modus deaktiviert, durch Software verhindern kann? Welche Routine wird da verwendet – eine Binary in ChromeOS oder BIOS-basiert?
 
Zuletzt bearbeitet:
Re: ChromeOS auf Toshiba Chromebook 2 durch Xubuntu ersetzen

Klingt lustig. Also Schritte, die ich machen würde.

  1. Dev-Modus booten
  2. lspci -k
  3. lsusb -v
Dann erstmal rausfinden, was drinsteckt und welche Treiber dafür geladen werden.

Ganz nett ist z.B. Dort schmeißt du die Ausgabe von lspci -n rein. Die Datenbank kennt leider nicht alle Devices. Manche findet auch Google, wenn du nach der Vendor:PCIID, z.B. 8086:0416 suchst. Damit kannst du Dir zumindest erst mal einen Überblick verschaffen, ob für das Chromebook überhaupt alle Treiber im normalen Linux-Kernel vorhanden sind.

Ansonsten deutete darauf hin, dass das ChromeOS scheinbar in einem VMWare-Image gespeichert wird, was aber nativ gebootet wird.

Anscheinend ist in dem Teil eine verbaut. Ist dort das OS drauf? Vielleicht kannst du den VBoot (wo liegt der? auf der Flashcard) so verbiegen, dass er von der SSD nativ bootet. Ich denk mal, du willst die 16GB-SSD sowieso durch eine größere ersetzen.
 
  • Thread Starter Thread Starter
  • #5
Re: ChromeOS auf Toshiba Chromebook 2 durch Xubuntu ersetzen

Ist keine SSD, sondern eine eMMC ;)
Durch eine größere ersetzen will und kann ich sie gar nicht, außer ich würde mir ne kompatible eMMC holen – die sind aber schweineteuer.

Das Problem dabei ist, dass Coreboot/SeaBIOS noch keine Möglichkeit bietet, von eMMC zu booten, daher wird ein anderes System auf der Internen erst mal flach fallen.
Auf einer SD-Karte könnte das aber funktionieren. Mal schauen, recherchiere erst noch mal, bevor ich mich wieder in die Boot-Hölle begebe :p
 
Re: ChromeOS auf Toshiba Chromebook 2 durch Xubuntu ersetzen

hast du das hier schon gelesen ?
 
  • Thread Starter Thread Starter
  • #7
Re: ChromeOS auf Toshiba Chromebook 2 durch Xubuntu ersetzen

Ja, das ist crouton, also ein chroot. Siehe Eingangspost:

Crouton wäre die nächste Möglichkeit, die ich definitiv nutzen werde, wenn ich in den nächsten Tagen keine native Version finde. Da lässt man ein anderes OS effektiv im chroot laufen, was ja dann die komplette Linux-Welt öffnet. Dann wäre da aber immer noch der nervige Developer-Modus und ein chroot ist jetzt nicht die eleganteste Lösung.
 
Re: ChromeOS auf Toshiba Chromebook 2 durch Xubuntu ersetzen

Weiß nicht, ob ich da auf dem Holzweg bin. Prüf das mal bitte nach.

Oben hatte ich ja irgendwo entdeckt, dass das Chrome OS in einer Art VMWare-Diskimage gespeichert und über VBoot gebootet wird.

Den nach kannst du VBoot konfigurieren und auch Menüs nutzen. Falls meine Annahmen mit dem Diskimage richtig sind könntest du theoretisch ein zweites Disk-Image mit einem anderen Linux anlegen. Praktisch wird das nicht gehen, da das Diskimage von Chrome OS wohl annähernd die vollen 16 GB belegen wird.

Ein weiterer brachialer anderer Ansatz wäre, aus dem Chrome OS "einfach" ein Gentoo zu machen. D.h. die Start-Services so abzuändern, dass die Chrome-OS-Dienste nicht mehr gestartet werden. Da solltest du Dir aber vorher definitiv ein Image des Chrome OS irgendwo extern sichern.
 
  • Thread Starter Thread Starter
  • #9
Re: ChromeOS auf Toshiba Chromebook 2 durch Xubuntu ersetzen

Ich glaube, damit ist ein anderes vboot gemeint:

Siehe auch:

Die Idee mit dem Deaktivieren der Gentoo-Services ist ganz gut, vielleicht bekomme ich so auch den Dev-Modus weg. Da müsste ich halt noch mal checken, wie das Rollback ausgelöst wird – ob per Linux-Software oder BIOS-Firmware.
 
  • Thread Starter Thread Starter
  • #10
Re: ChromeOS auf Toshiba Chromebook 2 durch Xubuntu ersetzen

So, hab mich jetzt mal zum Dev-Modus-Aktivieren durchgerungen. Da ich den schon 2x aktiviert und wieder deaktiviert hatte, funktioniert das mit crouton allerdings nicht so.

Wenn ich das Script laufen lasse, läuft immer die Partition mit dem chroot voll. Hier mal etwas Output:
[src=bash]localhost / # df -h

Filesystem Size Used Avail Use% Mounted on
/dev/root 1.2G 1.1G 149M 88% /
devtmpfs 1.9G 4.0K 1.9G 1% /dev
tmp 1.9G 140K 1.9G 1% /tmp
run 1.9G 400K 1.9G 1% /run
shmfs 1.9G 25M 1.9G 2% /dev/shm
/dev/mmcblk0p1 498M 16M 446M 4% /home
/dev/mmcblk0p8 12M 24K 12M 1% /usr/share/oem
/dev/mapper/encstateful 143M 16M 125M 11% /var
media 1.9G 0 1.9G 0% /media
none 1.9G 0 1.9G 0% /sys/fs/cgroup
guestfs 1.9G 7.4M 1.9G 1% /home/chronos/user
guestfs 1.9G 4.0K 1.9G 1% /home/root/c030b901d91bf1308f83176c221377f3a6a2f960


localhost / # lsblk -f

lsblk: dm-0: failed to get device path
lsblk: dm-0: failed to get device path
NAME FSTYPE LABEL UUID MOUNTPOINT
loop0
└─encstateful ext4 257e662f-7850-4d45-8574-ea9b24b613e7 /mnt/statef
zram0 [SWAP]
mmcblk0rpmb
mmcblk0boot0
mmcblk0boot1
mmcblk0
├─mmcblk0p1 ext4 38fc7ed7-c890-4d8d-97bb-c3497bd5a518 /mnt/statef
├─mmcblk0p2
├─mmcblk0p3 ext4 ROOT-A
├─mmcblk0p4
├─mmcblk0p5 ext4 ROOT-A
├─mmcblk0p6
├─mmcblk0p7 ext4 2dd0c9be-aa1f-470e-9368-020cb5b2ca94
├─mmcblk0p8 ext4 OEM 0656277b-365e-47aa-8e13-572ccde0af95 /usr/share/
├─mmcblk0p9
├─mmcblk0p10
├─mmcblk0p11
└─mmcblk0p12 vfat EFI-SYSTEM 9FB3-DF61


localhost / # fdisk -l

Disk /dev/loop0: 149.3 MiB, 156585984 bytes, 305832 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/dm-0: 1.2 GiB, 1283457024 bytes, 313344 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/mmcblk0: 14.7 GiB, 15758000128 bytes, 30777344 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 70DB9E58-58F8-E74A-A645-05190548836A

Device Start End Sectors Size Type
/dev/mmcblk0p1 8671232 9740287 1069056 522M Microsoft basic data
/dev/mmcblk0p2 20480 53247 32768 16M ChromeOS kernel
/dev/mmcblk0p3 4476928 8671231 4194304 2G ChromeOS root fs
/dev/mmcblk0p4 53248 86015 32768 16M ChromeOS kernel
/dev/mmcblk0p5 282624 4476927 4194304 2G ChromeOS root fs
/dev/mmcblk0p6 9740288 9773055 32768 16M ChromeOS kernel
/dev/mmcblk0p7 9773056 30744575 20971520 10G ChromeOS root fs
/dev/mmcblk0p8 86016 118783 32768 16M Microsoft basic data
/dev/mmcblk0p9 16450 16450 1 512B ChromeOS reserved
/dev/mmcblk0p10 16451 16451 1 512B ChromeOS reserved
/dev/mmcblk0p11 64 16447 16384 8M unknown
/dev/mmcblk0p12 249856 282623 32768 16M EFI System

Partition table entries are not in disk order.
fdisk: cannot open /dev/mmcblk0rpmb: Permission denied
Disk /dev/mmcblk0boot1: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mmcblk0boot0: 4 MiB, 4194304 bytes, 8192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/encstateful: 149.3 MiB, 156585984 bytes, 305832 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes[/src]

Dachte jetzt, ich lösche die nicht gemounteten Partitionen und erweitere die Homepartition. Schaue mir aber erst noch mal das Crouton-Script an.

EDIT: nachdem ich gefunden habe, habe ich Partition 6 und 7 gelöscht und eine neue Partition mit fdisk angelegt. Als ich die formatieren wollte, ist mir allerdings aufgefallen, dass nur mkfs.exfat existiert, das ext4-mkfs gibt's nicht bei den Binaries. ich bin dumm, mit root-Rechten sehe ich die Binaries. Wird jetzt also formatiert.

Emerge gibt's natürlich auch nicht. Soll ich einen Cross-Compiler auf meiner Workstation aufsetzen und die Binaries dann rüber ziehen? Geht's auch anders?

EDIT2: so, jetzt erst mal den crouton-chroot mit folgendem Kommando installiert:
[src=bash]sh crouton -r trusty -t xfce[/src]

EDIT3: Wollte den chroot jetzt automounten, aber das System hat keine /etc/fstab und im init-System sehe ich nur ein binary, was die ChromeOS-Partitionen anscheinend mountet. Was ein Mist, mal schauen ob ich da irgendwie was standardkonformes draus machen kann. Wühle mich jetzt durchs Gentoo- und ChromeOS-Wiki...

EDIT4: So geht es:
 
Zuletzt bearbeitet:
  • Thread Starter Thread Starter
  • #11
Re: ChromeOS auf Toshiba Chromebook 2 durch Xubuntu ersetzen

Mittlerweile gibt es übrigens eine super Distribution für Chromebooks, die auf Ubuntu basiert:



Hat ein paar Chromium-Flags, den Touchpad-Treiber und weitere Optimierungen für Chromebooks an Bord. Außerdem existiert , in der auch die Entwickler recht aktiv dabei sind – fast besser als kommerzieller Support. Auch die werden fast immer innerhalb eines Tages beantwortet. Kann ich nur empfehlen!

Für das Toshiba Chromebook 2 braucht man die Bay-Trail-Variante.

Dazu muss man zuerst einen und ein . Die findet man auf dem Gründer der Google-Community zu Coreboot auf Chromebooks.

Ich finde das super – damals habe ich für 320€ einen richtig guten Deal gemacht, wenn man bedenkt, dass es jetzt neu 440€ kostet und nicht sooo viel Konkurrenz auf dem Markt vorhanden ist. Das IPS-Display ist super (trotz Verspiegelung super Farben), die Akkulaufzeit sogar phänomenal und die Leistung für Surfen, Office, Terminal ausreichend.
 
Zurück
Oben