Du bist nicht angemeldet.

#1 03.07.2007 10:48:28

Schrauber
Mitglied

Bootvorgang beschleunigen

Hi,

ich habe mir unter Arch einen VDR aufgesetzt. Das Teil läuft soweit absolut hervorragend. Ich bin jetzt an den letzten Optimierungen dran.

Im Moment bin ich dabei, den Bootvorgang zu beschleunigen. Anfangs hatte ich Bootzeiten von ca. 40 Sekunden. Gemessen vom Laden von Grub bis zum Erscheinen des Videobildes im VDR. Die Zeit, die das Rechnerbios braucht also nicht mit gemessen. Das ganze auf einem Celeron 850 MHz.

Ich bin dann her gegangen und habe die Ladereihenfolge der Daemons verändert. Dazu muss ich sagen, das der VDR auch wie ein Daemon gestartet wird. Ich habe also das zugehörige Startscript in /etc/rc.d liegen und habe es in der rc.conf eingetragen.
Jedenfalls war das Ziel, den VDR so früh wie möglich zu starten und den Rest quasi im Hintergrund. Nun wird vor VDR nur noch Syslog-NG und Lirc gestartet. Das hat schonmal einiges gebracht.

Weiterhin habe ich einen eigenen Kernel gebaut. Den habe ich soweit möglich auf die vorhandene Hardware ausgelegt und möglichst alles andere deaktiviert. Und das meiste nicht als Module, sondern fest einkompiliert.

Ich bin inzwischen bei 20 Sekunden für den Start angekommen.

Nun ist die Frage, geht da noch was?

Ideen, die ich noch habe:
UDEV geht zwar schon bedeutend schneller als zu Anfang. Aber es braucht immer noch ne gewisse Zeit. Kann man da noch was machen?

Lirc braucht auch so 2-3 Sekunden für das Laden der zugehörigen Module. Die wären lirc-dev und lirc-serial. Den normalen Treiber für den seriellen Port hab ich aus dem Kernel raus genommen. Die Idee war, die Lirc-Module noch fest einzukompilieren. Aber wie kriegt man das hin? Die Module werden ja eigentlich separat gebaut. Und ein Kernel-Patch hab ich nicht gefunden.

Dieselbe Frage gilt für Madwifi. Die Treiber für meine WLAN-Karte. Kann man die irgendwie fest integrieren?

Kann man sonst noch was an den Startscripten bauen, um noch etwas Zeit zu schinden?

Habt Ihr sonst noch Ideen, wo man was drehen könnte?

InitRD hab ich übrigens schon nicht mehr. Da alle nötigen Treiber fest im Kernel sind, war das nicht mehr nötig.

Grüße

Offline

#2 03.07.2007 11:52:02

GerBra
Mitglied

Re: Bootvorgang beschleunigen

Schrauber schrieb:

Ideen, die ich noch habe:
UDEV geht zwar schon bedeutend schneller als zu Anfang. Aber es braucht immer noch ne gewisse Zeit. Kann man da noch was machen?

Dieselbe Frage gilt für Madwifi. Die Treiber für meine WLAN-Karte. Kann man die irgendwie fest integrieren?

Zu 1.: Du könntest udev weglassen und wieder mit statischem /dev arbeiten.
An diesem Gerät wird doch denke ich wenig mit Harfware gearbeitet, die
dynamische Device-Erzeugung benötigt. Wenn ich meinen Bootprozeß ansehe
(der mich im allgemeiner eher nicht interessiert) ist die "Stockung" bei udev am
größten.

Zu 2.: Das ist AFAIK sehr schwer, da du den Kernel+Kernel-Scripte patchen müßtest.
Im Falle der madwifi Treiber dürfte es auch unmöglich sein, da ja die Firmware
benötigt wird und die kriegst du IMHO nicht in den Kernel.

Ansonsten sind 20s doch passabel (oder "geil" in Neusprech). Wenn du einen
Standalone-VDR nimmst (mit weniger Grundfunktionalität) ist die Startzeit doch
gut.
Ich würde eher meine Energie in Stabilität und Benutzerfreundlichkeit legen als
auf das letzte Quentchen Bootzeit.

Offline

#3 03.07.2007 11:58:45

Schrauber
Mitglied

Re: Bootvorgang beschleunigen

Hi,

naja, in Stabilität und Bedienung muss ich nichts mehr stecken. Das Ding ist soweit fertig. Alles drin, was ich brauch. Und Abstürze und dergleichen hatte ich bisher gar nicht. Von daher war jetzt noch der Bootvorgang dran.
Und Du weißt ja, wie das ist. Mehr geht irgendwie immer.

UDEV braucht wirklich von allem am längsten. Und Du hast Recht, die Hardware wechselt an dem Gerät eigentlich gar nicht. Nett wäre höchstens, wenn sind USB-Sticks mounten lassen. Ansonsten ist da nichts variabel.

Die Frage ist nun, wie krieg ich UDEV da raus operiert?
Ich hab nicht wirklich Ahnung von dem Thema UDEV. Ich weiß bisher nur, das es die Device-Nodes beim Booten jedes Mal neu anlegt.

Offline

#4 03.07.2007 12:10:30

GerBra
Mitglied

Re: Bootvorgang beschleunigen

Ich habe eine Rückführung udev->statisch noch nicht gemacht und habe
moemntan nicht die Zeit zum Suchen.

udev wird IMHO bereits in der initrd geladen, die du ja nichtmehr hast.
Wenn du udev in der rc.conf lädst, wäre das der Punkt zum abstellen.
Auch noch udev deinstallieren.

MAKEDEV wird bei mir unter Arch nichtmehr gefunden. Da dein system ohne
udev sicherlich nicht booten würde, wäre es nötig von einer externen Live-CD etc.
zu booten, dort dein / zu mounten und mit MAKEDEV die grundlegenden Devices
zu erstellen (geht AFAIK mit MAKEDEV all). Oder schauen ob diese CD evtl. noch
ein statisches /dev verwendet oder einen Unterordner .static in /dev hat. Dann einfach
kopieren.

Suche aber am besten mal ein bißchen z.B. nach "udev statisch" bzw. static.
Oder "udev abschalten".

Du solltest dir nur in irgendeiner Form ein Backup machen bzw. sicherstellen
das du über ein externes Bootmedium dein Arch wieder mit udev reaktivieren kannst.

Offline

#5 03.07.2007 13:23:14

Schrauber
Mitglied

Re: Bootvorgang beschleunigen

Ich hab noch ein bißchen gelesen. Ich glaub UDEV werd ich wohl behalten. Es bietet ja doch einige Vorzüge. USB-Automount ist damit ja auch sehr einfach.
Ich werd mal probieren, ob das deaktivieren von Module Autoload noch etwas Tempo bringt. Module werden bei mir eh kaum noch welche geladen, weil fast alles fest im Kernel ist.

Offline

#6 03.07.2007 22:30:54

Pierre
Entwickler

Re: Bootvorgang beschleunigen

Hast Du schon ein paar Daemons in den Hintergrund gepackt (mit @)? Was dauert denn noch am längsten?

Offline

#7 04.07.2007 10:43:06

Schrauber
Mitglied

Re: Bootvorgang beschleunigen

Wie gesagt, vorm VDR startet nur Syslog-NG und Lircd. VDR wird wie ein Daemon gestartet. Und Syslog-NG und Lircd müssen auf jeden Fall fertig sein, bevor der VDR gestartet wird. Sonst hagelts Fehler im Log. Früher starten kann er also nicht.
Was danach kommt, ist ja Wurscht. Das passiert dann eh, wenn der VDR schon sein Bild zeigt.

Daher, an den Daemons kann ich nichts mehr drehen.

Das Abschalten des Autoload für Udev hat übrigens gar nichts gebracht. War aber auch zu erwarten, da ich eh fast alles fest im Kernel habe.

Gestern hatte ich dann nochmal nen neuen Kernel gebaut und noch einiges abgeschaltet, von dem ich glaubte, es nicht zu brauchen. Dumm nur, ich hab das Modul rtc mit abgeschaltet. Jetzt wacht er natürlich nicht mehr per ACPI für Aufnahmen auf. Hätt ich vorher dran denken sollen.

Also ich glaube inzwischen, mit dem 850er Celeron bin ich, was die Startgeschwindigkeit angeht, ziemlich am Anschlag. Mehr wird wohl nur noch mit ner schnelleren CPU gehen. Oder eben durch komplettes Abschalten von Udev, was ich aber eigentlich nicht machen will. Es hat doch seine Vorzüge.

Beitrag geändert von Schrauber (04.07.2007 12:14:45)

Offline

#8 04.07.2007 10:48:54

Pierre
Entwickler

Re: Bootvorgang beschleunigen

Du hast also keine initrd mehr und bei den Daemons geht auch nichts? Da kann man wohl wirklich nur noch wenig machen, ohne allzu viel zu ändern. Evtl. bringt suspend2disk bzw. suspend2ram etwas.

Offline

#9 04.07.2007 12:13:16

Schrauber
Mitglied

Re: Bootvorgang beschleunigen

Nuja, STD und STR sind sone Sache. Ich hab damit zumindest unter Windose keine allzu guten Erfahrungen gemacht. Ich hatte da STD laufen. Dummerweise war dann doch alle paar Starts mal ein kompletter Reboot nötig, weil irgendwas nicht mehr richtig funktionierte. Also irgendwie nicht so der Knaller.

Meine ersten Gehversuche damit unter Linux waren weniger erfolgreich. Auf dem Laptop hat STD mal ganz gut hingehauen. Allerdings dauerte das Aufwachen dann auch fast so lange wie ein komplettes Booten.
Ich bin mir da noch nicht so sicher, ob es lohnt, da viel Aufwand reinzustecken. Von der Funktionssicherheit her mein ich.

STR ist eher ungünstig. Weil, wenn der Netzstecker mal gezogen wird, dann ist Schicht im Schacht. Und STR hatte ich selbst auf dem Laptop nicht ans Laufen gekriegt. Der wollte dann immer nicht mehr aufwachen.

Ich mein, es ist bei dem Ganzen ja folgendes zu beachten:
Der VDR ist so ausgelegt, das er sich bedienen lässt, wie eine STB. Und genauso betriebssicher soll er auch sein. An dem Teil ist nicht mal ne Tastatur dran. Nur Fernbedienung. Somit wäre es ungünstig, wenn ab und zu ein Reboot erforderlich werden würde. Das würde eigentlich dem Konzept zuwider laufen.

Daher die Frage: Kann man von STD bzw. STR unter Linux eine solche Stabilität erwarten, wie sie hier gefordert ist?

Beitrag geändert von Schrauber (04.07.2007 12:16:27)

Offline

#10 04.07.2007 13:54:04

Pierre
Entwickler

Re: Bootvorgang beschleunigen

Kannst es ja versuchen. Im AUR gibt es ein suspend-Paket, daß "suspend2both" unterstützt. D.h. es wird suspend2ram genutzt, aber dennoch der Raminhalt in swap gesichert. Fällt der Strom aus, ist es also kein Problem.

Offline

#11 04.07.2007 14:32:30

Schrauber
Mitglied

Re: Bootvorgang beschleunigen

Ups, das kenn ich noch gar nicht. Das ist ja mal interessant. Quasi 2 Fliegen mit einer Klappe.

Allerdings find ich es nicht.

Überhaupt hab ich da ein Auswahlproblem. Es gibt swsusp, µswsusp und suspend2.

Nur was davon nimmt man? Wo sind die Unterschiede? Was habt Ihr am Laufen?

Beitrag geändert von Schrauber (04.07.2007 14:42:50)

Offline

#12 04.07.2007 15:59:25

Pierre
Entwickler

Re: Bootvorgang beschleunigen

Offline

#13 05.07.2007 09:54:34

Schrauber
Mitglied

Re: Bootvorgang beschleunigen

Danke für den Tip. s2disk hat auf meinem Laptop schonmal hervorragend funktioniert. Mit s2ram gabs hinterher noch Darstellungsprobleme. Mal sehen.
Nun muss es dann nur noch auf dem VDR genauso funktionieren.

Und s2disk spart doch schon einiges an Zeit, weil das ganze Module laden und Udev am Anfang flach fällt.

Offline

#14 09.07.2007 11:53:22

Schrauber
Mitglied

Re: Bootvorgang beschleunigen

Schade eigentlich:
Das Suspend-Paket läuft auf meinem Notebook hervorragend.

Auf dem VDR aber nicht. Viele Probleme kommen wahrscheinlich daher, das ich den Frambuffer benutze. Treiber VIAFB. Aus dem STR kann er die Anzeige nicht wieder richtig initialisieren. Im Textmodus gibts dann Darstellungsfehler. Und der im Chipsatz integrierte MPEG2 Decoder scheint Probleme zu haben. Jedenfalls ruckelt im VDR die Wiedergabe.
STD geht einigermaßen. Allerdings hatte ich dann auch das Ruckeln, wenn ich ihn mehrfach in STD geschickt hatte.
Und die Zeitersparniss ist gering. Das liegt daran, das weder Lirc noch die DVB-Karte mit dem Suspend zurecht kommen. Ich muss vorher immer VDR stoppen, Lirc stoppen, DVB-Treiber entladen und die Lirc-Module entladen. Danach das ganze rückwärts. Das kostet dann so viel Zeit, das es sich am Ende nicht mehr lohnt.

Mir ist aber noch was anderes gekommen:
Hat jemand Erfahrungen mit Solid State Disks? Zumindest Windows soll ja davon viel schneller Booten. Wär die Frage, ob man das bei Linux auch so deutlich merkt.
Inzwischen sind die Teile ja auch schon günstiger geworden. Ein 4 GB Modell kriegt man inzwischen für knapp 100 Euro. Und 4 GB reichen für Arch mit VDR locker. Bei mir sind glaub nur 1,6 GB belegt. Und wenn man noch 1 - 2 Monate wartet, dann werden die Teile sicher noch wesentlich günstiger sein.

Offline

#15 09.07.2007 12:36:38

Usul
Mitglied

Re: Bootvorgang beschleunigen

Schrauber schrieb:

Mir ist aber noch was anderes gekommen:
Hat jemand Erfahrungen mit Solid State Disks? Zumindest Windows soll ja davon viel schneller Booten. Wär die Frage, ob man das bei Linux auch so deutlich merkt.
Inzwischen sind die Teile ja auch schon günstiger geworden. Ein 4 GB Modell kriegt man inzwischen für knapp 100 Euro. Und 4 GB reichen für Arch mit VDR locker. Bei mir sind glaub nur 1,6 GB belegt. Und wenn man noch 1 - 2 Monate wartet, dann werden die Teile sicher noch wesentlich günstiger sein.

Hast du nicht noch nen USB-Stick mit 1 oder 2GB rumliegen, von dem du Booten kannst? Dann könntest du zumindest erstmal testen, ob es was bringt. Des weiteren muß es doch nicht unbedingt Solid State sein, ein IDE-to-CF-Adapter plus eine entsprechende CF-Karte (Ebay sag ich nur) sollte es auch tun, für weit unter 100€.

Offline

#16 09.07.2007 12:41:08

Schrauber
Mitglied

Re: Bootvorgang beschleunigen

Öhm, also meines Wissens sind sowohl CF als auch USB-Sticks um Welten langsamer als SSDs.
Mir ist schon klar, das die Basistechnik die gleiche ist. Die Zugriffszeiten sind auch kurz. Aber die Transferraten sind doch bei den SSDs wesentlich höher oder?

Ich müsste mal meinen USB-Stick testen. Aber ich glaube, der kommt nicht mal ansatzweise an die runden 50 MB/s lesen der aktuellen SSDs.

Offline

#17 09.07.2007 13:14:41

Usul
Mitglied

Re: Bootvorgang beschleunigen

Das mag stimmen, zumal es da auch gravierende Unterschiede gibt. Sicherlich wäre eine SSD die professionellere Variante, dafür auch wesentlich kostenintensiver. Den Test mit dem USB-Stick gibts gratis, wenn du einen hast wink War nur ein Vorschlag, mußt du selber wissen. Ich hab das vor geraumer Zeit mal getestet und es brachte ein bisschen was, und das obwohl ich einen Kickstart von CD brauchte (Board konnte nicht von USB booten).

Offline

#18 09.07.2007 14:52:42

Schrauber
Mitglied

Re: Bootvorgang beschleunigen

Da hast Du natürlich Recht. Wenn er von USB schon schneller wäre als von Platte, dann müsste er von ner SSD natürlich richtig abgehen.
Mal sehen. Ich hab hier zumindest nen 1 GB USB-Stick irgendwo rumliegen. Werd mal testen, was für Transferraten der bringt.
Normale SD-Karten sind auf jeden Fall mal nicht der Bringer. Meine 2 GB Karte bringts gerade mal auf 9 MB/s Transfer. Auch wenn die Zugriffszeit kurz ist, dürfte das gegenüber ner Festplatte viel langsamer sein.

Offline

#19 09.07.2007 23:15:57

wakeup
Mitglied

Re: Bootvorgang beschleunigen

sry für diese ot frage: wie bootet man von USB-flashdisk? ansonsten muss ich sagen das ich den thread interessiert verfolge smile

Offline

#20 10.07.2007 11:39:35

Schrauber
Mitglied

Re: Bootvorgang beschleunigen

USB-Boot support muss aktiviert sein. D.h. in der mkinitcpio.conf. Wie der Hook heißt, weiß ich gerade nicht aus dem Hut. Müsste ich erst nachschauen.
Ansonsten muss das Bios natürlich USB-Boot unterstützen.

Offline

#21 10.07.2007 12:20:46

Flying Saxman
Mitglied

Re: Bootvorgang beschleunigen

Als (meiner Meinung nach) durchaus interessante Alternative gibt es auch CF zu IDE-Adapter. Das heißt: Kaufst dir eine CF-Karte, stöpselst den Adapter dran und kannst sie wie eine IDE-Festplatte ansprechen. Nur eben komplett lautlos. Und bei den CF-Preisen heutzutage kann man damit sogar schon fast produktiv arbeiten. Sobald allerdings eben wieder auf die Festplatte (MP3s/aufgenommene Videos) zugegriffen wird, hat man halt wieder das rattern. Bis dahin allerdings genießt man alle Vorteile eines Flash-Speichers.

Offline

#22 10.07.2007 13:17:20

Schrauber
Mitglied

Re: Bootvorgang beschleunigen

Öhm, es ging nicht ums Geräusch. Die Platte ist entkoppelt. Da ist eh kaum was zu hören.
Es ging aber ums Tempo beim Booten. Und da zieht CF auch den Kürzeren gegenüber einer normalen Festplatte.

Offline

#23 10.07.2007 20:15:21

defcon
Mitglied

Re: Bootvorgang beschleunigen

Schneller wie 19s bekomm ichs nicht hin.
Siehe Bild.

Offline

#24 10.07.2007 20:18:39

Schrauber
Mitglied

Re: Bootvorgang beschleunigen

Von was bootest Du da?

Bei mir kommt noch dazu, das die CPU noch bremsen wird. Ist nur ein 850er Celeron.

Offline

#25 10.07.2007 20:44:52

defcon
Mitglied

Re: Bootvorgang beschleunigen

Schrauber schrieb:

Von was bootest Du da?

Na von ner Festplatte *g*

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums