leichte Frage

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Peter_Pan123
Beiträge: 117
Registriert: 17.08.2006 17:48:47

leichte Frage

Beitrag von Peter_Pan123 » 11.01.2009 11:30:29

Hallo,

habe eine leichte Frage nur irgendwie habe ich die Antwort nicht gefunden:

#1 SMP PREEMPT

Was heisst die "#1" davor ?

Das es hier um die Ausgabe von uname -v geht und es die Version ist ist mir klar. Nur was besagt diese #1 davor ? Hat das was mit dem RC zu tun ?

Gruß

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

Re: leichte Frage

Beitrag von storm » 11.01.2009 15:29:35

Das gibt die Version des vmlinux-Objektes an: das kernel-image wird aus verschiedenen Teilen zusammengebaut

Code: Alles auswählen

# vmlinux
#   ^
#   |
#   +-< $(vmlinux-init)
#   |   +--< init/version.o + more
#   |
#   +--< $(vmlinux-main)
#   |    +--< driver/built-in.o mm/built-in.o + more
#   |
#   +-< kallsyms.o (see description in CONFIG_KALLSYMS section)
Wenn jetzt zB ein weiterer Treiber eingebunden werden soll, so kann vmlinux ohne komplette Neuübersetzung des Kernels neu gelinkt werden. Dabei wird die Versionsangabe in .version (top-level in den kernel-sourcen, wenn nicht aufgeräumt wurde) inkrementiert:

Code: Alles auswählen

# Generate new vmlinux version
quiet_cmd_vmlinux_version = GEN     .version
      cmd_vmlinux_version = set -e;                     \
        if [ ! -r .version ]; then                      \
          rm -f .version;                               \
          echo 1 >.version;                             \
        else                                            \
          mv .version .old_version;                     \
          expr 0$$(cat .old_version) + 1 >.version;     \
        fi;                                             \
        $(MAKE) $(build)=init
Das kannst du auch selbst überprüfen, in dem du einen Kernel auf einem der bekannten Wege baust und nachher nicht sofort aufräumst (make-kpkg clean oder make mrproper), eine Veränderung bei den Modulen erzeugst und make erneut aufrufst. Danach hat sich die Zahl in .version verändert. Die code-Schnipsel stammen aus dem top-level Makefile.

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

Antworten