Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

NDAS-Treiberinstallation failed wg falschem Kernel-Namen

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

Antworten
Knappe
Hacker
Hacker
Beiträge: 328
Registriert: 22. Sep 2005, 21:26

NDAS-Treiberinstallation failed wg falschem Kernel-Namen

Beitrag von Knappe » 22. Dez 2007, 20:07

Hallo und guten Abend,

wolte gerade einen Treiber fuer das neues NDAS-Laufwerk kompileren und installieren.

Dabei wurde das zugehoerige RPM fuer das NDAS-Laufwerk fehlerfrei erzeugt.

Als ich es dann aber mit

Code: Alles auswählen

rpm -ivh NDAS...rpm
installieren wollte, kam folgende Fehlermeldung:
error: Failed dependencies:
kernel-default = 2.6.23.1-900.ccj57 is needed by ndas-kernel-default-1.1-2.6.23.1_900.ccj57.13.x86_64
Bei Kontrolle von

Code: Alles auswählen

# uname -r
2.6.23.1-900.ccj57-default
kommt aber die "...1-900..." Version !

Leider gibt

Code: Alles auswählen

rpm -qa | grep kernel
...
kernel-2.6.23.1900.ccj57default-1
kernel-source-2.6.23.1-900.ccj57
...
aus.
Also "...1-900...." bzw. eben "...1900..."

Das RPM-File in /usr/src/packages/RPMS/x86_64 heisst
kernel-2.6.23.1900.ccj57default-1.x86_64.rpm
und erzaehlt bei Aufruf, dass es von der
Version: 2.6.23.1900.ccj57default-1
waere (was ja auch so korrekt waere).
Und mit genau DIESEM Name ist es auch installiert.
ALLERDINGS enthaelt es im Dateiverzeichnis z.B.
...
/lib/modules/2.6.23.1-900.ccj57-default
/lib/modules/2.6.23.1-900.ccj57-default/build
???


Das SRC-File in /usr/src/packages/SRPMS/ heisst
kernel-2.6.23.1-900.ccj57default-1.src.rpm
und die tatsaechliche Version ist
Version: kernel-2.6.23.1900.ccj57default-1.src.rpm

Jetzt die Frage :
Wieso wurde das RPM mit den Namen "...1900", anstelle von "1-900" erzeugt und geladen ist dier Version mit "...1-900.. (siehe uname) ?


Da ich den Kernel selbst kompiliert und installiert habe, muss der Fehler bzw. das Problem auf meinem "Mist gewachsen" sein.

Aber leider finde ich den Fehler nicht.

Irgendeine Idee ???

Werbung:
jengelh
Guru
Guru
Beiträge: 4039
Registriert: 20. Nov 2004, 17:42
Kontaktdaten:

Re: NDAS-Treiberinstallation failed wg falschem Kernel-Namen

Beitrag von jengelh » 23. Dez 2007, 03:51

Der Dateiname für die Version in ihrer korrekten Form ist kernel-default-2.6.23.1-900.ccj57.x86_64.rpm. Da ist dir was beim Neubauen daneben gegangen.
Specfile zerschossen?

Knappe
Hacker
Hacker
Beiträge: 328
Registriert: 22. Sep 2005, 21:26

Beitrag von Knappe » 23. Dez 2007, 16:18

Specfile zerschossen?
Eigentlich nicht, aber irgendetwas stimmt genau da nicht !


Ausgangsbasis ist

Code: Alles auswählen

/usr/src/packages/SRPMS/kernel-source-2.6.23.1-900.ccj57.x86_64.rpm
einfach mit

Code: Alles auswählen

rpm -ivh ...
installiert.

Dann gem. Anleitung

Code: Alles auswählen

cd /usr/src/linux-2.6.23.1-900.ccj57
zcat /proc/config.gz > .config
make oldconfig 
make menuconfig
Kernelbau gestartet.

Anschliessend

Code: Alles auswählen

# make prepare
ergab
scripts/kconfig/conf -s arch/x86_64/Kconfig
CHK include/linux/version.h
UPD include/linux/version.h
CHK include/linux/utsrelease.h
UPD include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-x86_64
CC arch/x86_64/kernel/asm-offsets.s
GEN include/asm-x86_64/asm-offsets.h
CALL scripts/checksyscalls.sh
Dann

Code: Alles auswählen

# make rpm
ergab
/bin/sh /usr/src/linux-2.6.23.1-900.ccj57/scripts/package/mkspec > /usr/src/linux-2.6.23.1-900.ccj57/kernel.spec
make clean
CLEAN /usr/src/linux-2.6.23.1-900.ccj57
set -e; cd ..; ln -sf /usr/src/linux-2.6.23.1-900.ccj57 kernel-2.6.23.1900.ccj57default
set -e; cd ..; tar -cz --exclude SCCS --exclude BitKeeper --exclude .svn --exclude CVS --exclude .pc --exclude .hg --exclude .git -f kernel-2.6.23.1900.ccj57default.tar.gz kernel-2.6.23.1900.ccj57default/.
set -e; cd ..; rm kernel-2.6.23.1900.ccj57default
set -e; \
/bin/sh /usr/src/linux-2.6.23.1-900.ccj57/scripts/mkversion > /usr/src/linux-2.6.23.1-900.ccj57/.tmp_version
set -e; \
mv -f /usr/src/linux-2.6.23.1-900.ccj57/.tmp_version /usr/src/linux-2.6.23.1-900.ccj57/.version
rpmbuild --target x86_64 -ta ../kernel-2.6.23.1900.ccj57default.tar.gz
Building target platforms: x86_64
Building for target x86_64
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.32772
+ umask 022
+ cd /usr/src/packages/BUILD
+ cd /usr/src/packages/BUILD
+ rm -rf kernel-2.6.23.1900.ccj57default
.........
Und hier ist schon von "...1900.." die Rede :shock:

Darum der Auszug von /usr/src/linux-2.6.23.1-900.ccj57/kernel.spec
Name: kernel
Summary: The Linux Kernel
Version: 2.6.23.1900.ccj57default
Release: 1
License: GPL
Group: System Environment/Kernel
Vendor: The Linux Community
URL: http://www.kernel.org
Source: kernel-2.6.23.1900.ccj57default.tar.gz
BuildRoot: /var/tmp/%{name}-%{PACKAGE_VERSION}-root
Provides: kernel-2.6.23.1-900.ccj57-default
Die hier erscheindenen Versionsnummern "1-900" und "1900" werden von dem original "/usr/src/linux-2.6.23.1-900.ccj57/scripts/packages/mkspec"-Script - was im Original wiederum aus dem schon o.g. SRC-RPM-File stammt - automatisch erzeugt.



:idea:

jengelh
Guru
Guru
Beiträge: 4039
Registriert: 20. Nov 2004, 17:42
Kontaktdaten:

Beitrag von jengelh » 24. Dez 2007, 15:27

Knappe hat geschrieben:Dann gem. Anleitung

Code: Alles auswählen

cd /usr/src/linux-2.6.23.1-900.ccj57
zcat /proc/config.gz > .config
make oldconfig 
make menuconfig
Kernelbau gestartet.
Wozu?

Code: Alles auswählen

# make rpm
ergab
/bin/sh /usr/src/linux-2.6.23.1-900.ccj57/scripts/package/mkspec > /usr/src/linux-2.6.23.1-900.ccj57/kernel.spec
make clean
CLEAN /usr/src/linux-2.6.23.1-900.ccj57
set -e; cd ..; ln -sf /usr/src/linux-2.6.23.1-900.ccj57 kernel-2.6.23.1900.ccj57default
Bug in mkspec. Ich seh's...
außerdem ist das ja nicht gerade der Königsweg zum SUSE-RPM.

Knappe
Hacker
Hacker
Beiträge: 328
Registriert: 22. Sep 2005, 21:26

Beitrag von Knappe » 24. Dez 2007, 17:02

außerdem ist das ja nicht gerade der Königsweg zum SUSE-RPM
Die beschriebenen Wege zum Kernelbau stammen ausschliesslich aus dem wiki des linux-clubs.

Wenn´s einen anderen, vielleicht sogar besseren Weg gibt, habe ich dafür ein "offenes Ohr".

jengelh
Guru
Guru
Beiträge: 4039
Registriert: 20. Nov 2004, 17:42
Kontaktdaten:

Beitrag von jengelh » 25. Dez 2007, 00:13

Weiß nicht, ich mach das so... http://jengelh.hopto.org/linux/dev_lbuild.php
Aber die Frage steht noch immer im Raum: wozu recompilen?

Knappe
Hacker
Hacker
Beiträge: 328
Registriert: 22. Sep 2005, 21:26

Beitrag von Knappe » 26. Dez 2007, 13:36

Weiß nicht, ich mach das so...
Werde ich demnächst mal ausprobieren.
Aber die Frage steht noch immer im Raum: wozu recompilen?
Habe die Frage zwar nirgendwo gesehen, aber macht ja nichts :
Anpassung, viele Funktionen (z.B. die komplette Multimedia-Unterstützung) werden nicht benötigt (= schlankerer Kernel).

Bug in mkspec. Ich seh's...
Wird noch beseitigt ?

jengelh
Guru
Guru
Beiträge: 4039
Registriert: 20. Nov 2004, 17:42
Kontaktdaten:

Beitrag von jengelh » 26. Dez 2007, 19:42

Knappe hat geschrieben:
Aber die Frage steht noch immer im Raum: wozu recompilen?
Habe die Frage zwar nirgendwo gesehen, aber macht ja nichts :
Anpassung, viele Funktionen (z.B. die komplette Multimedia-Unterstützung) werden nicht benötigt (= schlankerer Kernel).
Uff... das hab ich mir auch mal gesagt. Dann hielt ich irgendwann mein erstes USB-Gerät in den Händen und nix ging.
Bug in mkspec. Ich seh's...
Wird noch beseitigt ?
Ja, aber ein Kernelpaket das identisch mit denen, die vom richtigen Specfile erzeugt werden, kriegt man dadurch trotzdem nicht - einige Information sind eben schon verloren (man denke wie an MP3). Und wie das mit kernel-source zusammenspielt, ich mag gar nicht dran denken.

Knappe
Hacker
Hacker
Beiträge: 328
Registriert: 22. Sep 2005, 21:26

Beitrag von Knappe » 29. Dez 2007, 16:14

Dann hielt ich irgendwann mein erstes USB-Gerät in den Händen und nix ging.
Handelt sich um einen Server, da wird das definitiv nicht benötigt.

Ja, aber ein Kernelpaket das identisch mit denen, die vom richtigen Specfile erzeugt werden, kriegt man dadurch trotzdem nicht
Wenn es soweit ist bitte PN geben, da ich gerne das Treiberpaket übersetzen möchte.

jengelh
Guru
Guru
Beiträge: 4039
Registriert: 20. Nov 2004, 17:42
Kontaktdaten:

Beitrag von jengelh » 29. Dez 2007, 23:10

Wie ... "wenn es soweit ist"?

Knappe
Hacker
Hacker
Beiträge: 328
Registriert: 22. Sep 2005, 21:26

Beitrag von Knappe » 30. Dez 2007, 17:12

Bug in mkspec. Ich seh's...

Wird noch beseitigt ?
Ja, aber ein Kernelpaket das identisch mit denen, die vom richtigen Specfile erzeugt werden, kriegt man dadurch trotzdem nicht - einige Information sind eben schon verloren (man denke wie an MP3). Und wie das mit kernel-source zusammenspielt, ich mag gar nicht dran denken.
Wie ... "wenn es soweit ist"?
Wenn das mkspec fuer die Version korrigiert ist oder wie soll ich jetzt andere Sourcen uebersetzen ???

Antworten