Willkommen im U-Boot und Geräte-Baum
Der hier vorgeschlagene Weg zur Nutzung eines 64-Bit-Systems besteht in der Verwendung der leistungsfähigen Bootsoftware Das U-Boot, die die Standardfirmware anstelle eines Linux-Kernels lädt. Nötig ist die 64-Bit-Version von U-Boot, die das neue Bootkommando booti kennt. Booti hilft, einen 64-Bit-ARM-Kernel zu laden, der einen spezifischen Header hat. Die Details dazu gibt es in der Kerneldokumentation. Mit diesem Header und noch anderen, von Linux festgelegten Randbedingungen muss der Bootloader entsprechend umgehen können.
Wegen der überbordenden Vielfalt: Tree of Live
Der Kernel selbst muss natürlich ebenfalls für die 64-Bit-ARMv8-Architektur übersetzt sein. Dieser wiederum benötigt einen passenden sogenannten Device Tree, also eine Datei, die die Hardwaredetails beschreibt. In viel größerem Maße als die x86-Welt ist die verfügbare ARM-Hardware unübersichtlicher und verwendet für die Peripherie-Komponenten unterschiedliche Speicher-Adressen. Während in den Anfangstagen von ARM-Linux die Entwickler für jede unterstützte Hardware einen eigenen Kernel mit den jeweils passenden Adressen programmieren und übersetzen mussten, lesen heutige Kernel beim Booten den im Hauptspeicher bereitliegenden Device Tree live ein. Treiber bringen bei ihrer Aktivierung die Speicher-Adressen über den Kernel in Erfahrung. Die Device-Tree-Unterstützung ist mittlerweile ausgereift und für ARM-Architekturen obligatorisch.
Fehlt nur noch das Root-Dateisystem samt Userland. Hier bietet Debian ein ARM64-System an, das sich beispielsweise per Debootstrap installieren lässt. Aber damit Nutzer des Raspberry Pi 3 jetzt nicht mühsam versuchen müssen, alle Teile dieses Puzzles selbst zu generieren und zusammenzustellen, lassen sich die ersten ARM64-Schritte besser mit einem vorkonfektionierten und getesteten 64-Bit-System aus dem Internet machen. Wie jenes aus dem Raspberry-Pi-Forum, das hier Verwendung findet.
Das heruntergeladene Image kann unter Linux wie gewohnt per dd auf eine Mikro-SD-Karte geschrieben werden. Wenn die SD-Karte im Raspberry Pi steckt und das System startet, erscheint auf einem angeschlossenen Monitor bereits nach wenigen Sekunden der Login. In dem vorliegenden Image ist das Passwort für den Root-Benutzer raspberry.
Tatsächlich: 64 Bit breit
Es gibt diverse Möglichkeiten, um festzustellen, dass hier ein 64-Bit-Linux läuft: dmesg beispielsweise gibt entsprechende Bootmeldungen aus. Gleich in den ersten vier Zeilen verrät Linux die Architektur. Der Befehl cat /proc/cpuinfo liefert, dass es sich um den ARMv8-Befehlssatz handelt, und uname -a zeigt an, dass der Kernel 64 Bit nutzt.
Wer ganz sichergehen will, kann das auch mit einem kleinen C-Programm überprüfen. Hierfür steht auf dem Test-Minisystem als Editor vim bereit. Das kleine Programm gibt nach dem Start die Bitbreite von Zeigervariablen aus. Nur auf einem 64-Bit-System sind diese auch 64 Bit breit.
#include <stdio.h>
int main( int argc, char **argv, char **envp )
{
printf("Es handelt sich um eine %d-Bit-Architektur\n",
sizeof(int *)*8);
return 0;
}
Das 64-Bit-Linux für den Raspberry Pi ist zwar abgespeckt, ansonsten aber voll funktionsfähig. Auch die Konfiguration ist rudimentär, das Netzwerk beispielsweise nicht per Default aktiviert. Das System lässt sich - falls es mit dem Netzwerk verbunden und das Netzwerk aktiviert ist - updaten und beliebig erweitern. Debian hält hierfür bekanntlich einen reichen Schatz an Paketen bereit.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
| Raspberry Pi: Der mit dem 64-Bit-Kernel tanzt | Quellen finden und selber einen Kernel bauen |










Guten Abend, das Ergebnis von : export CROSS_COMPILE=aarch64-linux-gnu- export ARCH...
dem direkt verlinkten image? Beim Klick darauf wird direkt de download gestartet. dabei...
Man kann auch einfach SUSE Linux Enterprise for Pi3 nehmen https://www.suse.com...
Erinnert mich an die Probleme mit Android. Könnte Android (theoretisch) auch Device Tree...