ich bin noch dabei den bootprozess zu verstehen. als quellen dienen mir dabei nur die infos aus dem wiki, aber es scheint ja auch nicht mehr öffentlich zu geben ;-)
ich weiss noch ne menge mehr als im WIKI steht... es mangelt aber nur an Zeit das Wissen in sinnvolle Texte zu fassen.
Aber wenn einer konkrete Fragen hat, werd ich da sicher was zu sagen können.
leider ist mir noch nicht ganz klar, welche schritte im bootprozess evtl. veränderbar sind (externer flash) und welche fix (sprich im sram des smp8634). im moment verstehe ich das so: XOS ist der erste bootloader, welcher wahrscheinlich im internen sram liegt.
ja der XOS läuft auf dem internen co-prozessor und da kommt man nicht mal lesend ran.
dieser wird nicht veränder sein, updates evtl. durch sigma selbst. er initialisiert die speicher (siehe parameter XENV) und evtl. auch weitere hardware, kopiert dann evtl. teile aus dem externen flash in den ram und springt dort hin (x.boot 0x00800000).
evtl. kann man den bootloader an dieser stelle auch dazu überreden unverschlüsselten code zu starten?!
alles richtig... aber unverschlüsselter boot code läuft nur auf development SMP863x der ES serie...und der XOS muss eine version Mxx und nicht Pxx sein.
leider ist es mir bisher noch nicht gelungen das linux sdk von sigma aufzutreiben, ich weiß das es das nur mit vertrag gibt und das dann auch noch mit verschiedenen leveln (mit/ohne grafiktreiber usw.) aber evtl. kann man es ja irgendwo her besorgen? hat da jemand ne' idee??
das kann man total vergessen. es gibt einfach zu wenige Leute die das SDK haben... wenn da was im internet auftaucht wirds nicht schwer sein den schuldigen zu finden... und ich glaub in dessen haut würd ich dann nich stecken wollen
Aber die GPL Linux Sourcen für den SMP863x sind auch schon sehr informativ. Einen Link wo man die bekommt gibts auch hier in diesem Forum.
Ich hab aber noch nicht probiert einen Kernel zu kompilieren, weils nicht viel Sinn macht .. s.U.
das sdk kann wahrscheinlich weiter auch einige offene fragen beantworten, beispielsweise liegt ihm auch der sigma bootloader "yamon" im quelltext bei!
das SDK würd ich nicht überbewerten... nach meinen infos ist das SDK unter aller Sau. Die API ändert sich ständig und die Doku ist sehr unvollständig oder veraltet.
Der Yamon ist eh Opensource, da hat Sigma nur ein paar zusätzliche Befehle eingebaut um mit der XPU zu kommunizieren.
Damit kann man aber auch nicht viel anfangen, weil die XPU auch nur verschlüsselte binaries akzeptiert.
meine vorstellung wäre ja, diesen gegen einen port von u-boot für die cpu auszutauschen. damit wäre auch eine perfekte basis um linux zu booten geschaffen. aber soweit ist man ja noch nicht ;-)
das ist zwar eine nette Idee... aber leider gibts da diverse Probleme.
U-Boot gibts zwar für MIPS aber nicht direkt für SMP863x. d.h. der Core wird zwar initalisiert, aber da wird noch einiges fehlen was man im Uboot einbauen müsste.
Abgesehen davon... wozu einen neuen bootloader, wenn man schon einen hat der sogar signiert ist ?
Linux als Betriebssystem seh ich eh nicht als Option, da man weder die uCodes für die Audio und Video DSPs bekommen wird, und auch die API libs bekommt man nicht.
damit könnte man die X300T als Router benutzen aber ich glaub das will doch keiner oder ?
Aber selbst wenn es mal uCodes geben sollte, und auch die libs, dann könnte man ein Linux Kernel auch problemlos mit dem MS IPTV Bootloader starten.
Dazu muss man nur ein Linux Kernel in ein NK.BIN stecken (was kein grosses Problem ist)
um noch mal zur Frage zurückzukommen "was kann man an der box ändern?"
also permanent kann man gar nichts ändern... das ist eine bittere Erkenntnis, aber nicht sooo tragisch.
Per JTAG kann man den schon gestarteten Bootloader im RAM patchen (mit meinem Tool oder per Microcontroller).
Per JTAG kann man auch einen komplett anderen Bootloader ins RAM schreiben und den dann starten... dazu gibt es ein Kapitel im Sigma SDK. (einen Yamon für dieses vorgehen hab ich auch)
also JTAG ist die einzige Option (bis jetzt) ... das Problem dabei ist... JTAG über Parallelport ist sehr langsam. Einen kompletten Bootloader ins RAM zu laden wird bestimmt 5minuten oder mehr dauern.