initrd rauswerfen

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
guennid

initrd rauswerfen

Beitrag von guennid » 28.10.2007 10:55:57

Bevor ich lange rumprobiere: Kann mir jemand sagen, was alles ich in der kernel-config zum etch standard-kernel (2.6.18 ) abschalten muss, um selbigen ohne initrd neu zu kompilieren?

Grüße, Günther

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 28.10.2007 11:01:51

Es ist nicht so sehr eine Frage, was du abschaltest, als eine Frage was du fest in den Kernel kompilierst, damit der auch bootet.
Du musst den Treiber für den Controller, an dem deine /-Platte hängt fest einbinden (und dazu auch den IDE oder SCSI Support), sowie dein /-Dateisystem.

guennid

Beitrag von guennid » 28.10.2007 11:12:13

Das ist mir klar, aber in der config des standard-kernels ist die initrd halt drin und ich möchte wissen, welche Module ich wo rauskicken muss, damit der kernel läuft. soweit ich mich erinnere, ist es mit

Code: Alles auswählen

CONFIG_BLK_DEV_INITRD
nicht getan.

Grüße, Günther

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 28.10.2007 11:20:57

Rauskicken muss du gar nichts, mein momentaner Kernel bootet ohne Initramdisk hat aber CONFIG_BLK_DEV_INITRD=y in der .config, weil ich das wohl übersehen habe.

Benutzeravatar
finupsen
Beiträge: 1327
Registriert: 21.04.2004 20:07:05
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von finupsen » 28.10.2007 13:24:54

welchen vorteil hat man denn dadurch ?

Ich hab das bis vor ca. 2 jahren auch immer gemacht. Einen unterschied zu jetzt (mit initrd und kernelmodule)
kann ich nicht feststellen. Mein debian fühlt sich immer noch gleich an ;)

Die zeit der 1,44MB-Disketten sind auch vorbei ... also, warum ?

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 28.10.2007 13:32:43

Also ich war immer zu faul mich mit dem Bauen einer Initramdisk auseinanderzusetzen.

guennid

Beitrag von guennid » 28.10.2007 13:34:28

Ich mag kein udev, das Teil bringt mir nichts und macht nur Probleme. udev wirst du aber beim standard-kernel nicht los, weil dieser initrd verlangt, was widerum udev verlangt. Ist so ein bißchen wie bei win 8O

Grüße, Günther

Benutzeravatar
finupsen
Beiträge: 1327
Registriert: 21.04.2004 20:07:05
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von finupsen » 28.10.2007 13:38:05

Spasswolf hat geschrieben:Also ich war immer zu faul mich mit dem Bauen einer Initramdisk auseinanderzusetzen.
ja, stimmt. Dazu wäre ich auch zu faul. Deswegen lasse ich mir die bauen, mit "make-kpkg --initrd ... "... ;)

guennid

Beitrag von guennid » 28.10.2007 14:06:32

Spasswolf hat geschrieben:Rauskicken muss du gar nichts, mein momentaner Kernel bootet ohne Initramdisk
Und bei der Installation verlangt er keine initramfs-tools?

Grüße, Günther

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Beitrag von Spasswolf » 28.10.2007 14:08:38

Ich hab den auch Kernel nicht mit "make-kpkg --initrd" kompiliert, sondern nur mit "make-kpkg".

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 28.10.2007 14:16:21

hi,
Günther Ditthardt hat geschrieben:Ich mag kein udev, das Teil bringt mir nichts und macht nur Probleme.
meine Worte :D
Günther Ditthardt hat geschrieben:udev wirst du aber beim standard-kernel nicht los, weil dieser initrd verlangt, was widerum udev verlangt.
nicht direkt, der Standard-Kernel braucht eine initrd. Die wird normal
von initramfs-tools gebaut. Das hängt von udev ab. Man kann die
initrd aber auch von yaird bauen lassen und yaird braucht kein udev.
Beware of programmers who carry screwdrivers.

Benutzeravatar
finupsen
Beiträge: 1327
Registriert: 21.04.2004 20:07:05
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von finupsen » 28.10.2007 14:17:11

ok, also dann hätten wir jetzt 2 argumente:

1. faulheit
2. Ist so ein bißchen wie bei win

Gibt es noch andere argumente ?

Nochmal die frage:
Welchen vorteile verschaffe ich mir, wenn ich: 1. sämtliche benötigten module
fest in das kernel einbaue und 2. wenn ich auf initrd und udev verzichte ?

BTW: bitte nicht als geflame verstehen, ich will das wirklich wissen ;)

guennid

Beitrag von guennid » 28.10.2007 15:05:49

cosmac hat geschrieben:Man kann die initrd aber auch von yaird bauen lassen
Das weiß ich.
Herr hilf! Ich brauche keine initrd und ich brauche schon gar kein udev :lol:
finupsen hat geschrieben:Welchen vorteile verschaffe ich mir, wenn ich: 1. sämtliche benötigten module
fest in den kernel einbaue
Das ist hier eigentlich nicht das Problem :wink:
finupsen hat geschrieben:und 2. wenn ich auf ... udev verzichte
Schont deine Nerven :wink:

Im Ernst: noch nie Probleme wegen udev gehabt? Ei, dann würd' ich doch dabei bleiben. Man muss ja nicht ohne leben.
udev bringt es fertig, dass USB-Sticks, die jahrelang ohne udev funktioniert haben, mit udev nicht mehr funktionieren. Es kann dir deine Netzwerkkonfiguration durcheinanderbringen. Such mal mit Stichwort udev. Da kriegst du eine Menge Beispiele, was das Teil alles vermurksen kann. "Kann" wohlgemerkt!

Grüße, Günther

edit:
@Spasswolf: OK dann check ich das mal mit dem controller, IDE und SCSI und lass die initrd-Option bei der Kompilation einfach weg. Wir werden sehen.

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 28.10.2007 15:59:31

Günther, ich bin ganz deiner Meinung. yaird hab' ich nur erwähnt,
weil du auf die Paket-Abhängigkeiten geschimpft hast. Natürlich
wollen wir beide kein udev und natürlich brauchen wir keine initrd
und meine Kernel laufen auch ohne.

Laß doch einfach den initrd-Support raus und gut ist.

Vor allem kommt es doch auf die Anwendung an. Wenn ein System
möglichst auf jeder Hardware laufen soll, ist eine initrd die Lösung.
Dann werden genau die passenden Module nachgeladen und man
hat ein flexibles System mit kleinem Kernel. Daß udev (noch) nicht
alle Hardware kennt, nimmt man dabei in Kauf.

Ganz anders sieht's aus, wenn ich einen ganz bestimmten Rechner
optimieren will oder aus anderen Gründen einen speziellen Kernel
bauen will. Dann kann ich gleich die zum Booten nötigen Module fest
einbauen. Eine initrd ist dann schlicht unnötig.

Wenn ich dann noch alle für den Rechner nötigen Module fest einbaue,
kann ich den kompletten Modul-Mechanismus weglassen. Dann kann
ein Root-Kit keine Module nachladen. Ich glaub allerdings nicht, daß
das viel hilft. Module von Hand zu laden hilft aber bei der Fehlersuche.

Mit einem Kernel ohne initrd (oder einer mit yaird gebauten) kann
man dann frei entscheiden, ob man udev installieren will oder nicht.
Gnome- oder KDE-Benutzer mögen es wohl, daß ein Icon erscheint
wenn man ein USB-Gerät ansteckt - meinetwegen. Mir ist ein
"mount /dev/sda1 /mnt" lieber, das funktioniert wenigstens.

Ich kenne keine Funktion von udev, die mir irgendwie helfen könnte.
Warum sollte ich also eine zusätzliche Fehlerquelle einbauen?
Beware of programmers who carry screwdrivers.

guennid

Beitrag von guennid » 28.10.2007 16:28:37

cosmac hat geschrieben:Mir ist ein
"mount /dev/sda1 /mnt" lieber, das funktioniert wenigstens.

Ich kenne keine Funktion von udev, die mir irgendwie helfen könnte.
Warum sollte ich also eine zusätzliche Fehlerquelle einbauen?
Da sind wir Brüder im Geiste :lol:

Du hast doch meinen Stoßseufzer "Herr hilf" hoffentlich nicht als Kritik aufgefasst?
Ich werd's bei Gelegenheit so machen, wie von dir und Spasswolf beschrieben. Auf meinen eigenen Rechnern verwende ich sowieso einen von Grund auf selbst aufgebauten kernel. Der hier soll auf anderer Leut Maschinen laufen. Dafür habe ich keine Zeit, den kernel gründlich durchzukomponieren, und ebensowenig für das dann zu erwartende udev-Geeiere. Deswegen: Standard, aber ohne initrd.

Grüße, Günther

Benutzeravatar
finupsen
Beiträge: 1327
Registriert: 21.04.2004 20:07:05
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von finupsen » 28.10.2007 18:47:44

Also fassen wir zusammen: Die frage, ob udev oder nicht, ist eine ideologische frage, oder anders, mir entstehen
keinerlei nachteile, wenn ich udev benutze, ausser das es manchmal nicht funktionieren könnte (mittlerweile selten,
tendenziell wirds besser) und das, wenn ich ein usbstick einstöpsel, ein icon auf meinem desktop erscheint ;)

fazit: wenn es nicht unbedingt nötig ist, die initrd und udev so lassen, wie es ist ... (IMHO)

edit: Diese fazit muss neu überdacht werden, sollte doch noch ein totschlag-argument folgen ;)

Athlux
Beiträge: 543
Registriert: 16.05.2004 22:15:56

Beitrag von Athlux » 29.10.2007 13:45:54

cosmac hat geschrieben: Gnome- oder KDE-Benutzer mögen es wohl, daß ein Icon erscheint
wenn man ein USB-Gerät ansteckt - meinetwegen. Mir ist ein
"mount /dev/sda1 /mnt" lieber, das funktioniert wenigstens.
Dafür ist aber nicht udev sondern hal zuständig. Wenn man hal nicht installiert kommen auch keine Icons auf den Desktop wenn man das Device anstöpselt.

Meine Probleme beginnen da eher mit hal.
cosmac hat geschrieben: Ich kenne keine Funktion von udev, die mir irgendwie helfen könnte.
Warum sollte ich also eine zusätzliche Fehlerquelle einbauen?
Das ist eine gute Frage.

Ich habe auch lange kein udev auf meinem Rechner installiert.

Die Skripte sind nicht grad benutzerfreundlich. Ansonsten gab es früher mal Probleme mit dem nvdia Treiber. udev benennt auch eventuelle Netzwerk-Interfaces um. Aber das ist auch kein Problem, dass man nicht durch das Editieren einer Textdatei beseitigen kann.

udev ist bei mir nur installiert, weil der dann beim Einstecken meiner USB-Platte erkennt welche es ist (Ich habe 2 Stück) und dann entsprechend das jeweilige Backup startet.

Das könnte man eventuell auch anders lösen, von daher sind die Vorteile für mich eigentlich auch mininmal.
Aber jedem seine eigene Entscheidung. Aber wie schon gesagt für die Icons im Dateimanager ist hal zuständig und nicht udev.
Gruß Athlux

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Beitrag von cosmac » 29.10.2007 16:11:01

hi,

aber funktioniert hal ohne udev oder wie bekommt hal das mit?
Doch nicht etwa mit dem alten hotplug? Oder noch schlimmer,
mit einer dritten Technik?

Oder ist hotplug etwa noch aktuell? Damit könnte man ganz
einfach eigene (z.B.) Backup-Scripte bauen.
Athlux hat geschrieben:udev benennt auch eventuelle Netzwerk-Interfaces um. Aber das ist auch kein Problem, dass man nicht durch das Editieren einer Textdatei beseitigen kann.
Na klar kann man alles reparieren, aber wie wär's, wenn man
es garnicht erst kaputt macht? :evil:
Ich bleib' dabei, der udev-Aufwand steht in keinem Verhältnis zum
Nutzen. Das erinnert mich an eine alte chinesische Bauernregel:
Computer lösen Probleme, die wir ohne sie garnicht hätten.
Beware of programmers who carry screwdrivers.

Benutzeravatar
shevegen
Beiträge: 416
Registriert: 30.03.2004 00:32:53

Beitrag von shevegen » 30.10.2007 01:15:53

Ich mag kein udev, das Teil bringt mir nichts und macht nur Probleme.
Da scheinst du nicht der einzige zu sein... was auf diversen IRC Channels ab und zu über udev geflucht wird ist unglaublich :)

Manchmal fragt man sich, ob Affen in der Kernelentwicklung die Entscheidungen treffen.

Athlux
Beiträge: 543
Registriert: 16.05.2004 22:15:56

Beitrag von Athlux » 01.11.2007 21:16:43

Wenn man in die Abhängikeiten schaut dann sieht man das hal auf udev aufsetzt.

Ansonsten hat jeder Automatismus natürlich seine Fehler. Glücklicherweise wird man weder zu hal und udev gezwungen.

Wobei es schon seine Vorteile hat wenn man einfach einen USB-Stick einstecken kann und gleich alles im Dateimanager erscheint. Sehr praktisch auch dann wenn mehrere Leute mit dem Stick kommen weil sie etwas interessantes auf dem Notebook gesehen haben, dass sie jetzt auch unbedingt haben wollen. Wenn man da mal 10 Sticks die alle unterschiedlich partitioniert sind nacheinander an den Rechner steckt wünscht man sich was automatisiertes.
Gruß Athlux

crazyed

Beitrag von crazyed » 01.11.2007 22:18:15

:cry: Ich will auch meinen Vorkriegs-VW-Käfer mit dem nicht synchronisierten Getriebe wieder haben...

Nee, mal im Ernst. udev, hal & z.B. /etc/init.d/modules sind eingerichtet worden damit banale Sachen automatisch eingebunden werden. Daß es bei zig-tausend verschiedenen Hartware-Kombinationen mal hier und da zu Schwierigkeiten kommen kann ist doch verständlich.
Da ich grade an einem Gentoo sitze hier mal ein Auszug aus der /etc/udev/udev.conf
# Implictly blacklist the modules listed in modules.autoload
# so that udev (with coldplugging) does not load them
# but /etc/init.d/modules will do later.
# This can guarantee correct load order needed for
# some subsystems (like alsa, v4l, dvb, ...).
# It should be generally safe.
Also kommt es schon auf die Reihenfolge der zu ladenden Module/Hartware an, ob auch die Dienste erfolgreich eingebunden werden. Was nützt es die Netzwerkverbindung zu starten bevor die Netzwerkkarte eingebunden wurde...

Leider hab' ich solche Probleme nicht, auch bootet mein Kernel mit initramfs, keine initrd mehr nötig. Was mich viel mehr nervt ist, daß ich mich durch den Kernelkram kämpfen muss um nachzusehen ob für meine Hartware Neuerungen enthalten sind. Ich bau meine Kernel immer selbst.

guennid

Beitrag von guennid » 04.11.2007 10:42:07

Athlux hat geschrieben: Sehr praktisch auch dann wenn mehrere Leute mit dem Stick kommen
Dagegen kann ich nicht anstinken, weswegen ich das Gespann + KDE auf meinen Bibliotheksrechnern auch laufen lasse, aber auch nur da :twisted: :!:

Grüße, Günther

storm
Beiträge: 1581
Registriert: 01.05.2004 13:21:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DE

Hu?

Beitrag von storm » 04.11.2007 14:19:54

Es ist mir immer noch absolut unerklärlich, warum ihr/so viele andere Leute auf udev rumhacken. devfs ist ein toter Ast, udev ist die Entwicklung, die fortgeführt wird. Gründe gibt es genug und udev ist die konsequente Umsetzung davon. Wird udev mit der richtigen Konfiguration geliefert (bei debian und anderen aktiven Distris eigentlich mittlerweile der Fall), läuft der ohne jeglichen Eingriff im Hintergrund. Wer trotzdem eigene Anpassungen machen möchte, sollte die Doku lesen - das trifft aber auf fast jede Software zu, die komplexer als netstat (nur als Beispiel *g) ist.
Hier läuft die Software seit den Anfängen, natürlich hat es ein paar fiese Punkte gegeben, bei welchen man arge Zweifel bekommen hat (etwa die Syntax-Umstellung der Konfiguration). Aber die Kontrolle über devices und ihr Zusammenspiel mit kernel/treiber, die man in die Hand bekommen hat, möchte ich nicht mehr missen.

Initrd? Auch so ein veralteter Kram, den eigentlich keiner weiter braucht. Mir fällt i.A. nur splashscreen ein, dass initrd vorraussetzt, aber das ist Spielkram (und in Zukunft wird der Zwang auch mal wegfallen). Und das Installations- bzw. Distri-Kernel sowas (noch) haben müssen, ist klar. Bei der immer weiter steigenden Rechenleistung wird irgendwann mal der Wunsch aufkommen, gleich bei der Installation eines Systems einen fertig angepassten Kernel zu erstellen, zielgenau auf die vorhanden Hardware abgestimmt. Prinzipiell könnte man das jetzt schon machen, die Grundlagen existieren schon (zB udev). Es mangelt noch an der korrekten Erkennung bzw. Unterstützung von Hardware.

ciao, storm
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22454
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 04.11.2007 14:47:34

Naja devfs gibts es schon längere Zeit nicht mehr im Kernel . Das ist schon seit 2.6.13 rausgeflogen , wenn ich micht nicht irre. Und das udev nicht ganz astrein war läßt sich auch nicht bestreiten. Stellenweise wars so das es komplete verworfen worden ist, und man einfach von einer Vorversion aus weitergemacht hat.
Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

guennid

Beitrag von guennid » 04.11.2007 16:39:40

@storm
Du musst dich darüber nicht aufregen.
Das Problem ist einfach, dass das Teil für mich wahrscheinlich viel zu gut ist.
Also beruhig dich, mit udev ist alles in Ordnung. Ich bin es, der zum Doktor muss.

Grüße, Günther

Antworten