Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Technotrend S2-6400 geht nicht
#26
Ich denke übrigens, dass Ubuntu einige make Einstellungen per commandline beim Kernel backen übergibt.
Du brauchst Hilfe? Wir brauchen Daten!
while (! asleep()) sheep++;
Zitieren
#27
Gut dass ihr euch da was überlegen wollt.
Ich hatte gestern noch den neuesten kernel installiert und die sourcen, beide hatten nun die neuste Kennung und identisch.
Zur Probe habe ich bereits vorhandene Module mit modinfo geprüft: auch diese hatten die gleiche Kennung unter vermagic. OK soweit
Dann nochmal quick&dirty den Treiber für meine TT-S2-6400 kompiliert: modinfo zeigt bei vermagix: 5.4.27
Das sah schon nicht gut aus. Das laden brachte wieder den bekannten Exec format error.
Heute habe ich nochmal von vorne angefangen, mit der VMWare Maschine ist es ja einfach: die frische Installation hatte ich als Kopie gesichert, also diese wieder ins Arbeitsverzeichnis kopiert.
Nach dem Hochfahren des frischen easyVDR 5 PreAlpha 008 dies getan:
1. apt-get update
2. apt-get upgrade
3. apt-get install linux-generic linux-headers-generic linux-image-generic (das holt auch die blockierten Pakete)
4. Neustart und Prüfung der Versionen:
root@easyVDR:/boot# uname -r
5.4.0-21-generic

root@easyVDR:/boot# ls -All config*
-rw-r--r-- 1 root root 237651 Mär 7 17:23 config-5.4.0-18-generic
-rw-r--r-- 1 root root 237711 Mär 26 21:51 config-5.4.0-21-generic
-rw-r--r-- 1 root root 237686 Dez 16 21:54 config-5.4.0-9-generic

root@easyVDR:/boot# ls -All vmlinuz*
lrwxrwxrwx 1 root root 24 Apr 1 19:44 vmlinuz -> vmlinuz-5.4.0-21-generic
-rw------- 1 root root 11649784 Mär 7 17:25 vmlinuz-5.4.0-18-generic
-rw------- 1 root root 11649784 Mär 26 22:52 vmlinuz-5.4.0-21-generic
-rw------- 1 root root 11535096 Dez 16 21:54 vmlinuz-5.4.0-9-generic
lrwxrwxrwx 1 root root 24 Apr 1 19:44 vmlinuz.old -> vmlinuz-5.4.0-18-generic

root@easyVDR:/boot# apt show linux-source
Package: linux-source
Version: 5.4.0.21.25
Priority: optional
Section: devel
Source: linux-meta
Origin: Ubuntu
Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 17,4 kB
Depends: linux-source-5.4.0
Supported: 5y
Download-Size: 10,4 kB
APT-Manual-Installed: yes
APT-Sources: http://de.archive.ubuntu.com/ubuntu focal/main amd64 Packages
Description: Linux-Kernel-Quelltext mit Ubuntu-Patches
Dieses Paket hängt immer von der aktuellsten verfügbaren Version des
Linux-Kernel-Quelltextes ab. Die Ubuntu-Patches wurden angewendet.

root@easyVDR:/boot# apt show linux-generic linux-headers-generic linux-image-generic
Package: linux-generic
Version: 5.4.0.21.25
Priority: optional
Section: kernel
Source: linux-meta
Origin: Ubuntu
Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 17,4 kB
Depends: linux-image-generic (= 5.4.0.21.25), linux-headers-generic (= 5.4.0.21.25)
Supported: 5y
Download-Size: 10,4 kB
APT-Manual-Installed: yes
APT-Sources: http://de.archive.ubuntu.com/ubuntu focal/main amd64 Packages
Description: Vollständiger generischer Linux-Kernel und -Header
Dieses Paket hängt immer von der aktuellsten Version des vollständigen
generischen Linux-Kernels und -Headern ab.

Package: linux-headers-generic
Version: 5.4.0.21.25
Priority: optional
Section: devel
Source: linux-meta
Origin: Ubuntu
Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 17,4 kB
Depends: linux-headers-5.4.0-21-generic
Supported: 5y
Download-Size: 10,4 kB
APT-Manual-Installed: yes
APT-Sources: http://de.archive.ubuntu.com/ubuntu focal/main amd64 Packages
Description: Generische Linux-Kernel-Header
Dieses Paket hängt immer von den aktuellsten verfügbaren generischen
Kernel-Headern ab.

Package: linux-image-generic
Version: 5.4.0.21.25
Priority: optional
Section: kernel
Source: linux-meta
Origin: Ubuntu
Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 17,4 kB
Provides: virtualbox-guest-modules (= 6.1.4-dfsg-2), wireguard-modules (= 0.0.20200318-1ubuntu1), zfs-modules (= 0.8.3-1ubuntu8)
Depends: linux-image-5.4.0-21-generic, linux-modules-extra-5.4.0-21-generic, linux-firmware, intel-microcode, amd64-microcode
Recommends: thermald
Supported: 5y
Download-Size: 10,5 kB
APT-Manual-Installed: yes
APT-Sources: http://de.archive.ubuntu.com/ubuntu focal/main amd64 Packages
Description: Generisches Linux-Kernel-Abbild
Dieses Paket hängt immer von der aktuellsten verfügbaren Version des
generischen Linux-Kernel-Abbilds ab.

root@easyVDR:/boot# modinfo saa7164 | grep vermagic
vermagic: 5.4.0-21-generic SMP mod_unload
root@easyVDR:/boot#

OK soweit, der gerade installierte kernel ist 5.4.0-21.25 und die Source zeigt dies auch an. Bereits vorhandene Module auch.
Die Source mit tar ausgepackt und ins Vezeichnis /usr/src/linux-source-5.4.0
Dann die /boot/config-5.4.0-21-generic in die Sourcen kopiert
Dann das makefile angeschaut:
VERSION = 5
PATCHLEVEL = 4
SUBLEVEL = 27
EXTRAVERSION =
Sieht wieder nicht gut aus, so war es ja bisher auch, die neuen Module bekamen als Version genau diese Angaben aber damit konnten sie nicht geladen werden.
Machte einfach mal weiter, habe ja schliesslich jetzt kernel und source die zusammengehören.
Dann den Patch für saa716x
make clean
make oldconfig :
*
* Restart config...
*
*
* Support for SAA7160/1/2 family from NXP/Philips
*
Support for SAA7160/1/2 family from NXP/Philips (SAA716X_SUPPORT) [N/y/?] (NEW) y
SAA7160/1/2 based Budget PCIe cards (DVB only) (DVB_SAA716X_BUDGET) [N/m/?] (NEW) m
SAA7160/1/2 based Hybrid PCIe cards (DVB + Analog) (DVB_SAA716X_HYBRID) [N/m/?] (NEW) m
SAA7160/1/2 based Full-Featured PCIe cards (DVB_SAA716X_FF) [N/m/?] (NEW) m
#
# configuration written to .config
#
Das neue .config zeigt an, Auszug:
# Automatically generated file; DO NOT EDIT.
# Linux/x86 5.4.27 Kernel Configuration
# Compiler: gcc (Ubuntu 9.3.0-8ubuntu1) 9.3.0
CONFIG_VERSION_SIGNATURE="Ubuntu 5.4.0-21.25-generic 5.4.27"
# CONFIG_IKCONFIG is not set
Hatte jetzt keine Lust Stunden lange alle Module kompilieren, deshalb mal wieder Quick&Dirty (hatte ja schon jetzt kein gutes Gefühl wegen 5.4.27 im makefile :
make localyesconfig, dieses target schalter alle Module die bisher auf y waren auf n, damit sie nicht nochmal kompilieren
also danach make menuconfig:
x x --- Support for SAA7160/1/2 family from NXP/Philips x x
x x <M> SAA7160/1/2 based Budget PCIe cards (DVB only) x x
x x <M> SAA7160/1/2 based Hybrid PCIe cards (DVB + Analog) x x
x x <M> SAA7160/1/2 based Full-Featured PCIe cards x x
x x
dann make modules
es werden nur die von mir angewählten Module kompiliert.
Ergebnis:
root@easyVDR:/usr/src/linux-source-5.4.0/drivers/media/pci/saa716x# modinfo saa716x_ff.ko | grep vermagic
vermagic: 5.4.27 SMP mod_unload
Sieht nicht gut aus.
OK weiter gehts, kopieren:
root@easyVDR:/lib/modules/5.4.0-21-generic/kernel/drivers/media/pci# ls -All saa716x*
-rw-r--r-- 1 root root 596440 Apr 1 20:48 saa716x_budget.ko
-rw-r--r-- 1 root root 4324112 Apr 1 20:48 saa716x_core.ko
-rw-r--r-- 1 root root 2124464 Apr 1 20:48 saa716x_ff.ko
-rw-r--r-- 1 root root 607776 Apr 1 20:48 saa716x_hybrid.ko
depmod -a

root@easyVDR:/usr/src/linux-source-5.4.0# modprobe saa716x_ff
modprobe: ERROR: could not insert 'saa716x_ff': Exec format error

Da haben wir den Exec format error wieder !!! Obwohl ich doch diesmal sauber config+source+header verwende.
Das scheint doch wirklich an der vermagic vom neu kompilierten modul zu sein.
Also lade ich mal eins das schon vorhanden ist: modprobe saa7146 -> kein Fehler lsmod zeigt es ist geladen
Also make menuconfig und ich wähle dieses mal an:
x x <*> SAA7146 DVB cards (aka Budget, Nova-PCI) x x
x x <M> Budget cards x x

make modules kompiliert nun saa7146 (der hoffentlich nicht vom patch verändert wurde mal sehen was dann raus kommt...)
copy in den kernel tree wo schon das vorkompilierte modul saa7146.ko lag
depmod -a

root@easyVDR:/usr/src/linux-source-5.4.0# modinfo saa7146 | grep vermagic
vermagic: 5.4.27 SMP mod_unload

Da haben wir wieder die vermagic, im vorkompilierten modul war dies noch passend zum kernel, jetzt nicht mehr.

root@easyVDR:/usr/src/linux-source-5.4.0# modprobe saa7146
modprobe: ERROR: could not insert 'saa7146': Exec format error


Ich glaube man sollte grundlegend das bei Ubuntu beachten:
https://wiki.ubuntu.com/KernelCustomBuild

Da steht was wie man Module kompiliert.
Da fragt einer wie man treiber modifiziert und das modul kompiliert, es wurde ein Bsp. Schritt-fuer-Schritt beschrieben u.a.:
- cat /proc/version
- # notice the -14-generic part of the version and use this in the Makefile: EXTRAVERSION = -14

Soso...
Das habe ich ja inzwischen auch schon rausgefunden, sollte das die Standardprozedur sein bei Ubuntu wenn man nur einen Treiber anpassen und kompilieren will?

Dann wird auf eine andere Seite verwiesen wo es ein HowTo gibt einen Treiber einzeln zu kompliliere ohne den ganzen Kernel:
https://www.cyberciti.biz/tips/build-lin...-tree.html
Da steht tatsächlich man soll das makefile des treibers ändern, als Bsp. wurde ein Treiber modul namens "hello" beschrieben:
obj-m := hello.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

dann diesen mit make kompilieren
und anschliessend mit modprobe hello laden.
Sollte das gehen? Kann es mir nicht vorstellen.

Dann gibt es noch einen Link:
http://lxr.linux.no/#linux+v2.6.28.3/Doc...odules.txt

der sieht interresanter aus, es gibt einen Teil 7. Module versioning & Module.symvers
Heute mach ich Schluss.
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste