Initrd Probleme

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
eeknay
Beiträge: 37
Registriert: 01.11.2003 19:14:09

Initrd Probleme

Beitrag von eeknay » 03.04.2005 18:53:52

Hallo zusammen.

Ich hab hab eben ein Kernelupdate gemacht. Habe mir die Quellen von kernel.org geladen und alles nett zusammengebastelt. Jetzt läst sich die Kiste leider nicht mehr booten und es liegt offensichtlich an der initrd Option in meinem Bootloader (lilo).

Wenn ich den Kernel (2.6.8.irgendwas) kompiliere finde ich leider nirgends ein initrd.img. Dann hab ich es satt gehabt und habe mir per apt-get die fertigen Sachen geladen.
Dabei tritt leider das Problem auf, dass ich die Kernel-"Sachen" nirgends finden kann. Es gibt zwar ein Image, initrd, Systemmap in meiner Bootpartition, nur möchte ich ja auch noch ein paar Einstellungen an dem Kernel vornehmen.

Ich würde also gerne wissen "wie" ich das initrd per händisch gelöst bekomme und wie das mit den Kerneleinstellungen in Verbindung mit apt-get funktioniert.

Grüsse,
eeknay

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

Beitrag von KBDCALLS » 03.04.2005 18:56:35

Eine Initrd erstllt man mit

Code: Alles auswählen

 mkinitrd
. Wie hast du kompiliert, und wie konfiguriert?
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.

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 03.04.2005 19:10:01

...und brauchst du wirklich eine Initrd?

Benutzeravatar
eeknay
Beiträge: 37
Registriert: 01.11.2003 19:14:09

Beitrag von eeknay » 03.04.2005 19:47:45

Also das ich initrd brauche habe ich einfach mal angenommen nachem ich ein wenig über folgenden Fehler gelesen haben

Code: Alles auswählen

...Please append the correct "root= " boot option
   not syncing: VFS: Unable to mount root fs on unknown-block(3,8)
in Verbindung mit

Code: Alles auswählen

cannot open root device "308" or unknow-block(3,8)
nachdem ich den ersten Fehler scheinbar behoben hatte.

Gruß,
eeknay

Benutzeravatar
eeknay
Beiträge: 37
Registriert: 01.11.2003 19:14:09

Beitrag von eeknay » 03.04.2005 19:49:34

KBDCALLS hat geschrieben:Eine Initrd erstllt man mit

Code: Alles auswählen

 mkinitrd
. Wie hast du kompiliert, und wie konfiguriert?
Konfiguriert habe ich es mit dem menuconfig Interface und kompiliert mit

Code: Alles auswählen

make && make modules_install
Gruß,
eeknay

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

Beitrag von KBDCALLS » 03.04.2005 20:11:34

Wenn du eine Initrd haben willst kompiliere mit

Code: Alles auswählen

 make-kpkg --initrd kernel-image 
und installiere das Deb mit

Code: Alles auswählen

dpkg -i 
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.

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 03.04.2005 20:17:13

eeknay hat geschrieben:Also das ich initrd brauche habe ich einfach mal angenommen nachem ich ein wenig über folgenden Fehler gelesen haben [...]
Ja, klar. Der Fehler kommt von der fehlenden/falschen/what ever Initrd. Du hast sie ja in Lilo anscheinen drin stehen. Wenn du aber keine besondere Hardware nutzt und die Module für diese fest in den Kernel einbindest kannst du AFAIK die Initrd komplett weglassen. Also die entsprechende Zeile in Lilo weglassen.
Verbessert mich, wenn ich falsch liege...
Ich benutzte auf jeden Fall keine Initrd mehr, seitdem ich ähnliche Probleme hatte und alles tut...

Bye
Trigger

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 03.04.2005 20:19:59

Wenn du aber keine besondere Hardware nutzt und die Module für diese fest in den Kernel einbindest kannst du AFAIK die Initrd komplett weglassen. Also die entsprechende Zeile in Lilo weglassen.
8O du hier
http://www.linuxfibel.de/booten.htm#ramdisk

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 03.04.2005 20:34:38

Also braucht er keine Initrd, wenn er seinen Kernel selbst baut und das Modul für den Festplatten-Controller fest einbindet. Oder?

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

Beitrag von KBDCALLS » 03.04.2005 20:44:21

Wenn du genau weiß was du tust dann brauchst du keine Initrd.
Vorausetzung ist die richtigen Treiber für den Hostapter und das richtige Filesytem .,
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.

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 03.04.2005 20:46:25

Dann sind wir uns ja einig :D
Er muss halt die richtigen Module im Kernel einbauen...

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 03.04.2005 21:57:55

@ KDBCALLS

ob ich eine initrd benötige ist doch in erster linie eine frage wie groß mein kernel ist oder nicht ...?
d.h. wenn der kernel mehr speicherplatz im ram (während des bootvorganges benötigt) als real mode bei den x86 zu verfügung stellt DANN muss ich mir mit einem initrd file (ist ja ein ROM file) helfen

in einfachen worten - ich kann 100mal wissen was genau ich mache - wenn mein kernel zu groß ist dann hat er keinen platz und ich muss mir über den umweg initrd und ramdisk helfen



markus
Zuletzt geändert von meandtheshell am 04.04.2005 13:13:40, insgesamt 1-mal geändert.

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

Beitrag von KBDCALLS » 03.04.2005 23:25:06

Vieles was im Orignalkernel enthalten ist , brauch ich ja eigentlich garnicht, bislang habe ich noch keinen Kernel gehabt der deswegen zu groß geworden ist weil ich keine Initrd benutzt habe. Wenn ich (und das sind die meisten Rechner ] reine IDE Rechner habe dann muß ich aber wissen welche Southbridge mein Rechner nutzt , ansonsten funktioniert hdparm nicht richtig. Bei SATA braucht man SCSI .
Und damit nicht so schnell ans Limit stößt wird der Kernel als bzImage erstellt. Bei den 2.0 Kernel die als zImage erstellt wurden, da mußte man wirklich aufpassen, da konnte es einem passieren das man ganz schnell über dem Limit war.

Eine Initrd wird nicht so sehr wegen der Größe des Kernels gebraucht, sondern eine Distri soll sich auf möglichst vielen Rechnern "out of the Box" installieren lassen. Ohne das erst umständlich einen Kernel zu bauen muß oder sich passende Installationsdisks besorgen. muß.
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.

Benutzeravatar
eeknay
Beiträge: 37
Registriert: 01.11.2003 19:14:09

Beitrag von eeknay » 03.04.2005 23:27:45

meandtheshell hat geschrieben:
*snip*

in einfachen worten - ich kann 100mal wissen was genau ich mache - wenn mein kernel zu groß ist dann hat er keinen platz und ich muss mir über den umweg initrd und ramdisk helfen

oder liege ich da falsch?

markus
Hi. Von dieser Seite habe ich das noch nicht betrachtet...das könnte tatsächlich der fehler sein. Ich geh mal nachschaun.

Zum Thema "initrd brauch ich nicht und warum überhaupt in die config":

Das Problem tauchte leider schon vorher auf.

Gruß,
eeknay

Benutzeravatar
eeknay
Beiträge: 37
Registriert: 01.11.2003 19:14:09

Beitrag von eeknay » 03.04.2005 23:33:18

Also, der Kernel ist 1,4mb groß. Meine Boot Partition hat 10 von 32mb belegt, dass solte wohl ausreichen.

eeknay

Benutzeravatar
eeknay
Beiträge: 37
Registriert: 01.11.2003 19:14:09

Beitrag von eeknay » 03.04.2005 23:35:34

Trigger. hat geschrieben:Also braucht er keine Initrd, wenn er seinen Kernel selbst baut und das Modul für den Festplatten-Controller fest einbindet. Oder?
Richtig. Das hat bisher immer funktioniert und das initrd habe ich nur im Fall von Bootscreens benutzt.

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

Beitrag von KBDCALLS » 03.04.2005 23:57:20

eeknay hat geschrieben:Also, der Kernel ist 1,4mb groß. Meine Boot Partition hat 10 von 32mb belegt, dass solte wohl ausreichen.

eeknay
Der Platz auf der Bootpartiton ist nicht entscheidend. Entscheidend ist das Ram. Das hies im Falle eines zImages welches in den Speicher unterhalb 640 KB grenze Geladen wird. Der Kernel muß darein passen. Ansonsten gings daneben . Ein bzImage wird in den oberen Speicher geladen , hier spielt die Grenze dann keine Rolle mehr.
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.

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 04.04.2005 13:11:11

eeknay hat geschrieben:
Trigger. hat geschrieben:Also braucht er keine Initrd, wenn er seinen Kernel selbst baut und das Modul für den Festplatten-Controller fest einbindet. Oder?
Richtig. Das hat bisher immer funktioniert und das initrd habe ich nur im Fall von Bootscreens benutzt.
Na, dann!
Ist doch top! Warum willst du dann jetzt eine Initrd? Für den Bootscreen kannst du ja immernoch eine leere Initrd erstellen und da den Bootscreen rein kopieren.

Benutzeravatar
eeknay
Beiträge: 37
Registriert: 01.11.2003 19:14:09

Beitrag von eeknay » 04.04.2005 14:08:50

Naja, jedenfalls gehts jetzt.

Ich habe einfach per apt-get ein kernel-image geladen und dann dessen Config File in die Kernel Sourcen von kernel.org geladen und voilá es geht.
Es hat scheinbar an irgendwelchen IDE Einstellungen gelegen die fehlten oder so.

Gruß,
eeknay

hennes@debian
Beiträge: 465
Registriert: 18.01.2005 02:11:40
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz - Kanton St. Gallen
Kontaktdaten:

Beitrag von hennes@debian » 04.04.2005 17:17:00

..Please append the correct "root= " boot option
not syncing: VFS: Unable to mount root fs on unknown-block(3,8)
Standardfehler: Die ide-Module für die Festplatten sind nicht in den Kernel einkompilliert sondern als module kompilliert worden... Ohne ide-module kann der Kernel nicht auf die Festplatte zugreifen und seine module laden, deswegen müssen sie direkt einkompilliert werden... Auser du hast SCSI, dan wären es die SCSI-Module... Ev müssen die fs-module auch direkt einkompilliert sein...

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

Beitrag von KBDCALLS » 04.04.2005 18:46:33

hennes@debian hat geschrieben:

Standardfehler: Die ide-Module für die Festplatten sind nicht in den Kernel einkompilliert sondern als module kompilliert worden... Ohne ide-module kann der Kernel nicht auf die Festplatte zugreifen und seine module laden, deswegen müssen sie direkt einkompilliert werden... Auser du hast SCSI, dan wären es die SCSI-Module... Ev müssen die fs-module auch direkt einkompilliert sein...
Wieso müssen die IDE Module? . Nur wenn sie nicht fest in den Kernel kompiliert sind sind dann brauchts eine Initrd. Bei einem Original Debian Kernel wird das ja auch über ne Initrd geregelt. Egal ob 2.4.xx oder 2.6.xx
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.

hennes@debian
Beiträge: 465
Registriert: 18.01.2005 02:11:40
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Schweiz - Kanton St. Gallen
Kontaktdaten:

Beitrag von hennes@debian » 04.04.2005 19:03:20

Da beim make-kpkg normalerweise keine Initrd installiert wird... Kanst natürlich auch eine Initrd erstellen, aber wiso wenns auch ohne geht? Bei mir gehts problemlos nach dem ich dieses Problem behoben habe :)

Naja, hab merere Stunden gebraucht um für jedes Modul zu entscheiden ob ich es brauche oder nicht... Aber dafür hab ich mit lsmod nur noch 5 Module geladen...

Tip:
http://www.debian.org/releases/stable/i ... nel-baking

Antworten