Autor Thema: "Palm Pre" - Booten  (Gelesen 7079 mal)

Exilit

  • Beiträge: 3
    • Profil anzeigen
Gespeichert
« am: 19. May 2011, 15:07 »
Moin zusammen,

ich hoffe ich bin hier nciht vollkommen verkehrt

das Booten funktioniert beim Pre ja mit höchster Wahrscheinlichkeit nicht genau so, wie bei einem x86.
Eventuell hat hier ja einer ein Ahnung wie das ungefähr(oder auch gerne im detail  :-P ) funktioniert.

Vielleicht gibt es ja auch Anregungen, wie ich das herausfinden kann (stichwort: Debugging, etc.)?

Naja für Tips, Tricks und Anregungen bin ich sehr dankbar.

Exilit

PNoob

  • Beiträge: 106
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #1 am: 19. May 2011, 15:58 »
Das funktioniert garantiert anders, weil da sicherlich kein x86er drin steckt. ich vermute mal, ohne jetzt zu googlen das da nen arm drinnsteckt. Wie das mit ARM allgemein funktioniert, kannst du dem ARM Tutorial entnehmen, aber wie du das eigene OS da dadrauf bekommst, das willst du vermute ich mal, musst du anderweitig herrusfinden, es kann sein das es dort nen BIOS gibt, es kann aber auch sein das ein speziellerr Bootloader direkt im Flash eingebrannt ist. aber das ist von gerät zu Gerät unterschiedlich.

Ich meine da läuft sogar nen Linux drauf, bzw. nen auf Linux basierendes OS von HP??

Eventuell findest du bei google was, aber bei solchen Geräten ist es meist schwer an Infos zu kommen.


PNoob

Exilit

  • Beiträge: 3
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 19. May 2011, 16:28 »
Ja da läuft ein Linux Kernel drauf allerdings "damals" noch von Palm(Spielt ja auch keine Rolle).
Mit dem Arm haste auch recht, ein Cortex.
Ich hab natürlich auch schon lange gegooglet und es gibt scheinbar jemanden, der darauf Android zum laufen bekommen hat, jedoch nur mit USB Anbindung aber mal schauen, evtl. kann man sich da ja was von abgucken. Wenn ich was neues weiß werde ich das mal hier posten, interessiert vll. auch andere.

Ansonsten bin ich für weitere Antworten offen und dankbar

PNoob

  • Beiträge: 106
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #3 am: 19. May 2011, 19:34 »
das Linux ist noch drauf? wenn ja, dann versuch doch darüber ml zu gucken wie das teil gebootet wurde. eventuell gibts dmesg, da stehen teilweise auch infos zum BL drin unsw.

Das was herrauszufinden wäre was für ein BL ist drin, ist überhaupt einer da, gibts nen BIOS. das sind die Infos die man benötigt um dort eventuell nen eigenes OS drauf zum laufen zu bringen.

Mich würde ein eventueller Erfolg auch interessieren. ich habe zwar keinen Palm Pre aber interessant ist trotzdem ;)

PNoob

stultus

  • Beiträge: 486
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 19. May 2011, 20:53 »
Nur das nen Linux drauf läuft heißt ja noch lange nicht das man shell-, geschweigedenn rootzugriff hat. Das sich da direkt über die Original-Firmware viel in Erfahrung bringen lässt bezweifel ich mal.

Was du an Informationsquellen probieren könntest:
a) Linux drauf, also GPL-Code. Erster Schritt wäre also ne Nachfrage beim Hersteller wie das denn mit Quelltext aussieht, prinzipiell sollte der ohne weiteres rausgegeben werden.
b) Da es sich ja doch um relativ spezielle Hardware handelt, erstmal Googlen obs vielleicht sowieso nen Projekt gibt was nen eigenes OS/Firmware dafür geschrieben hat, und wenn das nichts hilft
c) Bei Leuten nachfragen die sich mit Hardware aufmachen auskennen. Mir würde da zuerst z.b. www.hackaday.com einfallen, einfach da im Forum mal fragen ob jemand das Teil kennt. (hab grad sogar selber mal kurz danach geschaut weil ich dachte da wär was, und siehe da, http://hackaday.com/2010/01/27/nes-lovers-grew-up-and-now-theyre-coding-for-palm/ listet doch gleich jede menge vielversprechende Links)
MSN: planetconquestdm@hotmail.de
ICQ: 190-084-185

... Wayne?

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 19. May 2011, 21:05 »
GPL-Code hilft nur in manchen Fällen, oft wird nur das allernotwendigste rausgegeben, der Bootloader und einige Hardwaretreiber fehlen dann oft genug. Im Zweifelsfall gibt es http://www.gpl-violations.org.

In jedem Fall hast du eine Menge Arbeit, wenn du da dein eigenes Linux zum Laufen bekommen möchtest.

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 20. May 2011, 07:32 »
Hmm... da wirst du wahrscheinlich nicht so viel bekommen können.
Ein BIOS wird der Kasten nicht haben.
Ich vermute mal, dass da UBoot drauf laufen wird. Das soll auf vielen ARM-Kisten laufen.
Wenn du dir was eigenes schreiben willst, brauchst du aber nicht auf UNterstützung der Hardware hoffen. Damit meine ich, dass es nicht sowas gibt wie bei den x86ern, die dir zum Teil erzählen was an Hardware verbaut ist. Das musst du bei ARM-Hardware selber wissen.
Ist ja auch embedded also sollte das recht schnell zu eruieren sein.
HP wird dir nichts erzählen über das OS. Es ist ein proprietäres Linux. Da wirst du dann vermutlich auch kein dmesg oder so finden. Das würde auch zu viel über das OS verraten.
Aber mit all den Fragestellungen hat sich mit Sicherheit auch schon jemand beschäftigt. Einfach mal Google befragen ;)
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 20. May 2011, 16:22 »
Naja, ein "proprietäres Linux" gibt es so erstmal nicht; das ist kein HP-UX, was da auf der Kiste läuft. Was da für ein Bootloader drauf läuft, ist fraglich (neben UBoot gibt es noch viele andere, einschließlich Inhouse-Entwicklungen), manche verraten einem aber recht viel über die Hardware.

Die Reihenfolge beim reverse-engineering wäre z.B. erstmal so:
(a) Root-Zugriff erlangen
(b) ROM dumpen
(c) Hardware zusammensuchen (/proc/cpuinfo, ...)
(d) Datenblätter suchen und möglichst finden
(e) mit /dev/mem und anderen Ideen die Verschaltung rauskriegen
(f) den Bootvorgang analysieren

Erst dann geht man an die Hardware selbst ran, also JTAG-Schnittstelle suchen, finden, ROM dumpen und den Dump mit dem aus (b) gewonnenen vergleichen (bei Unstimmigkeiten diese erst rausfinden). Dann untersucht man, ob eine Verschlüsselung/Signatur existiert; die muss man im Zweifelsfall knacken oder wegignorieren. Wenn man JTAG-Zugang zum Flash (und eine serielle Schnittstelle zum Debuggen) hat, kann man sich dann um einen eigenen Bootloader kümmern (oder den vorhandenen verstehen) und einen eigenen Kernel flashen.

In jedem Fall gehen da mal locker ein paar Mannjahre ins Land. Wieviel davon für den Palm Pre schon in Erfahrung gebracht wurde, weiß ich nicht. Wenn Android drauf laufen kann, dürfte der Bootvorgang einigermaßen verstanden sein.

Gruß,
Svenska

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 20. May 2011, 18:10 »
Naja, der Kernel selbst wird OpenSource sein, da reicht aber schon die Referenz auf die Version des Kernels. Der Rest dürfte aber proprietär sein.Habe mich da etwas ungenau ausgedrückt ;)
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 20. May 2011, 19:17 »
Nö, auch das reicht nicht: Alles, was in den Kernel reingelinkt wurde, muss veröffentlicht werden.

Da garantiert am Source etwas geändert wurde (z.B. GPIOs oder RAM-Basisadresse eingetragen), müssen auch diese Änderungen offenliegen. Ob die .config dazugehört, weiß ich nicht; dafür müssen nicht alle Kernelmodule im Source veröffentlicht werden.

Schön wäre ein diff gegen einen Upstream-Kernel. Üblich ist allerdings ein mehr oder weniger schlecht sortierter Sourcetree, in dem wahllos irgendwo rumgepatcht wurde.

Gruß,
Svenska

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #10 am: 20. May 2011, 22:15 »
Das Problem ist, dass unter ARM alles ziemlich gut organisiert ist. HP wird sich schon einen ARM-SoC genommen haben, der schon komplett im Linux-Tree existiert, damit da nichts gemacht werden muss. Dann werden sie ein paar proprietaere Treiber geschrieben haben und schon laeuft es nach der GPL korrekt und HP muss trotzdem nichts veroeffentlichen. Ein paar Dinge sollen sie schon veroeffentlicht haben. Das duerfte aber vermutlich nur triviales Zeug sein. (so wuerde ich es zumindest als Grosskonzern machen ;) )
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #11 am: 20. May 2011, 23:05 »
Dann erbarme ich mich halt mal den Link auf die Quelltexte zu posten. (Ihr wollt gar nicht wissen, wie ich den gefunden habe.)

http://opensource.palm.com/packages.html Die einzige Frage, die der Link nicht sofort beantwortet, ist wo der Quelltext von u-boot ist. Der wird laut Lizenzdokument nämlich verwendet. Vielleicht sollte man sich mal die Pakete genauer angucken, bevor man den nächsten 1000-Worte-Text verfasst.
Dieser Text wird unter jedem Beitrag angezeigt.

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #12 am: 20. May 2011, 23:24 »
Hmm... okay, ich will nichts gesagt haben ;).
Haette nicht gedacht, dass ein Grosskonzern seine Daten so veroeffentlicht.
Also vergesst meine Einwaende ;)
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #13 am: 20. May 2011, 23:38 »
;-)

Exilit

  • Beiträge: 3
    • Profil anzeigen
Gespeichert
« Antwort #14 am: 23. May 2011, 11:34 »
Wow,
hier kam ja mehr Input, als ich erwartet habe. das Kling doch schon mal ganz gut.
@PorkChicken: Danke und sry, so direkt habe ich es nciht gegooglet, habe ähnlich wie rizor gar nicht erst gedacht, dass ich da so leicht ren komme und habe mich erst auf etlichen Foren umgeschaut.

Dann schau ich mir das mal erst mal an. Ob ich da wirklich ein OS für proggen werde, weiß ich noch nicht, weil das am Pre im prinzip das beste ist, was es zu bieten hat. Vorerst war es das Interesse und wenn ich mich doch dazu entschließe werdet ihr es hier sicherlich mitbekommen   :-P .

Naja vielen Dank erst einmal für weitere Posts bin ich weiterhin offen.

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #15 am: 23. May 2011, 17:57 »
@Exilit: An dich war das eigentlich auch gar nicht gerichtet. ;-)
Dieser Text wird unter jedem Beitrag angezeigt.

 

Einloggen