Jetzt kostenlos registrieren: Mitglieder surfen ohne Werbung!

Bootloader 90.80 für Milestone

  • 104 Antworten
  • Neuester Beitrag
Diskutiere Bootloader 90.80 für Milestone im Root / Hacking / Modding für Motorola Milestone im Bereich Motorola Milestone Forum.
K

kniffo80

Stammgast
Nunja, es geht schlussendlich ja nicht nur ums übertakten, sondern generell darum, einen "entschlackten" Kernel laden zu können, der modifziert ist und wohl noch ne Menge Performance rausholen kann. Klar, übertakten ist auch nett und ich würde es auch mal ausprobieren, nur nicht dauerhaft, denn wie du schon so schön schreibst, es kann u.U. nicht gut sein für die CPU, auch wenn man es nicht gleich mitbekommt.
 
A

adendum

Neues Mitglied
bingo5 schrieb:
Das man ein komplett anderes ROM einspielen (wie Cyanogen) kann ist mir schon klar - die genau Frage ist bloß was können diese Roms (abgesehen von OC) mehr als die Pseudo-Roms. Die Featureslist der Droid CustomRoms hören sich jetzt auch nicht gerade umwerfend an bzw. das meiste haben wir durch die Pseudo Roms schon.
Wie wärs mit kernel änderungen, damit man z.B. Komplett nutzlosen sachen rausschmeissen kann (was kniffo80 gesagt hat) oder passende modulen lädt, damit man Sense oder MOTOBlur zum laufen kriegt? : )

Ich find's zwar gut dass Ich android-wifi-tether mit mein stein benutzen ohne weiteres benutzen kann, aber bei einige modelle(z.B. N1) braucht man dafür eine angepasste kernel, damit zusätzliche module geladen werden...

Ohne dass hätte ich gerade kein internet, da bei mir gerade ne t-com problem existiert und ich seit fast ne woche kein dsl habe : P
 
yanardag

yanardag

Stammgast
Aber jungs ich kann euch versprechen die jungs sind
Fleißig am machen. Wir werden unsere custom kernels
booten können. Dann kann jeder machen worauf er lust hat.
 
K

kniffo80

Stammgast
Ich glaube auch, das es bald soweit sein wird. Das Projekt ist im moment unter Volldampf, soweit ich gesehen habe, wurden gerade erst gestern wieder sourcen comitted.
 
Barnd

Barnd

Neues Mitglied
Bendroid schrieb:
@Übertakter:
Nur weil die CPU bis 600MHz/1GHz spezifiziert ist, heißt das ja nicht, dass man sie in jeder Konfiguration auch bis dahin treiben kann. Ein Desktop Prozessor mit 3GHz raucht auch nach ner halben Sekunde ab, wenn man ihn ohne Kühler betreibt. Wenn die Abwärme im Handy nicht weg kann, weil die Kontruktion nur für ne bestimmte Menge Hitze ausgelegt ist, dann kann man die CPU damit schon beschädigen. So pauschal kann man das also nicht sagen. Da das aber bei allen Milestones gleich ist, sollten 600MHz auch überall laufen, sofern die CPU dafür spezifiziert ist.
Der Low Voltage Betrieb hört sich aber toll an, wenn man schaut, was man am Desktop an Srom sparen kann.
Wie schon öfters angesprochen sind 800Mhz mit einem Omap 3430 kein Problem. Darüber fällt zum einen aufgrund der Umgebung (Bandbreite des Arbeitsspeichers etc.) die zusätzliche Leistungssteigerung nur noch marginal aus, zum anderen ist es komplett abseits aller Spezifikationen, also nicht für den Dauerbetrieb zu empfehlen.

Aus aktuellen Anlass dazu zwei Links (der Palm Pre hat den gleichen SoC verbaut):
heise mobil - Palm Pre übertaktet [Update]
sowie die eigentliche Quelle:
PreCentral Forums - View Single Post - Optimized WebOS 1.4 Kernel Video/WOSQI 720Mhz/800 MHz Easy Install.

Der Omap 3440 (spezifiziert für 800Mhz) kommt vom gleiche Wafer wie der verbaute Omap 3430 (600Mhz). Solange die 800Mhz (es handelt sich hier nur um den ARM Kerntakt, die DSPs sind unabhängig und deutlich niedriger getaktet) mit der Referenzspannung des 3440 für 800Mhz erreicht werden muss man sich keine Sorgen machen.

Zur Erläuterung der OPP Modi (Operation Performance Point) und der angegebenen Lebensdauer:

Diese sind vom Hersteller garantierte, konservativ bemessene Betriebsrichtlinien.
Der 3440 fällt bei 800Mhz unter OPP6, der 3530 bis 720Mhz ebenfalls.
Daraus ergeben sich (unter Einhaltung der Spannungsvorgaben) mindestens 44.000 Stunden, also 5 Jahre Dauerbetrieb. Dieser Zeitrahmen kann bei "schlechteren" SoCs (aus den 3430/3530 Reihen) mit leicht höherem Stromfluss natürlich noch ein Stück nach unten abfallen.
Betrachtet man dabei aber die reguläre Verwendungsdauer eines Smartphones dürfte das kaum von Relevanz sein denn die richtig miserablen würden in den meisten Fällen sowieso nicht mit der Spannung eines 3440 bei 800Mhz fehlerfrei funktionieren. Zusätzlich hätten diese kaum als 3430, also für Smartphones geeignet (was umgangssprachlich einen niedrigen Stromfluss voraussetzt) spezifiziert werden können. Die richtigen Bananen landen in Mediaboxen, Fernsehern etc.

Übrigens raucht eine CPU die auf 3GHz ohne Kühler betrieben wird normalerweise nicht ab denn davor setzt erst die Taktreduzierung und dann die automatische Notabschaltung ein. Gleiches gilt für moderne SoCs wie die Omap Serie, auch hier ist eine Notabschaltung integriert.
(bei black-screen Fehlern in der EDV arbeite ich aus Zeitgründen meist mit kurzen Powerups ohne Kühlerkörper da dieser die Bewegungsfreiheit im Gehäuse enorm einschränkt. Wäre ich mir nicht sicher das im Zweifelsfall die Abschaltung einsetzt wäre das schnell ein teurer Spaß ;))

Anmerkung: Im Droid (Milestone) und Pre läuft der Omap3430 ab Werk mit maximal OPP4, also 550Mhz.
(die anderen, niedrigeren OPP werden je nach Betriebszustand automatisch gewählt, also Ruhezustand etc. um Energie zu sparen.)
https://gforge.ti.com/gf/project/om...read_id=1996&action=ListThreads&mailman_id=22

Betriebsmodi:
OPP1 125 Mhz (Ultra Low Power)
OPP2 250 Mhz (Low Power)
OPP3 500 Mhz (Nominal)
OPP4 550Mhz (Mid-Overdrive) <- Milestone
OPP5 600 Mhz (Overdrive)
OPP6 720 Mhz (Overdrive)
OPP7 800 Mhz

Spannungen:
0.975V (OPP1)
1.075V (OPP2)
1.20V (OPP3)
1.27V (OPP4) <- Milestone
1.35V (OPP5)
1.35V (OPP6)
1.42V (OPP7)

Herstellerspezifikation für Omap3: 0.8 V to 1.35 V (Das absolute Maximum für CoreV bei Omap3 sind 1.6V) http://focus.ti.com/lit/ds/symlink/omap3530.pdf (Kapitel 3, Seiten 121+)

Die Spannung liegt bei OPP7 also 5,1% über der regulären Betriebsspezifikation - also im Rahmen üblicher, für Bauteile verträglicher Toleranz. Da dieser Schritt aber nur geringfügig ist (und der Hersteller immer eine eigene Toleranz in die Referenzspannung mit einfließen lässt, Stichwort: Undervolting) können 800Mhz auch unter den Bedingungen von OPP6, also 1.35V und weniger möglich sein.

Und damit zum Schwestermodell Droid. Hier ist das seit geraumer Zeit gängige Praxis und die Resultate sind erstaunlich gut. (Spannungen weit unter OPP6 Niveau. Spannung runter, Frequenz rauf -> alles im grünen Bereich. Nur deshalb sind hier immer wieder aberwitzige Frequenzen von 1,25Ghz+ möglich.)

Wie hier zu sehen gibt es beim Droid immer eine Low sowie eine Mid Voltage Version.
http://alldroid.org/threads/16507-UPDATE-New-Kernels-Low-Voltage-Medium-Voltage-3-25-2010
Der Grund ist folgender, in der Fertigung der Prozessoren gibt es kleine Toleranzen. Deshalb brauchen manche etwas mehr Spannung für einen stabilen Betrieb als andere.
Der Knackpunkt der die Geschichte so interessant macht ist das durch die angepassten OPP Modi (mit niedrigeren Spannungen) deutlich mehr Leistung bei längerer Akkulaufzeit möglich ist.

Das war jetzt leider viel Offtopic aber dieses Thema wird immer wieder angesprochen denn einer der Hauptvorteile eines freien Kernels ist die Ausweitung der Betriebsmodi. Gerade das ist im weiteren Verlauf der Android Entwicklung (und einem "flüssigen" Einsatz aller Features) auf dem Milestone eine Grundvoraussetzung.
 
Zuletzt bearbeitet:
yanardag

yanardag

Stammgast
Will haben OPP8 :)
 
Zuletzt bearbeitet:
Barnd

Barnd

Neues Mitglied
Das gibt es beim Droid. Nennt sich ChevyNo1's 10 slot 1.25 Ghz Kernel. Die Abstufungen sind 125/250/400/550/700/800/900/1000/1100/1250.

Allerdings ist das nur für Testzwecke interessant, für den praktischen Betrieb werden weit weniger feine Unterteilungen benötigt. Hierfür sind normalerweise bereits 5 mehr als ausreichend. Über 7 scheint bei manchen auch problematisch zu sein.

Über einen gepatchten Kernel lassen sich die Betriebsmodi des Omap3 vergleichsweise frei definieren.

Ein rein fiktives Beispiel: (Für 5 Slots)

OPP1 125 Mhz 0.975V -> 125 Mhz 0.925V
OPP2 250 Mhz 1.075V -> 250 Mhz 1.025V
OPP3 500 Mhz 1.200V -> 400 Mhz 1.100V
OPP4 550 Mhz 1.270V -> 600 Mhz 1.200V
OPP5 600 Mhz 1.350V -> 800 Mhz 1.270V
OPP6 720 Mhz 1.350V
OPP7 800 Mhz 1.420V

Der Vorteil dabei ist nicht nur eine längere Akkulaufzeit im Standby bzw Leerlauf sondern auch eine höhere Rechenleistung unter Last (ohne dabei die Verlustleistung extrem zu erhöhen).
Selbstverständlich geht dabei die Garantie verloren aber das ist mir persönlich egal, dummerweise fehlt bis dato beim Milestone die Fähigkeit modifizierte Kernel zu laden.


//Edit: 31.03.

Source ist wie beim Droid: board.sholes.c und omap3-opp.h
How to compile your own kernel. - Droid Forum - Verizon Droid & the Motorola Droid Forum
10 Slot Kernel's - Page 7 - Droid Forum - Verizon Droid & the Motorola Droid Forum

Milestone: (Kernel)
https://opensource.motorola.com/sf/frs/do/viewRelease/projects.milestone/frs.milestone.01_15_0

VDD1 + 2 OPP Bereich (MPU!): 0.60V - 1.45V / Unterteilung in 12,5mV Schritte
VDD2 ist nur für absoluten Low Power Betrieb, 600mA Max / VDD1 1200mA Max
http://cerberus.teamhackaday.com/Uploads/blockdia.pdf
http://www.celinux.org/elc08_presentations/TI_OMAP3430_Linux_PM_reference.ppt


//BAM - so funktioniert die Berechnung der Spannungsversorgung:
(genau daraus macht so mancher Modder bei Alldroid sein ganz persönliches Geheimnis...)

(board-sholes.c, Milestone)

OPP1 0x20 = 1.000V
OPP2 0x27 = 1.088V
OPP3 0x32 = 1.225V
OPP4 0x38 = 1.300V
OPP5 0x3E = 1.375V

VDD = ( Dezimal )* 12.5mV + 600mV.

der Dezimalwert ist der Faktor für die Spannung (in der Konfiguration als Hex).


Beispiel:

0x1E (Hex) -> 30 (Dezimal)

VDD = 30 * 12.5mV + 600mV

= 975mV


sieht in der Konfiguration dann wie folgt aus: (board-sholes.c)

/*OPP1*/
{S125M, VDD1_OPP1, 0x1E}



Taktfrequenzen: (omap3_opp.h)

/* MPU speeds */
#define S600M 600000000
#define S550M 550000000
#define S500M 500000000
#define S250M 250000000
#define S125M 125000000

Kreativer Weise werden die Spannungswerte teilweise zusätzlich auch in omap3_opp.h festgelegt. Die beste Lösung wäre auf die omap3_opp.h ganz zu verzichten und alle relevanten Werte direkt in die board-sholes.c zu übernehmen (was beim droid auch meist gemacht wird).

Gebt Gas Jungs, ich muss dringend einen gepatchten Kernel nachladen können :D
 
Zuletzt bearbeitet:
yanardag

yanardag

Stammgast
Barnd schrieb:
Das gibt es beim Droid. Nennt sich ChevyNo1's 10 slot 1.25 Ghz Kernel. Die Abstufungen sind 125/250/400/550/700/800/900/1000/1100/1250.

Allerdings ist das nur für Testzwecke interessant, für den praktischen Betrieb werden weit weniger feine Unterteilungen benötigt. Hierfür sind normalerweise bereits 5 mehr als ausreichend.

Über einen gepatchten Kernel lassen sich die Betriebsmodi des Omap3 vergleichsweise frei definieren.

Ein rein fiktives Beispiel: (Für 5 Slots)

OPP1 125 Mhz 0.975V -> 125 Mhz 0.925V
OPP2 250 Mhz 1.075V -> 250 Mhz 1.025V
OPP3 500 Mhz 1.200V -> 400 Mhz 1.100V
OPP4 550 Mhz 1.270V -> 600 Mhz 1.200V
OPP5 600 Mhz 1.350V -> 800 Mhz 1.270V
OPP6 720 Mhz 1.350V
OPP7 800 Mhz 1.420V

Der Vorteil dabei ist nicht nur eine längere Akkulaufzeit im Standby bzw Leerlauf sondern auch eine höhere Rechenleistung unter Last (ohne dabei die Verlustleistung extrem zu erhöhen).
Selbstverständlich geht dabei die Garantie verloren aber das ist mir persönlich egal, dummerweise fehlt bis dato beim Milestone die Fähigkeit modifizierte Kernel zu laden.

Achtung: es kann durchaus sein das die Spannungen beim Milestone/Droid grundsätzlich niedriger definiert sind, es handelt sich hierbei um die offiziellen Werte aus der TI Omap3 Dokumentation. Bevor ich mir die Arbeit mache diese exakt nachzuprüfen muss erst ein gepatchter Kernel (nach) ladbar sein.
Xvilka mach mal alter... hab schon einen steifen :D
 
K

kniffo80

Stammgast
IrealiTY

IrealiTY

Stammgast
Doch doch, gestern saßen wir im IRC und haben Bootloader dumps gesammelt =)
 
K

kniffo80

Stammgast
IrealiTY schrieb:
Doch doch, gestern saßen wir im IRC und haben Bootloader dumps gesammelt =)
ich sah deinen beitrag im alldroid erst, NACHDEM ich das hier gepostet habe ;) danke für deine arbeit! gibt es sonst etwas, was man tun kann? rückt er schon mit der sprache raus, wie weit es möglich ist, ein boot.img von der SD zu booten?
 
IrealiTY

IrealiTY

Stammgast
Noch weiß ich nix sry, bin auch net deeeeerrrrr pro was die Sache angeht, hab nur geholfen gestern.
Bis jetzt hat er soweit ich weiß nur die Bootloader verglichen, das letzte woran ich mich gerade entsinne ist dass der .72 und .73 gleich sind bis auf die namens strings und der .74 total anders sein soll. -> Schlussfolgerung ka ^^'
 
T

Thyrus

Gast
ab 74 wurde die "wie komme ich in die rec mode" tastenkombi deaktiviert afaik
 
andro_mike

andro_mike

Fortgeschrittenes Mitglied
Gibts neue Info zu den Bootloadern? Bitte keine Aprilscherze :D
 
B

bingo5

Experte
ich schaue ab und zu in die logs von dem irc chan. rein.
wenn ich es richtig verstanden habe, sind die gerade dabei den mbmloader zu reversen um diese dann via. der 2ndbootloader Methode zu booten.

Also zu der Methode direkt noch nichts neues... wenn der "neue" mbmloader fertig ist wird es sich wohl zeigen ob die Methode auch in der praxis produktiv einsetzbar ist.

kann aber auch sein dass ich alles/etwas falsch verstanden habe
 
K

kniffo80

Stammgast
bingo5 schrieb:
ich schaue ab und zu in die logs von dem irc chan. rein.
wenn ich es richtig verstanden habe, sind die gerade dabei den mbmloader zu reversen um diese dann via. der 2ndbootloader Methode zu booten.

Also zu der Methode direkt noch nichts neues... wenn der "neue" mbmloader fertig ist wird es sich wohl zeigen ob die Methode auch in der praxis produktiv einsetzbar ist.

kann aber auch sein dass ich alles/etwas falsch verstanden habe
bavilo und irreality können dazu sicher mehr sagen ... ;)
 
K

kniffo80

Stammgast
Wisst ihr,was mir grad einfällt...wie wäre es,wenn man mal die entwickler von haret fragt?damit konnte man schliesslich eclair auf windows mobile geräten booten...

Mal xvilka fragen?wobei der ansatz natürlich noch ein klein wenig anders wäre...ich meine bei winmo gibts ja mittlerweile schon so eine art dualboot...hat jemand kontakt zu xvilka?bavilo?
 
B

Bavilo

Fortgeschrittenes Mitglied
Wat? Ich?

Nunja, Ich hab ein IDA Server für XVilka und Nothize bereitgestellt um verschiedene bootloader zu reverse engineeren...Damit werden die versuchen herrauszu bekommen wie genau der bootloader initiiert wird. Welches wiederrum hilfreich bei dem 2ndboot Projekt ist.

Wie weit XVilka nun wirklich mit 2ndboot ist, ist mir noch unbekannt. Der Kerl redet nicht viel :)
 
K

kniffo80

Stammgast
Jo ich hab die IRC Logs gelesen ... wozu brauchte er den Server? Für verteiltes rechnen?

Frage mich, wozu unbedingt der Motorola Bootloader gebraucht wird. Meiner Meinung nach muss doch nur der Kernel geladen werden, oder sehe ich das vollkommen falsch? Weisst du, wie weit er mit dem Reverse Engineering gekommen ist? Würd ja gern helfen, nur wie ;) hab aber auch keine wirkliche Lust auf IRC ...

EDIT: sehe grad, XVilka hat wieder neue sourcen comitted ...
 
Zuletzt bearbeitet:
B

bingo5

Experte
@kniffo80 Der Server ist dazu da um zusammen an diesen Projekt zu arbeiten. Was ähnliches kennst du vlt. durch Onlinedokumente wo mehrere Personen an einen Brief schreiben können oder bei der Softwareprogrammierung mit svn und Konsorten, wo durch mehrere Entwickler an einer "Stück" Software programmieren können. In entferntesten kann man es auch mit Wikipedia vergleichen, "jeder" kann ein Artikel ändern und der nächste sieht die Änderung und kann auch wieder was ändern. Das mit dem Bootloader hat Bavilo doch schon gesagt "Damit werden die versuchen herrauszu bekommen wie genau der bootloader initiiert wird". Ergo habe ich es zur erst auch falsch verstanden :)