Direkt zum Hauptinhalt

Flashen eines Images auf den internen Speicher via Linux

Beschreibung

Damit der Rock Pi benutzt werden kann muss ein Betriebssystem installiert werden.
Will man dieses auf den Internen Speicher installieren braucht man ein USB A Stecker -> USB A Stecker Kabel.

Auswahl des Betriebsystems

Es stehen Linux und Android zur verfügung.
Auf der Rockpi Seite : https://rockpi.eu/ oder unter  https://wiki.radxa.com/Rock4/downloads unter dem jeweiligen produkt.
bei mir z.b Rock pi 4 gehen und dann downloads

Bildschirmfoto vom 2023-02-27 12-26-49.png

Nun haben wir eineine Tabelle mit dem Betriebssystem und welche Modellnummern und eine Beschreibung
in Unserem beispiel haben wir ein Rock 4B

Screenshot 2023-02-27 at 12-28-59 Rock Pi.png

Die gewünschte image Datei downloaden. In unserem Fall ein ubuntu Server

Screenshot 2023-02-27 at 12-30-47 Rock Pi.png

Auf die grüne schrift klicken, dann starte der download. Wenn fertig auf das Verzcihnissymbol klicken.

Bildschirmfoto vom 2023-02-27 12-44-09.png

Dort dann rechtsklick auf die Datei und hier entpacken auswählen.
Nun haben wir eine img Datei im Download Verzeichnis

Bildschirmfoto vom 2023-02-27 12-47-40.png

Eine Ubuntu alternative wäre auch DietPi basiert auf Bullseye. Dort ist ssh auch gleich aktiviert.
Die Logindaten sind
Benutzername : root
Kennwort : rootdietpi

wget https://dietpi.com/downloads/images/DietPi_ROCKPi4-ARMv8-Bullseye.7z -o ~/Downloads/DietPi_ROCKPi4-ARMv8-Bullseye.7z

Diese dann auch wieder entpacken.

Vorbereiten des Host Computers zum flashen

Abbhängikeiten installieren
sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf git g++
Das rkdeveloptool installieren.

Im Home Verzeichnis oder Verzeichznis der wahl das rkdeveloptool reinclonen

git clone https://github.com/rockchip-linux/rkdeveloptool
 cd rkdeveloptool
 autoreconf -i
 ./configure
 make

Sollten wir auf diesen fehler beim kompilieren stoßen

./configure: line 4269: syntax error near unexpected token `LIBUSB1,libusb-1.0'
 ./configure: line 4269: `PKG_CHECK_MODULES(LIBUSB1,libusb-1.0)'

Dann fehlt die USB Bilbliothek.
Diese einfach mittels Paketmanager nachinstallieren

sudo apt-get install pkg-config libusb-1.0

Danach nochmal kompilieren

autoreconf -i
 ./configure
 make

Nun haben wir eine Binärdatei. Diese kopieren wir in /usr/local/bin/

sudo cp rkdeveloptool /usr/local/bin/
sudo ldconfig

Ausführen. Die Version muss 1.32 oder höher sein

rkdeveloptool -v

Output
 rkdeveloptool ver 1.32

Flashen

Damit das Board geflasht werden müssen wir die PIN 23 und 25 überbrücken mittels Jumper oder Jumperkabel (die beiden PINS vor den blauen PINS)

200px-Spi_clk_gnd.jpg

Nun microSD Karte entfernen.
eMMC Modul einsetzen wenn nicht fest aufgelötet (beim 4B aufgelötet, also gibts nicht zum einstezen)
Das USB A Stecker -> USB A Stecker kabel in die Obere USB 3 buchse des Rockpi stecken und mit dem Computer verbinden

Wenn das Board einen verlötetenden eMMC Chip hat,   muss es in den sogenannten Maskrom Mode versetzt werden.
Dazu halten wir Maskrom Taste (2) gedrückt und stecken dann den Strom ein, dann erst die taste loslassen.

Siehe Abbildung: (1: Reset 2: Maskrom 3: Recovery) 

400px-Rockpi4bplus_key.jpg

Nun Überprüfen das das gerät im Modus ist:

lsusb 

Output: 
...
Bus 001 Device 112: ID 2207:330c Fuzhou Rockchip Electronics Company RK3399 in Mask ROM mode
...

Nun die ID des Gerätes herausbekommen

sudo rkdeveloptool ld 

Output

DevNo=1	Vid=0x2207,Pid=0x330c,LocationID=308	Maskrom

Nun ein Hilfstool zum flashen auf den Rockpi flashen.
Dazu diese Datei Downloaden z.b per wget ins Downloadverzeichnis wo auch schon die Imagefile liegt

wget https://dl.radxa.com/rockpi/images/loader/rk3399_loader_v1.27.126.bin -o ~/Downloads/rk3399_loader_v1.27.126.bin

Nun den helper flashen

sudo rkdeveloptool db ~/Downloads/rk3399_loader_v1.27.126.bin

Solltet Ihr folgenden fehler bekommen, nehmt eine ältere loaderfirmware

Opening loader failed, exiting download

Nun per wget die ältere downloaden und flashen

wget https://dl.radxa.com/rockpi4/images/loader/rk3399_loader_v1.20.119.bin -o ~/Downloads/rk3399_loader_v1.20.119.bin
sudo rkdeveloptool db ~/Downloads/rk3399_loader_v1.20.119.bin

output
Downloading bootloader succeeded.

Nun die Imagefile ab sector 0 flashen, einmal für ubuntu

sudo rkdeveloptool wl 0 ~/Downloads/rockpi4b-ubuntu-bionic-minimal-20190104_2101-gpt.img
Output
Write LBA from file (100%)

oder DietPi

sudo rkdeveloptool wl 0 ~/Downloads/DietPi_ROCKPi4-ARMv8-Bullseye/DietPi_ROCKPi4-ARMv8-Bullseye.img
Output:
Write LBA from file (100%)


Nun das Gerät neustarten

sudo rkdeveloptool rd

Fertig

Wichtig!

Bei jedem neuflashen muss erst der loader wieder geflasht werden bevor das eigentliche Image geflasht werden kann.