Initrd Hardwareerkennung

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
KingBonecrusher
Beiträge: 375
Registriert: 07.06.2005 09:48:43

Initrd Hardwareerkennung

Beitrag von KingBonecrusher » 26.08.2009 12:35:28

Hallo!

habe mir aus Busybox und der c`t Vorlage glaube aus 12/09 ein bisher komplettes Mini System gebaut. Netzwerk, Festplatten laufen. SSHD Server, DHCP Client, cryptsetup läuft auch und funktioniert.

Gerätedateien werden über udev erstellt.

Jedoch lade ich bisher die Module für Festplatte und Netzwerkkarte von "Hand" per modprobe. Wie macht das eigentlich die originale initrd von Debian? Habe mal die Scripte ein wenig untersucht und sehe, dass eigentlich nur ide_generic per modprobe geladen wird.

Ich habe das udev Script aus der c`t genommen. Das originale aus der Debian inird habe ich nicht genutzt! Und wie bekannt ist lädt udev ja nicht die Gerätetreiber selber. Jedoch wie klappt das denn in der Debian initrd mit den Treibern/Modulen?

debianoli
Beiträge: 4157
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Initrd Hardwareerkennung

Beitrag von debianoli » 26.08.2009 12:40:24

Das müsste über den Befehl

Code: Alles auswählen

update-initramfs -u
klappen. Du startest dein System ganz normal, lädst alle benötigten Module und führst dann den Befehl update-initramfs aus. Beim nächsten Start hast du dann alle benötigten Module dabei.

grüße
------------
Dieses verdammte Linux holt mir nicht mal ein Bier aus dem Kühlschrank!

KingBonecrusher
Beiträge: 375
Registriert: 07.06.2005 09:48:43

Re: Initrd Hardwareerkennung

Beitrag von KingBonecrusher » 26.08.2009 13:51:24

Glaube wir haben uns da falsch verstanden. Ich nutze die BusyBox und baue meine initrd mit cpio und lzma, bin also komplett unabhängig von den Debian Tools.

Ich wollte nur wissen welchen Mechanismus die Debianeigene initrd, welche mit mkinitramfs erzeugt wird nutzt um Treiber passend zur Hardware zu laden, oder ob die initrd wild alles lädt was bei 5 nicht auf dem Baum ist... ;-)

debianoli
Beiträge: 4157
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Initrd Hardwareerkennung

Beitrag von debianoli » 26.08.2009 18:10:50

KingBonecrusher hat geschrieben:Ich wollte nur wissen welchen Mechanismus die Debianeigene initrd, welche mit mkinitramfs erzeugt wird nutzt um Treiber passend zur Hardware zu laden, oder ob die initrd wild alles lädt was bei 5 nicht auf dem Baum ist... ;-)
Helfen dir da die man-Pages von mkinitramfs nicht weiter? Da steht

Code: Alles auswählen

FILES
       /etc/initramfs-tools/initramfs.conf
              The default configuration file for the script. See initramfs.conf(5) for a description of the available configuration parameter.

       /etc/initramfs-tools/modules
              Specified  modules  will be put in the generated image and loaded when the system boots. The format - one per line - is identical to that
              of /etc/modules, which is described in modules(5).

       /etc/initramfs-tools/conf.d
              The conf.d directory allows to hardcode bootargs at initramfs build time via config snippets. This allows to set ROOT or RESUME.  This is
              especially useful for bootloaders, which do not pass an root bootarg.

       /etc/initramfs-tools/DSDT.aml
              If this file exists, it will be appended to the initramfs in a way that causes it to be loaded by ACPI.
------------
Dieses verdammte Linux holt mir nicht mal ein Bier aus dem Kühlschrank!

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

Re: Initrd Hardwareerkennung

Beitrag von armin » 26.08.2009 18:36:57

KingBonecrusher hat geschrieben:Ich wollte nur wissen welchen Mechanismus die Debianeigene initrd, welche mit mkinitramfs erzeugt wird nutzt um Treiber passend zur Hardware zu laden, oder ob die initrd wild alles lädt was bei 5 nicht auf dem Baum ist... ;-)
Mehr oder minder wild. Entpacke dir doch mal eine Initrd und schaue dir die morpdobe Aufrufe an. Das Interessanteste passier im scripts-Verzeichnis.
Beispiel:

Code: Alles auswählen

gunzip < /boot/initrd.img-2.6.30-1-amd64 | cpio -i --make-directories
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams

KingBonecrusher
Beiträge: 375
Registriert: 07.06.2005 09:48:43

Re: Initrd Hardwareerkennung

Beitrag von KingBonecrusher » 26.08.2009 19:00:01

Hoffe habe die passenden Scripts in /usr/share/initramfs-tools/scripts gefunden. Hatte ausserdem nur /bin/udevd in meine initrd kopiert. Werde das später gleich mal probieren.

Code: Alles auswählen

#!/bin/sh -e

PREREQS=""

prereqs() { echo "$PREREQS"; }

case "$1" in
    prereqs)
    prereqs
    exit 0
    ;;
esac

echo > /sys/kernel/uevent_helper

mkdir -p /dev/.udev/db/
udevd --daemon

mkdir -p /dev/.udev/queue/ /dev/.udev/rules.d/
udevadm trigger
udevadm settle || true

# If the rootdelay parameter has been set, we wait a bit for devices
# like usb/firewire disks to settle.
if [ "$ROOTDELAY" ]; then
        if [ -x /sbin/usplash_write ]; then
                /sbin/usplash_write "TIMEOUT $(($ROOTDELAY + 5))"
        fi
        sleep $ROOTDELAY
        if [ -x /sbin/usplash_write ]; then
                /sbin/usplash_write "TIMEOUT 15"
        fi
fi

Antworten