rkflashtool mit Linux

  • 29 Antworten
  • Letztes Antwortdatum
wusel schrieb:
Bitte Info: Linux-Distro, 32/64 Bit, libusb Version

Slackware 13.1
Slackware Current
32 Bit
lsusb von 0.87 über 002 bis zur git-Version

Ist meines Erachtens nicht entscheidend, denn wenn boot.img korrekt geflasht wird, dann geht es grundsätzlich und sollte auch system.img korrekt flashen, genau das passiert aber bei mir nicht.

Thomas.
 
Hi,

Ubuntu 10.04.4 LTS
libusb-1.0-0 2:1.0.6-1

Bis dann.............

Rainer
 
Hallo zusammen,

Um die ganze Konfusion um das Format <länge>@<offset>, und die jeweiligen Bereichs-Offsets vergessen zu können, habe ich mir einfach ein kleines shell "Skripterl" gebastelt:

Die zu programmierende Länge wird aus der Dateilänge ermittelt.
Der Image-Typ und damit das Ziel-Offse, über den Dateinamen.
Ich find's ganz praktisch einfach nur einzugeben: flashLoox system.img

---
#!/bin/sh

# address ranges for LOOX
PARAMBASE=0x0000
MISCBASE=0x2000
KERNELBASE=0x4000
BOOTBASE=0x8000
RECOVERYBASE=0xA000
SYSTEMBASE=0xE000
UPDATEBASE=0x8E000

#get filename
FILENAME=$*

# calculate number of file blocks (512 bytes)
if [ -f "$FILENAME" ]; then
FILEBLOCKS=`ls --block-size=512 -s "$FILENAME" | cut -d\ -f 1`
else
echo "Error: $FILENAME not found"
exit 2
fi

# get image base address based on file name
imgType=`basename "$FILENAME" .img`
if [ $imgType = "parameter" ]; then
BASEADDR=$PARAMBASE
elif [ $imgType = 'misc' ]; then
BASEADDR=$MISCBASE
elif [ $imgType = 'kernel' ]; then
BASEADDR=$KERNELBASE
elif [ $imgType = 'boot' ]; then
BASEADDR=$BOOTBASE
elif [ $imgType = 'recovery' ]; then
BASEADDR=$RECOVERYBASE
elif [ $imgType = 'system' ]; then
BASEADDR=$SYSTEMBASE
elif [ $imgType = 'update' ]; then
BASEADDR=$UPDATEBASE
else
echo "Error: unknown image type $imgType"
exit 1
fi

# flash image and reboot device
rkflashtool w $KERNELBASE $FILEBLOCKS < "$FILENAME" && rkflashtool b
---

lg
fr3ts0n
 
fr3ts0n schrieb:
Hallo zusammen,

Um die ganze Konfusion um das Format <länge>@<offset>, und die jeweiligen Bereichs-Offsets vergessen zu können, habe ich mir einfach ein kleines shell "Skripterl" gebastelt:

Hast du dein Loox/Xpress schon komplett mit rkflashtool geflasht? Mit Erase IDB?

Erfolgreich?

Thomas.
 
fluxflux schrieb:
Hast du dein Loox/Xpress schon komplett mit rkflashtool geflasht? Mit Erase IDB?

Erfolgreich?

Thomas.

Nein Sorry, bisher habe ich nur Teilprogrammierungen damit gemacht:
* kernel,img
* boot.img
* system.img

OS ist Ubuntu 10.04 und 11.10

fr3ts0n
 
  • Danke
Reaktionen: fluxflux
fr3ts0n schrieb:
Um die ganze Konfusion um das Format <länge>@<offset>, und die jeweiligen Bereichs-Offsets vergessen zu können, habe ich mir einfach ein kleines shell "Skripterl" gebastelt
Das wäre nicht nötig gewesen denn unsere Scripte machen dass schon besser indem sie die Werte aus der paramter parsen; die Offsets und Längen sind nämlich nicht festgeschrieben sondern können sich ändern je nachdem welches Update Du flashst.
Schau Dir daher mal meine aktuelle Script-Version an, und ändere bzw. erweitere diese; und lass uns dann wissen was Du geändert hast damit es besser funktioniert ...
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: fr3ts0n
Wer hat denn ein system.img (ext3) schon erfolgreich geflasht?

Thomas.
 
fluxflux schrieb:
Wer hat denn ein system.img (ext3) schon erfolgreich geflasht?
mittlerweile ich; 4 oder 5x auf Linux Debian 32bit (Knoppix Distro) mit libusb-1.0.8 und ~ 15x auf Windows XP mit libusb-git - keine Probleme.
 
Zuletzt bearbeitet:
Wie einige bereits wissen habe ich den Author von rkflashtool kontaktiert, und nun hat das Tool ein neues Zuhause mit SVN Repository auf SF:
rkflashtool | Free System Administration software downloads at SourceForge.net
ich habe mittlerweile eine neue Funktion zum Löschen eingebaut (was nun direkt ein EraseIDB ermöglicht), und werde in den nächsten Tagen noch ein kleines Tool hinzufügen was das Tablet erkennt sobald es im Flashmodus verbunden ist.
Außerdem bin ich auch mit einem der libusb-Authoren in Kontakt, und er sagt dass bald eine libusb-1.0.9 released wird, und die ist zumindest für Windows zwingend notwendig (ich habe zwar auch schon mit einer 1.0.7 erfolgreich geflasht unter Windows, aber ergibt tonnenweise unschöne Warnings) ...
so wie ich Zeit habe werde ich auf SF auch Windows Binaries hochladen; wer aber jetzt schonmal testen will kann mir gerne eine PM schicken und ich werde kurzfristig was zur Verfügung stellen. Auf Windows ist der winusb.sys Treiber notwendig damit libusb mit USB-Geräten zusammenarbeiten kann; somit erfordert also die Verwendung von rkflashtool dass der Treiber von RockChip gegen den winusb von Microsoft ausgetauscht wird. Es ist empfehlenswert einen Systemwiederherstellungspunkt zu setzen oder eine alternative Konfiguration zu erstellen um wieder schnell auf den RockChip Treiber zurück zu können, denn das Original RKAndroidTool läuft nicht mit dem winusb Treiber (Gerät wird zwar erkannt, aber Flashen geht nicht). Der winusb Treiber wird übrigens auch schon von ADB verwendet - allerdings ist er dann an eine andere VID:pID gebunden.

Edit: habe mein ADB-Archiv upgedatet und rkflashtool.exe sowie die Tools findrkdev.exe und listdevs.exe hinzugefügt womit es einfacher ist die USB VID:pID auszulesen.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Oma7144
Ich weiss der Thread ist alt, aber es sind (bei mir) einige Fragen offen:

wusel schrieb:
>> ich habe mittlerweile eine neue Funktion zum Löschen eingebaut (was nun direkt ein EraseIDB ermöglicht)

Wie ist das Howto zu dieser Funktion?
In welcher Version ist diese Funktion implementiert?
Welcher Bereich wird mit EraseIDB gelöscht?
Ist damit das Überschreiben der PTab "rkflashtool P <parameters" gemeint?

Danke Andre
 

Ähnliche Themen

A
Antworten
0
Aufrufe
1.406
Adrelina
A
Pipolino
  • Pipolino
Antworten
0
Aufrufe
1.710
Pipolino
Pipolino
Kloana001
  • Kloana001
Antworten
0
Aufrufe
814
Kloana001
Kloana001
Zurück
Oben Unten