Lieber TS,
wer hat hier Erfahrungen?
ich mache das schon seit Jahren, damit meine Schüler im Informatik-Unterricht mit freier Software bei Bedarf arbeiten können, ohne dass ich die PC-Betreuer nerven muss, dass sie etwas installieren, das nur meine Schüler manchmal benötigen. Nebenbei finde ich es auch sehr unsinnig, auf jedem PC einen Apache + PHP + MySQL/MariaDB zu installieren, nur damit manche der Maschinen im Unterricht diese Features beim Lernen und Ausprobieren bieten.
Ich möchte mir ein Linux auf einem USB-Flashlaufwerk installieren, so dass ich es vom USB-Laufwerk booten kann.
Das ist kein Problem. Dazu benötigt es einen GRUB und eine ISO-Datei, von der dieser GRUB dann ein Linux mit Live-Session bootet. Meine Erfahrungen beschränken sich auf Ubuntu, da ich von dort die notwendigen Boot-Parameter kenne.
- Welche Größe sollte ich für den Stick auswählen, ohne gleich nach den Wolken zu greifen?
Wenn Du "nur" eine Standard-Live-Installation benötigst (also Standard-Installation eines Desktop-Ubuntu), dann genügt eine Partition von der Größe der ISO-Datei plus ein paar KB für den GRUB. Meine Empfehlung: 2GB, denn aktuelle Ubuntu-ISOs haben gerade 1,5GB, dann kannst Du später die ISO-Datei durch eine neuere austauschen, ohne dass Deine Partition zu klein wird.
- Können die USB-3.0-LW auch mit USB 2.0 laufen?
Ja.
- Welches Linux würdet Ihr dafür empfehlen?
Ein Ubuntu oder Derivat. Wenn Debian selbst auch live aus dem ISO gebootet werden kann, dann nimm halt eines davon.
- Was muss ich noch alles beachten?
Willst Du weitere Software verfügbar haben, die Du sozusagen nachinstallierst? So wie ich für meine Schüler mit Apache + PHP + MariaDB? Dann hat es einen Sinn, eine sogenannte Persistenz-Schicht anzubieten. Für diesen Zweck habe ich eine weitere Partition auf dem Stick (insgesamt also drei: FAT32-Daten/Ext4-Persistenz/Ext4-Live-Linux). Je nach Umfang der von Dir benötigten Software musst Du selbst einschätzen, ob Dir 2GB genügen. Wenn Du alle deutschen Sprachpakete nachinstallieren willst, könnte das vielleicht zu wenig sein.
Sollte man gleich eine getrennte Home-Partition auf dem Flash-Drive anlegen, damit man die ggf. leichter auf die anderen Datenträger im Stammgerät ummounten kann?
Finde ich nicht sinnvoll. Das erledigt ja bei meiner Lösung die Persistenz-Schicht. Die auch für Windows les- und beschreibbare Partition kann ja für die eigentlichen Arbeitsdaten verwendet werden.
Bin für jeden Tipp dankbar.
Also hier meine Anleitung, die ein gebootetes Linux voraussetzt:
- ISO herunterladen
- bei fehlender Linux-Installation diese auf DVD brennen und von dort booten
- man starte GParted oder fummle auf der Kommandozeile mit fdisk, um den Stick so zu partitionieren:
- Partition ?GB "meine Daten" FAT32/NTFS [Edit]beginnend nach 2MB freiem Platz (für Bootloader etc)[/Edit]
- Partition 2GB "casper-rw" EXT4
- Partition 2GB "live-linux" EXT4
- Partition 3 bekommt noch das Boot-Flag gesetzt
- GRUB installieren:
- (wenigstens) die dritte Partition des Sticks mounten
- Partitionen mit
lsblk
anzeigen lassen
- GRUB so installieren:
sudo grub-install --boot-directory=/media/ubuntu/live-linux/boot /dev/sdb
(/media/ubuntu kann bei Dir anders heißen, wenn Du keine Live-Session benutzt und /dev/sdb kann auch /dev/sdc oder /dev/sdd usw. lauten, daher die Ausgabe von lsblk
genau studieren)
- die ISO-Datei nach /media/ubuntu/live-linux/ kopieren:
sudo cp /pfad/zur/iso/datei /media/ubuntu/live-linux/
- eine Datei "grub.cfg" mit folgendem Inhalt erstellen und nach /media/ubuntu/live-linux/boot/grub/grub.cfg speichern:
menuentry "Ubuntu 16.04 64bit" {
set isofile="ubuntu-16.04.3-desktop-amd64.iso"
loopback loop (hd0,3)/$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/$isofile noprompt noeject locale=de_DE bootkbd=de console-setup/layoutcode=de
initrd (loop)/casper/initrd.lz
}
menuentry "Ubuntu 16.04 64bit persistent" {
set isofile="ubuntu-16.04.3-desktop-amd64.iso"
loopback loop (hd0,3)/$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=/$isofile noprompt noeject locale=de_DE bootkbd=de console-setup/layoutcode=de persistent
initrd (loop)/casper/initrd.lz
}
Damit sollte der Stick sowohl bootfähig sein, als auch zwei Boot-Optionen anbieten (ohne und mit Persistenz). Zum Verständnis noch zwei Dinge:
- Boot-Partition ist (hd0,3), weil es auf dem Stick (hd0) die dritte Partition ("live-linux") ist.
- Die Boot-Parameter unterscheiden sich nur in dem einen Wort "persistent" (nicht im Titel des "menuentry", sondern bei der Zeile, die mit "linux" beginnt!), welches den Boot-Vorgang dahingehend ändert, dass die Partition namens "casper-rw" (muss unbedingt genau so heißen!) transparent über das eigentliche Dateisystem gemountet wird, um Änderungen an diesem zu speichern.
Ein so erstellter Stick lässt sich super mit einer neuen Version der Linux-Distri ausrüsten, da man nur die ISO-Datei tauschen muss (Anpassungen in grub.cfg sind selbstverständlich). Natürlich sollte man dann die Persistenz-Schicht neu aufbauen (Partition "casper-rw" formatieren und dann mit Persistenz booten)...
Einen so erstellten Stick habe ich mit Apache + PHP + MariaDB ausgerüstet, die erste Boot-Option entfernt (bootet jetzt immer mit Persistenz), einen Browser-Autostart konfiguriert und fertig war das Vorführsystem für eine Web-Anwendung offline.
Liebe Grüße,
Felix Riesterer.