Wie backt man einen schnellen Kernel?

  • Einen kernel zu kompilieren ist ja nicht so schwer.


    Aber was muß da alles rein oder raus um ihn für ein vorhandenes System schnell zu kriegen.
    Bis mein Kernel im BS geladen ist vergehen 17 sekunden.
    Ist bestimmt nicht schlecht aber es ist auch viel unnützes zeug drin nur weiß ich nicht was!
    Die treiber für die Grafikkarte besser fest einompilieren oder als Module?
    Alle CPU´s auswählen oder nur den den ich auch habe oder egal.
    Kan SCASI raus oder nicht und und und...


    Hat jemand Lesestoff oder tipps für mich?
    Was schluckt den so alles zeit und was kan man vernachlässigen?
    Viel infos habe ich nicht im i-net finden können.


    oder eine Beispiel .config

    HauptVDR AMD Goede 1750 Easyvdr 0.06.4
    FF_TT2.3 Skystar2.6c 1x160GB + 1x1TB lautloser Rechner weil er im Keller steht. :D


    2x MediaMVP als Client+VOMPServer-Plugin


    TestVDR AMD Goede 1750 mit TT1.5 Easyvdr 06.*
    Bootet auf einer komischen Weise
    PicoPSU als NT

    Einmal editiert, zuletzt von Dauser ()

  • Hilft dir vielleicht die KernelNewbies Seite?


    Kurze Antwort zu deinen Fragen: Treiber fest einkompiliert sollte schneller gehen, nur die CPU auswählen die du brauchst (alles was wegfällt macht den Kernel kleiner, also das Laden schneller), SCSI kann raus wenn dus nicht brauchst (USB Sticks arbeiten mit SCSI Emulation, also lass sg besser drin wenn du die brauchst) usw...


    HTH, Floh

  • Hi Dauser,


    ich geh mal davon aus das Du Dein System nicht von Diskette startest;-))


    Vereinfacht ausgedrückt kannst Du den Kernel als Schnittstelle zwischen der Hardware und der Softaware betrachten.
    Wenn Du Dir einen, auf Deine Hardware zugeschnittenen, Kernel bauen willst musst Du im Grunde genommen nur alle
    (Hardware)Module die Du nicht brauchst zu deaktivieren.
    Welche Module das im einzelnen sind ist wie gesagt von deiner Hardware abhängig.
    Versuch mal folgenden Vorgehensweise:
    1.
    nimm Dir eine bestehende .config und schieb diese Deinem neuen Kernel (von kernel.org) mit make oldconfig unter.
    2.
    Mit make menuconfig oder make ?xconfig? unter X11 musst Du jetzt die komplette Kernelkonfig durchgehen und
    alles was Du nicht brauchst rauskicken oder im Zweifelsfall als Modul konfigurieren.
    Hier kannst Du auch gleich die Anpassung an Deine CPU vornehmen.
    Die Hilfen die Du im Konfigmenü findest erklären in der Regel recht gut für was das Modul zuständig ist, ansonsten
    findest Du im Sourcezweig des Kernel jede Menge Dokumente die auch sehr hilfreich sind.
    3.
    Den Kernel bauen und testen und testen und testen ob alles so funktioniert wie Du das geplant hast.
    Das wird Deine Basis für weitere Experimente und Optimierungen.
    4.
    Ab jetzt wirds spannend.
    Die Module die momentan über die initrd geladen werden (i.d.R. Dateisystemtreiber, Storage usw.),
    werden jetzt als statisch in der Kernelconfig eingetragen und die initrd in der Kernelconfig deaktiviert.
    5.
    Ab hier wirds schwierig und langweilig.
    In den Abschnitten Networking und nachfolgenden findest Du jede Menge Sachen die Du deaktivieren kannts.
    Das Problem hierbei ist, das ab Kernel 2.6.16 und nachfolgende vieles geändert bzw. umstrukturiert wurde.
    Manche Funktionen und Module werden nur in bestimmten Kombinationen der Hard und Software benötigt (Stichwort X11).
    Hier ist viel Potenzial zum optimieren, aber auch zum "falsch machen", deshalb: testen, testen, testen.
    6.
    Falls Dein System jetzt noch funktionieren sollte und Du immer noch nicht die Schnautze voll hast,
    geh mal ins General setup und spiel ein bischen mit den Optionen für embeded Systems herum.
    Vom Kernel hörst und siehst Du danach nicht mehr viel und die Fehlersuche ist ein wenig kopmplizierter als vorher, aber das bringt auch einiges.
    Deshalb diesen Schritt erst nach dem Ausmisten des Kernels durchführen.
    7.
    Im Makefile gibts eine Zeile MAKEFLAGS += -rR, die kannst Du auch mal probieren (wenn Du ein sehr stabiles System hast).


    Wenn Du ein schnelles Entwicklungssystem hast, kannst Du das an einem Wochenende durchziehen.


    Viel Spass Thomas

    Server: yaVDR 0.5 stable, MB=ASRock P5B-DE, CPU=E7500 1,9GHz, RAM=2GB, Grafik=GeForce 9500GT, DVB=2xDVBSky S952, 1xTT-Budget S2-3200, HDD=Transcend 8GB SSD, WDC 1TB, Samsung 1,5TB, DVD=LG GH22NS50, Remote=Harmony 300 an DVBSky
    Client1: yaVDR 0.5 stable MB=MSI 865PE Neo2-V, CPU=P4 2,8GHz, RAM=512MB, Grafik=GeForce GT610, DVB=none, HDD=ST3500630AS 450GB, DVD=LG GSA-4163B, Remote=MCEUSB

  • Zitat

    Original von Dauser
    Bis mein Kernel im BS geladen ist vergehen 17 sekunden.


    Laut Sig hast du LinVDR + Update. Wenn du Coopers Kernel einsetzt, bekommst du kaum was schnelleres. Wenn sich die 17s. auf das reine Kernelladen beziehen (Pünktchen während des Laden) liegt das kaum am Kernel, sondern vmtl. an DMA-Einstellungen der Platte.


    Wenn du nicht Coopers Kernel verwendest, kopierst du dessen Konfig (liegt im /proc) als .config nach /usr/src/linux (oder wo auch immer deine Kernelquellen entpackt sind) und machst ein make oldconfig. Dann je nach Erfordernissen der Installation/der Hardware weiter wie schon in vorherigen postings angesprochen.


    EDIT: Ich sehe gerade, du bootest vom USB-STick - die brauchen vmtl. halt so lange.


    EDIT2: Coopers Kernel ist schon auf schnelle Boot(!!!)-Zeit optimiert, insofern keine initrd, alles Wesentliche im Kernel und nicht als Modul. Du könntest normalerweise nur optimieren, insofern du speziell für deine CPU - und nicht als 386 - (aber soviel bringt das für den VDR auch nicht) und/oder einige Module z.B. für Netzwerkkarten nicht kompilierst. Aber ob die nun auf der Platte liegen oder nicht, die Bootzeit tangiert's nicht. Du könntest allenfalls deinen NIC-Treiber fest einkompilieren, aber das macht den Kohl auch nicht fett.

    LG
    Jochen


    Rpi4 headless mit MLD 5.4 als Server via satip-Plugin hinter einem Telestar Digibit Twin, ein Rpi3 als Streamdev-Client mit MLD 5.4

    Rpi3 auch hinter Telestar Digibit Twin und mit MLD 5.4

    3 Mal editiert, zuletzt von foobar42 ()

  • Hi,


    ja der Meinung bin ich auch. Mein VDR startet auch in etwa 18 Sekunden mir ist das schnell genug. Ich habe mir auch schon mal einen eigenen Kernel gebaut in dem wirklich nur das drin ist was ich brauche und die Bootzeit war ca. bei 16 Sekunden. Seid dem hab ich mir keinen eigenen Kernel mehr gebaut da es sich meiner Meinung nach nicht lohnt...das Problem ist meist nicht das starten vom OS sondern das Bios das die Hardware einliest. Ich denke 8 bis 10 Sekunden dauert das auf jeden fall.


    Ich hatte das auch so gemacht erst die Standarkonfiguration geladen und diese dann bearbeitet...hier ein sehr guter Link zum Kernel bauen:


    http://www.thomashertweck.de/kernel.html

    4 Mal editiert, zuletzt von Stillgelegt2 ()

  • Zitat

    Original von marauder
    Mein VDR startet auch in etwa 18 Sekunden mir ist das schnell genug.

    Dauser meint aber vmtl. nicht die Bootzeit (die wäre mit 17s affengeil), sondern das Lesen und Auspacken des Kernels vom Bootmedium vor dem eigentlichen OS-Start.

    LG
    Jochen


    Rpi4 headless mit MLD 5.4 als Server via satip-Plugin hinter einem Telestar Digibit Twin, ein Rpi3 als Streamdev-Client mit MLD 5.4

    Rpi3 auch hinter Telestar Digibit Twin und mit MLD 5.4

  • Das Thema habe ich aufgegriffen in erster linie um mein Desktop auf trab zu kriegen!(Knoppix 5.1DVD DebianSarge)!
    Der Kernel ist wohl sehr universell.
    Ich brauch mit dem Desktop von grub bis das System überhaupt gestartet wird 17 sek.
    Und von da an 23 Sek bis ich ins login komme!
    Da werden ja auch einige Dinste gestartet.
    Also ohne Bios 50 sekunden


    Mein USB-VDR brauch komplett zum booten 45 sek da muß man aber noch 7 sek fürs rootdelayed verzeihen damit der stick erkannt wird


    Ich habe mir für den USB-Stick am VDR einen eigenen Kernel backen müssen der die module fest drinne hat.Auch Powernow mußte noch mir rein!


    Man wird ja auch erstmal erschlagen mit infos. Was da so alles drin ist.
    Was man alles braucht und und und ...


    Aber ich will einfach wissen was alles noch so geht.Der Kernel von Cooper muß ja auch universell gehalten werden.


    Was ist eigentlich der unterschied zwischen einkopilierten und extra modulen in sachen bootzeit.
    bzimage oder zimage


    Aber das sind schon mal hilfreiche infos.Ich bin schon auf dem weg zum minimalistischen Kernel.


    mal sehen was noch so alles geht.


    Danke Danke Danke!!!

    HauptVDR AMD Goede 1750 Easyvdr 0.06.4
    FF_TT2.3 Skystar2.6c 1x160GB + 1x1TB lautloser Rechner weil er im Keller steht. :D


    2x MediaMVP als Client+VOMPServer-Plugin


    TestVDR AMD Goede 1750 mit TT1.5 Easyvdr 06.*
    Bootet auf einer komischen Weise
    PicoPSU als NT

    Einmal editiert, zuletzt von Dauser ()

  • wenn Du eh schon dabei bist einen eigenen Kernel zu bauen, dann schau Dir doch gleich mal suspend2 an.
    Damit schicke ich meinen Laptop immer in den Suspend(toDisk) Mode. Dann ist KDE immer recht schnell wieder da.
    In meinem CarPC setze ich auch Suspend2+speziellen(Epia) Kernel ein. Dort dauert es bis alles wieder da ist ca 30 Sekunden. (KDE+AmaroK+ein paar Tools)
    schneller geht es kaum.
    Obwohl ich mir mal upstart ansehen will. Das neue Ubuntu setzt ja drauf weil es schneller booten kann als SysvInit.

  • Zitat

    Original von Dauser
    Wie backt man einen schnellen Kernel?


    das weiss ich nicht, aber ich frag mal meine Frau wie man schnell einen Kuchen bäckt. :versteck


    Sven

    VDR1 : PIII - 550 Mhz - 256MB - 160 GB + 250 GB - DVD Brenner - 2 * DVB-S Budget - DXR3 - Etch + e-tobi
    VDR2 : PII - 233 Mhz - 256MB - diskless - DXR3 - c't VDR5 + e-tobi
    VDR3 : S100 - zendeb

    Einmal editiert, zuletzt von svkn ()

  • suspend2 klingt auch nicht schlecht.
    Sysvinit wird auch von Knoppix genommen.Ich habe jetzt mal initng am laufen.
    Die idee die dahinter steckt ist gut obwohl das parallelbooten bei Linvdr oder beim VDR allgmein im 1-2 sekunden bereich liegen wird.
    Das initng hat am Desktop 2-5 Sekunden gebracht am meisten schluckt beim Systemboot udev was auch immer das ist.



    Ich will aber erst mal unten anfangen!


    Wie heist das Spiel nochmal wo man einen Bauklotz nach dem anderen auseinem haufen rauziehen muß bis der haufen umfällt :P

    HauptVDR AMD Goede 1750 Easyvdr 0.06.4
    FF_TT2.3 Skystar2.6c 1x160GB + 1x1TB lautloser Rechner weil er im Keller steht. :D


    2x MediaMVP als Client+VOMPServer-Plugin


    TestVDR AMD Goede 1750 mit TT1.5 Easyvdr 06.*
    Bootet auf einer komischen Weise
    PicoPSU als NT

  • lol

    HauptVDR AMD Goede 1750 Easyvdr 0.06.4
    FF_TT2.3 Skystar2.6c 1x160GB + 1x1TB lautloser Rechner weil er im Keller steht. :D


    2x MediaMVP als Client+VOMPServer-Plugin


    TestVDR AMD Goede 1750 mit TT1.5 Easyvdr 06.*
    Bootet auf einer komischen Weise
    PicoPSU als NT

  • HAllo Dauser mal ein paar Anhaltspunkte von mir
    Zeit vom auffen Knopp drücken bis zum KDE-Login > 50sek
    dann noch mal 25sek bis KDE läuft.
    System Gentoo 2006.1
    Laptop FuSi AmiloK7600
    Kernel ist selbstgemacht nur für mich :)

    Gruß Tom


    99% der ComputerFehler sitzen zwischen Tastatur und Rückenlehne :schiel

  • Zitat

    Original von decembersoul
    In meinem CarPC setze ich auch Suspend2+speziellen(Epia) Kernel ein. Dort dauert es bis alles wieder da ist ca 30 Sekunden. (KDE+AmaroK+ein paar Tools)
    schneller geht es kaum.
    .


    was ist bei dir denn der spezielle epia kernel?
    dachte, dass die epias mitlerweile, von ausnahme der sensoren und longhaul gut unterstützt sind vom standardkernel.


    Du nutz wahrscheinlich die hibernate scripte oder?


    hast du usb geräte angeschlossen? Ich nutz ne cinergy t2 und nen usb wlan adapter mit ndiswrapper, und in mindestens der hälfte der fälle zickt der vdr bzw mein wlan und ich hab usb im verdacht.


    Lässt du den vdr neustarten, beim suspend?
    Ich musste in den scripten einstellen dass der vdr gestoppt und neugestart wird, dass ich den vdr überhaupt nutzen kann bei nem resume.


    nutzt du das normale bios oder hast du linuxbios am laufen. (Auf meinem SP 13000 dauert es 17 sec bis endlich grub kommt !!!)


    ich lieg momentan bei ca 40sec zum resumen, aber da es meistens eh nicht klappt, nutz ich suspend kaum.


    Ich nutze gentoo 2006.1 mit fluxbox.


    Grüße

  • Zitat

    Original von tr500
    Zeit vom auffen Knopp drücken bis zum KDE-Login > 50sek
    dann noch mal 25sek bis KDE läuft.


    Den kann ich wechseln :mua


    Von Grub Boot Auswahl bis login zur Konsole :
    hjslfs-1.0.6.3 ( mit ftp Server - kein hotplug - Kernel 2.6.17.13 - libc-2.3.6 ) : 14 Sek
    hjslfs-1.0.10 ( mit hotplug - Kernel 2.6.18.1 - libc-2.5 ) : 15 Sek
    von startx bis KDE ( X7.1/KDE 3.5.4 ) einsatzklar : 24 Sekunden


    bei KDE autologin .


    HJS

  • Nun sieht das so aus Ich habe aus dem Kernel v4lin und das DVB zeugs rausgenommen da der Kernel für mein Desktop ist wo ich sowas nicht brauch.Mit DVB kommt später!


    Alles leuft soweit und nicht schlecht.
    Standard boot von grub bis login in die KDE:
    Mit Kernel und initng


    Kernel laden 8 Sekunden und 30 Sekunden zusätzlich für das System also zusammen 38 Sekunden.



    Ob noch alles funzt muß ich noch sehen aber bisher sieht´s gut aus.
    Ich habe gegenüber dem original (55s) 17 sekunden weck gemacht!


    Ich hänge mal meine config an da sind 100% nocht fehler drin.
    Vielleicht hat ja einer lust mal drüberzu schauen.Ich bin immer noch anfänger!



    edit:
    Ohne initng schaffe ich das booten von grub bis KDELogin sogar in 32 sekunden.


    nur habe ich so keine konsole als user zur verfügung lol

    Zitat

    Konsole kann kein PTY (Pseudo Teletype) öffnen. Dies liegt wahrscheinlich an einem Fehler in der Einrichtung der PTY-Geräte. Konsole benötigt Lese- und Schreibzugriff auf die PTY-Geräte.

    Dateien

    HauptVDR AMD Goede 1750 Easyvdr 0.06.4
    FF_TT2.3 Skystar2.6c 1x160GB + 1x1TB lautloser Rechner weil er im Keller steht. :D


    2x MediaMVP als Client+VOMPServer-Plugin


    TestVDR AMD Goede 1750 mit TT1.5 Easyvdr 06.*
    Bootet auf einer komischen Weise
    PicoPSU als NT

    Einmal editiert, zuletzt von Dauser ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!