Hoppla, nach langer Zeit mal was Neues vom Kamil.
5.9.0-1146-ayufan released
WIP: cdn_dp hdmi audio switchIm IRC von Pine64 bekomme ich die letzten Tage immer wieder mit, das die Leute Schwierigkeiten haben ihren ROCK64 zu booten. Da es auf dem ROCKPro64 genauso läuft, möchte ich hier mal eine kleine Anleitung dazu schreiben.
Ob der ROCKPro64 auch davon booten kann werden wir dann zu einem späteren Zeitpunkt testen. Aktuell funktioniert die PCIe Schnittstelle noch nicht.
Fangen wir an damit, was auf den ROCK's vorhanden ist.
Some of PINE64 devices, such as the Rock64 and SOPine, are equipped with SPI Flash. This allows users to flash u-boot onto the SPI and boot from an external USB 2.0 or USB 3.0 SSD/HDD/thumb-drive, thereby forgoing using eMMC or an microSD card.
Quelle: http://wiki.pine64.org/index.php/NOOB#Flashing_u-boot_to_SPI_Flash
Kurze Erklärung:
Serial EEPROMs are low power, non-volatile memory devices with robust operating ranges, small size and byte alterability, making them ideal for data and program storage. Serial EEPROMs can be written more than 1 Million times.
Quelle: https://www.microchip.com/design-centers/memory
Also für Laien, so ähnlich wie Euer BIOS in einem normalen Rechner. Dort liegt dann der u-boot, das Bootprogramm. Vorteil, man braucht dann keine SD-Karte mehr zum Booten, sondern kann direkt von z.B. einer HDD oder SDD booten.
Boot Reihenfolge:
Gut, damit haben wir einen Überblick wie das Booten auf den ROCK's so vonstatten geht. Im Auslieferungszustand ist im SPI-Speicher nichts drin. Somit kann ich ganz einfach mit einer microSD-Karte oder einer eMMC-Karte booten.
Wichtig! Der aktuelle U-Boot unterstützt kein booten von einer PCIe Festplatte!
Sicherstellen, das der SPI-Speicher leer ist! Wenn man das nicht zu 100% weiß, kann man ein Tool vom Ayufan benutzen um den SPI-Speicher zu löschen.
https://forum.frank-mankel.org/category/19/tools
Ob das Aktuell auf dem ROCKPro64 funktioniert, kann ich nicht bestätigen Das Tool funktioniert!
Danach das Image auf die Karte schreiben, dazu kann man gut den Pine64-Installer benutzen. Der Pine64-Installer ist ein Fork von Etcher. Großer Vorteil von Etcher ist, das man sehr schwer versehentlich das falsche Laufwerk flasht und das das Ergebnis kontrolliert wird. Und viele weitere Vorteile.
Dann die microSD-Karte in den Schacht und das Board damit booten.
Um ein USB-Laufwerk zu booten, benutzt man jetzt den SPI-Speicher und schreibt dort den u-boot rein. Dann kommt auf die USB Platte das Linuxsystem und beim nächsten Start des ROCKPro64 wird dann von der Platte gestartet.
Um den u-boot in den SPI-Speicher zu bekommen, gibt es ein Tool.
https://forum.frank-mankel.org/category/19/tools
Ob das Aktuell auf dem ROCKPro64 funktioniert, kann ich nicht bestätigen Das Tool funktioniert!
Auf eine microSD-Karte damit, den ROCK gebootet und das Tool schreibt den u-boot in den SPI-Speicher.
Danach microSD-Karte entfernen, eMMC-Karte entfernen und die vorbereitete USB-Platte anschließen. Auf dieser Platte muss ein Linuxsystem drauf sein. Also, z.B. mit Etcher das Image auf das Laufwerk schreiben.
Danach den ROCK einschalten und schauen was passiert
PXE bezeichnet dabei den Vorgang, um mit Hilfe einer PXE-fähigen Netzwerkkarte via DHCP eine Netzwerkkonfiguration (IP-Adresse, Adresse eines TFTP-Servers, ...) zu erhalten, und anschließend vom TFTP-Server einen Bootloader zu laden und auszuführen.
Ok, das Thema überlassen wir mal den Profis, die werden schon wissen wie man das zum Laufen bekommt. Für uns Hobbybastler wahrscheinlich auch nicht so interessant.
Für mich sehr wichtig, egal was ich an den kleinen Platinen mache, eine serielle Konsole wo man alles mitlesen kann was so passiert. Also, so ziemlich das Wichtigste, wenn mal was klemmt.
Zur seriellen Konsole bitte hier nachlesen.
Rock64 Linux build scripts, tools and instructions - linux-build/recipes/flash-spi.md at master · ayufan-rock64/linux-build
GitHub (github.com)
Mal ein paar Dinge aufschreiben zum Thema.
Aktuell ist kein Booten von einer PCIe SSD möglich. Der U-Boot unterstützt das zur Zeit nicht! Schade
SPI Erase scheint zu funktionieren, aber Fehler bei den LED's
SPI Flash funktioniert nicht
18:49:37) tllim: the RK SPI Flash implementation is EFI and they will make an open source release.
Das heißt, aktuell kann man nur von SD-Karte oder eMMC booten. Wobei eMMC, so weit ich weiß, nicht getestet ist.
Als kurze Ergänzung. Mittlerweile kann man von
booten. USB3 funktioniert aus irgendeinem Grund nicht. On man mal von einer PCIe NVMe SSD oder einer PCIe SATA HDD booten kann, wird die Zukunft zeigen. Aktuell unterstützt der u-boot das nicht.
Von eMMC unter Mainline kann man im Moment nicht booten. Es besteht aber Hoffnung, das man das Problem gelöst bekommt. Mit diesem Patch geht es.
I updated kernel 4.4. to 4.18.0.rc8-1060 but it don't boot. PCIe SATA card with two 2,5'' HDD USB3 2,5'' HDD 32GB eMMC Modul RockPro64 v2.2 with 2GB RAM Kernel 4.4.x without any problem. https://pastebin.com/90yRyc1f
GitHub (github.com)
Das Problem sollte mit Kernel 4.19.0-rc4-1069-ayufan behoben sein.