initrd beim kernelbauen
initrd beim kernelbauen
hallo
also bin dabei mir ne kernel zu bauen
jetzt habe ich den kernel erstellt mit :
make-kpkg buildpackage -rev Custom.1 kernel_image
habe lilo aktualisiert doch lilo sagt mir :
Fatal: open /initrd.img: No such file or directory
ich habe noch nicht mal ne initrd angegeben nur mein aktueller kernel hat das noch !
ich bin jetzt ratlos muss ich doch eine erstellen und wenn wie ?
kann ich das beim kernel bauen auch irgend wo sagen das das nicht mit initrd gemacht werden soll und wenn wo ? (module fest einbinden)
ich habe schon gesucht aber die boardsuche hier geht ja irgend wie nicht bin auch nicht bei google,de fündig gewurden ...
also bin dabei mir ne kernel zu bauen
jetzt habe ich den kernel erstellt mit :
make-kpkg buildpackage -rev Custom.1 kernel_image
habe lilo aktualisiert doch lilo sagt mir :
Fatal: open /initrd.img: No such file or directory
ich habe noch nicht mal ne initrd angegeben nur mein aktueller kernel hat das noch !
ich bin jetzt ratlos muss ich doch eine erstellen und wenn wie ?
kann ich das beim kernel bauen auch irgend wo sagen das das nicht mit initrd gemacht werden soll und wenn wo ? (module fest einbinden)
ich habe schon gesucht aber die boardsuche hier geht ja irgend wie nicht bin auch nicht bei google,de fündig gewurden ...
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
du hast --initrd vergessen. Du kannst dir aber eine initrd mit mkinitrd bauen.
mkinitrd -o /boot/initrd kernelrversion
mkinitrd -o /boot/initrd kernelrversion
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:
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.
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Der make-kpkg Aufruf muß damit beim Installieren des Kernelimages eine Initrd erstellt wird so lauten
Kernelversion ist natürlich die Version deines Kernels mit gemeint. So sähe es aus wenn ich bei einem laufen Kernel 2.6..9 für einen Kernel 2..6.7 eine Initrd erstellen wollte
Wenn man natürlich alles in den Kernel hineinkompiliert , was zum Booten des Systems benötigt wird dann braucht man allerdings keine Initrd, wenn ich aber eine Originalkonfig von Debian 1 zu 1 übernehme dann allerdings ja.
Code: Alles auswählen
make-kpkg --initrd buildpackage -rev Custom.1 kernel_image
Code: Alles auswählen
mkintrd -o /boot/initrd.img-2.6.7-1-386 2.6.7-1-386
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:
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.
Hallo
Also baue gerade mit make-kpkg buildpackage -rev Custom.1 kernel_image meinen kernel also brauche ich danach dann einfach nochmal
make-kpkg --initrd buildpackage -rev Custom.1 kernel_image
eingeben und habe meine initrd !
der kernel is ja noch nicht am laufen also fällt
mkintrd -o /boot/initrd.img-2.6.7-1-386 2.6.7-1-386 weg ?
Also baue gerade mit make-kpkg buildpackage -rev Custom.1 kernel_image meinen kernel also brauche ich danach dann einfach nochmal
make-kpkg --initrd buildpackage -rev Custom.1 kernel_image
eingeben und habe meine initrd !
der kernel is ja noch nicht am laufen also fällt
mkintrd -o /boot/initrd.img-2.6.7-1-386 2.6.7-1-386 weg ?
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Das hast du falsch verstanden, wenn du einen Kernel hast für den du eine Initrd erstellen willst, dann mit mkinitrd, aber wenn du einen neuen Kernel kompilierst der eine Initrd brauch dann immer mit
Code: Alles auswählen
make-kpkg --initrd build-package --rev
--initrd ist eine Option von make-kpkg
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:
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.
- KBDCALLS
- Moderator
- Beiträge: 22455
- Registriert: 24.12.2003 21:26:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
Der mkinitrd Aufruf was fast richtg
Bei mir sind zum Beisoiel zwei Kernel installier 2.6.7 und 2.6,9
2.6.7-1-386
2.6.9-1-k7
Das sähe dann zum Beispiel so aus für die Kernel
Wobei der Name hinter -o noch nicht mal so wichtig ist. Der muß natürlich dann richtig in die Lilo.conf oder in menu.lst des Grubs eingetragen werden. Der letzte Teil der Befehlszeile muß stimmen, da die Module normal in /lib/moduls stehen würden und Debian legt noch mal ein Unterverzeichnis für jeden Kernel darin an.
Bei mir sind zum Beisoiel zwei Kernel installier 2.6.7 und 2.6,9
2.6.7-1-386
2.6.9-1-k7
Das sähe dann zum Beispiel so aus für die Kernel
Code: Alles auswählen
Für Kernel 2.6.7
mkinitrd -o /boot/initrd.img-2.6.7-1-386 2.6.7-1-386
Für Kernel 2.6.9
mkinitrd -o /boot/initrd.img-2.6.9-1-k7 2.6.9-1-k7
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:
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.
Du kannst auch einfach
Das impliziert "mkinitrd" !
Dabei wird auch automatisch der bootloader angepasst egal ob Grub oder Lilo!
Ausserdem wird auch der Link des compilierten kernels (bei dir /boot/vmlinuz-2.6.9)
auf /boot/vmlinuz aktualisiert ! Auch /boot/initrd-2.6.9.img
wird auf /boot/inird.img gelinkt!
und die entsprechende System.map, kernel.h angepasst
Wenn du ein initrd partout mit der Hand machen willst und alle links von manuell
anpassen willst, dann muss natürlich die Version des Modulverzeichnisses
der neugebauten Module(make modules_install) angegeben werden!
bzw
ist ausreichend!
Danach ist dann unbedingt darauf zu achten, dass der Kernel den du booten willst, auf das initrg.img zugreift welches in /boot mit der entsprechenden version liegt!
Bootloader anpassen!
Das mkinitrd ist insbesondere wichtig wenn beim booten auf einen Partitions(Typ) (zb reiserfs oder scsi) zugegriffen werden soll und die entsprechenden Module nicht fest eingebunden sind .
Ich hoffe es ist jetzt etwas klarer![Smile :)](./images/smilies/icon_smile.gif)
Code: Alles auswählen
# cd /usr/src/linux(kernelversion)
# make install
Dabei wird auch automatisch der bootloader angepasst egal ob Grub oder Lilo!
Ausserdem wird auch der Link des compilierten kernels (bei dir /boot/vmlinuz-2.6.9)
auf /boot/vmlinuz aktualisiert ! Auch /boot/initrd-2.6.9.img
wird auf /boot/inird.img gelinkt!
und die entsprechende System.map, kernel.h angepasst
Wenn du ein initrd partout mit der Hand machen willst und alle links von manuell
anpassen willst, dann muss natürlich die Version des Modulverzeichnisses
der neugebauten Module(make modules_install) angegeben werden!
Code: Alles auswählen
mkinitrd -o /boot/initrd-2.6.9.img /lib/modules/linux-2.6.9
Code: Alles auswählen
mkinitrd -o /boot/initrd-2.6.9.img linux-2.6.9
Danach ist dann unbedingt darauf zu achten, dass der Kernel den du booten willst, auf das initrg.img zugreift welches in /boot mit der entsprechenden version liegt!
Bootloader anpassen!
Das mkinitrd ist insbesondere wichtig wenn beim booten auf einen Partitions(Typ) (zb reiserfs oder scsi) zugegriffen werden soll und die entsprechenden Module nicht fest eingebunden sind .
Ich hoffe es ist jetzt etwas klarer
![Smile :)](./images/smilies/icon_smile.gif)