OS von IDE-IF2 starten ?

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
StevenSch
Einsteiger
Einsteiger
Beiträge: 105
Registriert: Mittwoch 20. Oktober 2004, 12:41

OS von IDE-IF2 starten ?

Beitrag von StevenSch »

Wäre es theoretisch möglich das OS auf die IDE-Platte (wenn vorhanden) zu installieren den Flash als RAM zu nutzen und so im Prinzip unbegrenzt Speicher zur Verfügung zu haben? :gruebel:
nessus

Beitrag von nessus »

Das Thema wurde schon mal behandelt, schau mal http://tuxbox-forum.dreambox-fan.de/for ... t=ide+boot

Aber was daraus geworden ist, kann ich Dir nicht sagen, nur das im CVS ein

Code: Alles auswählen

/tuxbox-cvs/boot/u-boot-config/u-boot.ide.dbox2.h
gibt. Ob es dafür forgesehen war/ist kann denke ich nur unser gurgel/DBoxBaer sagen.

Währe schon was, aber es gibt zur Zeit denke ich mal andere Prio es für IDE IF.

nessus
DBoxBaer
Senior Member
Beiträge: 255
Registriert: Donnerstag 25. August 2005, 11:34

Re: OS von IDE-IF2 starten ?

Beitrag von DBoxBaer »

StevenSch hat geschrieben:Wäre es theoretisch möglich das OS auf die IDE-Platte (wenn vorhanden) zu installieren den Flash als RAM zu nutzen und so im Prinzip unbegrenzt Speicher zur Verfügung zu haben? :gruebel:
Was mit unbegrenzt Speicher gemeint ist erschliesst sich mir zwar nicht, aber das Booten von der Platte werde ich definitiv noch machen.
Prioritaet hat aber erstmal der Datendurchsatz.

Aussnahme waere, das ich genervt bin und mal wieder was fertig bekommen will: Da ich hier genau weiss was ich machen muss, waere das hier gegeben :-)

Und der Vorteil waere natuerlich das man keine Platzprobleme mehr im Image haette...

Ciao,

DboxBaer
... und der Rest ist dann Software (TM)
nessus

Beitrag von nessus »

@DBoxBaer,

klasse das Du geantwortet hast. Kommt Zeit komme Platz :-)

nessus
StevenSch
Einsteiger
Einsteiger
Beiträge: 105
Registriert: Mittwoch 20. Oktober 2004, 12:41

Re: OS von IDE-IF2 starten ?

Beitrag von StevenSch »

DBoxBaer hat geschrieben: Was mit unbegrenzt Speicher gemeint ist erschliesst sich mir zwar nicht, ...

Und der Vorteil waere natuerlich das man keine Platzprobleme mehr im Image haette...
Offensichtlich meinen wir exakt die gleichen Vorteile.
DBoxBaer
Senior Member
Beiträge: 255
Registriert: Donnerstag 25. August 2005, 11:34

Re: OS von IDE-IF2 starten ?

Beitrag von DBoxBaer »

... den Flash als RAM zu nutzen ...
Falsch gefragt von mir: Warum das (nicht moegliche) Ergaenzen des RAM durch Flash "unendlichen" Speicher bringen soll...

Ansonsten war es natuerlich schon klar.

Allerdings habe ich da tatsaechlich eine reale Frage an echte Kernel Experten:
Waere es eigentlich moeglich den Kernel im Flash zu haben, aber unkomprimiert, so dass der Code direkt darin ausgefuehrt wird?
Ich meine dabei nicht nur theoretisch (das muss gehen) sondern ganz praktisch...

Ciao,
DboxBaer
... und der Rest ist dann Software (TM)
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

das Flash ist eigentlich zu langsam um direkt Programme ausführen zu können. Aber da liesse sich ja einbremsen. (uboot kann ja auch aus dem Flash laufen)
Du kannst aber direkt einen unkomrimierten Kernel aus dem Flash ins Ram laden.

Für mmu-lose Prozessoren gibt es im uClinux ein XIP (execute in Place) Feature wo direkt aus dem Flash gelaufen werden kann. (nur Programme?)

Was willst du damit erreichen?
DBoxBaer
Senior Member
Beiträge: 255
Registriert: Donnerstag 25. August 2005, 11:34

Beitrag von DBoxBaer »

Houdini hat geschrieben:das Flash ist eigentlich zu langsam um direkt Programme ausführen zu können. Aber da liesse sich ja einbremsen. (uboot kann ja auch aus dem Flash laufen)
Du kannst aber direkt einen unkomrimierten Kernel aus dem Flash ins Ram laden.

Für mmu-lose Prozessoren gibt es im uClinux ein XIP (execute in Place) Feature wo direkt aus dem Flash gelaufen werden kann. (nur Programme?)

Was willst du damit erreichen?
Im Prinzip zwei Dinge: RAM sparen und Boot-Zeit.

_Zu_ langsam kann das Flash nicht sein, nur eben langsamer, was aber die Laufzeit des Systems ausbremst und natürlich die leicht kürzere Boot-Zeit auffrisst.
Der Instruktion-Cache macht es aber schwierig zu berechnen, wieviel der Code wirklich langsamer wird.

Ignorieren wir aber mal, ob das vom Kernel her geht:

Meine (und auch die allgemeine) Erfahrung ist das der größte Teil des Codes eines Systems keine Performanceprobleme macht, sondern nur relativ kleine Teile. Wenn man zu diesem Zweck ein paar (4K MMU) Pages des Flash durch RAM ersetzt (natürlich die Performance-Kritischen), wird man den Unterschied am Ende kaum noch messen können, hat aber trotzdem einiges an RAM gespart.
Einiges? Naja: Bei einem Kernel mit sagen wir mal 1MB sind das immerhin 800KB. Das ist aber wohl dann den Aufwand nicht wert:
Viel mehr bringt das natürlich für Libs und Applikationen, weil diese eben viel größer sind. Doch dann geht uns ja auch wieder das Flash aus :-).
Das ganze wird wohl Theorie bleiben, denn man kann insgesamt so vielleicht 6MB RAM sparen, aber mit relativ großem Aufwand. Den sollte man dann eher in die Optimierung des RAM Verbrauchs von Applikationen stecken :-)

Da habe ich aber noch ne andere Überlegung:
Wenn ich den u-boot auf das IDE2 Interface angepasst habe wird die Frage interessant, ob das Laden des Kernel von der Platte eigentlich schneller geht als aus dem Flash.
Und ob das Komprimieren sich da dann noch zeitlich lohnt (einen anderen Grund hätte das ja nicht mehr).

Danach wird mein "Kernel-Profiler-Trace-Log" Code uns dann wunderbar erlauben die weiteren Schritte des Bootens genau auszumessen und am Ende (ich darf mal träumen) booten wir in unter 20sec (Power On bis TV Bild).

Ciao,

DboxBaer
... und der Rest ist dann Software (TM)
T-Nec
Einsteiger
Einsteiger
Beiträge: 207
Registriert: Montag 9. Januar 2006, 13:54

Beitrag von T-Nec »

@DboxBaer :
Und der Vorteil waere natuerlich das man keine Platzprobleme mehr im Image haette...
Naja... /var kann man ja jetzt schon auf SD oder HD problemlos auslagern :)

Ein Problem sehe ich bei der Lösung für yadd/system auf der HD/SD:
Es muesste flexibel über eine config/Variable einzustellen sein wo uboot bzw. der Kernel das root anlegen...
Und welcher Treiber wie genutzt werden soll (HD oder SD, Orig-IRQ oder IRQ6 etc. ...)
Ich glaube auch nicht daß das uboot groß genug ist für den Standard-kram und den HD- bzw. SD-Treiber, also kommt der Kernel aus dem Flash mit entsprechenden Treibern. Diese muessen aber wie oben beschrieben flexibel sein, sonst braucht man für jede Eventualitaet einen eigenen Kernel :(

Seh ich das so richtig? :)