Berryboot – andere Linux Distributionen für den Raspberry Pi
Berryboot bietet von sich aus nur eine kleine Anzahl von Linux Distributionen zur Installation über seine Oberfläche an. Eine komplette Liste findest du hier. Mittlerweile gibt es ja schon mehrere Distributionen die auch für ARM CPUs kompiliert wurden und diese möchte man ja auch verwenden. Ich zeige hier wie man ein ARM Linux Image für den Einsatz mit BerryBoot bearbeitet.
Berryboot
Der erste Schritt bei der Vorbereitung ist, dass wie uns ein paar Linux Distributionen als Image bereitlegen. Ein Liste von Images findest du hier. Ein paar Beispiele: Arch Linux, Fedora 17 Remix, openSUSE, … Diese Images kann man verwenden um eine bootfähige SD Karte zu erstellen. Wir wollen diese Images aber über unseren Bootloader BerryBoot laden, müssen sie deshalb vorher konvertieren.
Für das Konvertieren benötigen wir ein Linux System. Auf diesem werden wir die Konvertierung durchführen. Entweder man hat ein System zur Verfügung, oder man installiert schnell ein virtuelles. Wie das geht zeige ich hier. Auf jeden Fall müssen wir noch 2 Pakete dazu installieren.
- kpartx
apt-get install kpartx
- squashfs-tools
apt-get install squashfs-tools
Konvertierung
Die Konvertierung selbst ist einfach. Es müssen nur eine Menge Befehle über die Kommandozeile eingegeben werden. Hier die Vorgehensweise bei Arch Linux (bei anderen Distributionen müssen einfach die Namen der img Dateien ausgetauscht werden):
sudo kpartx -av arch*.img sudo mkdir /mnt/tmp/ sudo mount /dev/mapper/loop0p2 /mnt/tmp/ cd /mnt/tmp/ sudo rm lib sudo mv usr/lib lib cd usr sudo ln -s ../lib lib cd ~ sudo mksquashfs /mnt/tmp/ Arch_Linux.img240 -comp lzo -e lib/modules sudo kpartx -d arch*.img
Bei diesem Beispiel liegt das Image des Arch Linux direkt im Home Verzeichnis des Users. Nach erfolgreicher Konvertierung gibt es nun im Home Verzeichnis ein 2. Image mit Namen Arch_Linux.img240, das etwas kleiner ist. Das ist nicht wegen einer Komprimierung, sondern weil wie die lib/modules des Images nicht mit kopieren. Diese werden von BerryBoot bereitgestellt. Dieses Image speichern wir auf einem USB Stick der FAT formatiert ist.
Installation
Wir starten nun den Raspberry Pi mit eingelegter BerryBoot SD Karte. Im Auswahlmenü klicken wir mit der Maus mehrer Augenblicke auf ‚AddOS‚, darauf hin erscheint ein Kontextmenü in dem man das OS vom USB Stick laden kann. Im Dateimanager suchen wir unsere Arch_Linux.img240 Datei und wählen diese aus. Nach wenigen Momenten ist des Betriebssystem installiert und kann beim nächsten Neustart über den Berryboot Bootloader gestartet werden.
Hi,
zwei Anmerkungen: Unter CentOS 6.4 funktioniert die mksquashfs-Option -comp nicht, und es fehlt das umount im Befehlsablauf an vorletzter Stelle.
Ich werde heute abend mal probieren, ob das Archlinux funktioniert.
Ansonsten Danke für duie Anleitung, Ralf
Hey,
ich habe über VirtualBox ein Ubuntu (10.04) aufgesetzt, um mein 2GB-Image zu konvertieren. Mir fehlt aber leider auch die comp-option. Was mache ich an der Stelle? Ich hab sie mal weggelassen und mein zweites Problem ist, dass er bei Sektor 1616 (von 44XXX) abbricht und mir sagt „Read failure because of protocol error“ oder sowas.
Was muss ich da jetzt tun? 😉
Hallo,
habt ihr schon versucht den PicorePlayer über Berryboot zu installieren? Nach Anleitung habe ich das Image in das squash Format konvertiert und konnte es auch vom Stick installieren. Beim Starten des Players bleibt dieser aber recht schnell mit „can’t access tty“ stehen. Könnt ihr einem Linux Neuling auf die Sprünge helfen?
Hallo,
nein noch nicht, auf die schnelle kann ich auch nur mit einer Google Suche helfen. In diesem Forum wird ein ähnliches Problem diskutiert. Diese Fehlermeldung taucht bei vielen Fehlerquellen auf, kann auch mit einer Inkompatibilität mit der Hardware zusammenhängen. Helfen die Infos im Forum weiter? Ansonsten müsste ich das selber mal testen…
Besten Dank. An eine inkompatible Hardware habe ich auch schon gedacht, da auch Sueezeplug alleine nicht startet. Ich werde mal das versuchen, was im angegebenen Forum beschrieben wird.
Ich habe probleme beim mounten auf die loop-Datei.
Wenn ich, wie in den unzähligen Anleitungen beschrieben, einfach nur mount /Pfad_zur_loopdatei/richtige_loopdatei /mnt ausführe bekomme ich eine Fehlermeldung das ich kein Filesystem angegeben habe! Obwohl in allen Anleitungen dies nicht nötig ist! Wenn ich dann eines angebe mit der Option -t vfat (oder ext3 – ext5), also sudo mount -t vfat /pfad.., dann kommt eine andere Fehlermeldung und in der dmesg steht das das Filesystem nicht vorhanden ist….
Was mache ich falsch?
Hi,
meine CentOS 7 verweigert den Befehl „sudo sed -i ‘s/^\/dev\/mmcblk/#/g’ /mnt/etc/fstab“ Hat jemand eine Lösung fur das Problem? Danke!
FEHLERMELDUNG : „sed: kann /mnt/fstab nicht lesen: Datei oder Verzeichnis nicht gefunden“
fstab liegt ist unter /etc/fstab. mnt ist das Verzeichnis in das du mounten willst. Ich habe mit unter mnt das tmp Verzeichnis erstellt und mounte in dieses Verzeichnis.
Nach der Befehlszeile „sudo mount /dev/mapper/loop0p2 /mnt/tmp/“
kommt die Meldung „special device /dev/mapper/loop0p2 dos not exist“.
Muss ich das Verzeichnis „loop0p2“ erst erstellen?
Was mach ich falsch?
mfg
Bei mir das selbe.
device /dev/mapper/loop0p2 does not exist
Wie gehts?
Vielen Dank, hier mein Problem:
habe berryboot auf Pi4 installiert, auch die angebotenen Systeme funktionieren nach Installation.
Aber: Wird eine weitere Image-Datei aus dem Berryboot-Angebot geladen und installiert, dann bleibt der Vorgang
bei Login: Passwort stehen mit der Meldung Login incorect obwohl die angegebenen Login- und Passwörter
benutzt wurden. Habe viele Variationen von Login- und Passwörtern versucht
MfG
R.Kühn