Kernel-Module: Unterschied zwischen den Versionen

Aus Shea Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(Änderung 276 von Suelmann (Diskussion) rückgängig gemacht.)
Markierung: Rückgängigmachung
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 7: Zeile 7:
dnf download --source kernel
dnf download --source kernel
KERNEL=$(ls kernel-*.src.rpm|tail -1)
KERNEL=$(ls kernel-*.src.rpm|tail -1)
su -c "dnf builddep $KERNEL"
sudo dnf builddep $KERNEL
rpm -Uvh $KERNEL
rpm -Uvh $KERNEL
cd ~/rpmbuild/SPECS
cd ~/rpmbuild/SPECS
Zeile 15: Zeile 15:


=== Patch Einspielen ===
=== Patch Einspielen ===
Wenn das Modul für einen neuen Kernel benötigt wird und der Kernel keine Änderungen in dvb-core hatte, kann man ab hier starten und die <code><nowiki>patch</nowiki></code>-Zeile weglassen.
Wenn das Modul für einen neuen Kernel benötigt wird und der Kernel keine Änderungen in dvb-core hatte, kann man ab hier starten und die <code><nowiki>patch</nowiki></code>-Zeilen und das cp weglassen.


<pre><nowiki>
<pre><nowiki>
KERNELDIR=$(uname -r | perl -e '<> =~ /(\d+)\.(\d+)\..*(fc\d+)/; print "kernel-$1.$2.$3\n"')
KERNELDIR=$(uname -r | perl -e '<> =~ /(\d+)\.(\d+)\..*(fc\d+)/; print "kernel-$1.$2.$3\n"')
cd ~/rpmbuild/BUILD/$KERNELDIR/linux*
cd ~/rpmbuild/BUILD/$KERNELDIR/linux*
cp configs/kernel-4.0.4-i686-PAE.config .config
sudo sh -c "echo 'CONFIG_DVB_LOOPBACK_ADAPTER=m' >> /usr/src/kernels/$(uname -r)/include/config/auto.conf"
echo "CONFIG_DVB_LOOPBACK_ADAPTER=m" >> .config
patch -p0 < /data/src/dvbloopback/3.13-dvb-core.patch
patch -p0 < /data/src/dvbloopback/3.13-dvb-core.patch
patch -p0 < /data/src/dvbloopback/dvbloopback.patch
patch -p0 < /data/src/dvbloopback/dvbloopback.patch
Zeile 27: Zeile 26:
cd drivers/media/dvb-core
cd drivers/media/dvb-core
make -C /lib/modules/`uname -r`/build M=`pwd` modules
make -C /lib/modules/`uname -r`/build M=`pwd` modules
#sudo mv /usr/lib/modules/`uname -r`/kernel/drivers/media/dvb-core/dvb-core.ko.xz /usr/lib/modules/`uname -r`/kernel/drivers/media/dvb-core/dvb-core.ko.xz.orig
sudo make -C /lib/modules/`uname -r`/build M=`pwd` modules_install
cd ../pci/dvbloopback
cd ../pci/dvbloopback
ln -s ../../dvb-core/dvbdev.h .
make -C /lib/modules/`uname -r`/build M=`pwd` modules
make -C /lib/modules/`uname -r`/build M=`pwd` modules
su -c "mv /usr/lib/modules/`uname -r`/kernel/drivers/media/dvb-core/dvb-core.ko.xz /usr/lib/modules/`uname -r`/kernel/drivers/media/dvb-core/dvb-core.ko.xz.orig"
sudo make -C /lib/modules/`uname -r`/build M=`pwd` modules_install
su -c "make -C /lib/modules/`uname -r`/build M=`pwd` modules_install"
</nowiki></pre>
</nowiki></pre>


Zeile 37: Zeile 38:


<pre><nowiki>
<pre><nowiki>
rmmod dvb_usb_dib0700 dib8000 dib7000m dib0070 dib7000p dvb_usb budget_ci budget_core dvb_core
sudo rmmod dvb_usb_dib0700 dib8000 dib7000m dib0070 dib7000p dvb_usb budget_ci budget_core dvb_core
modprobe budget_ci
sudo modprobe budget_ci
modprobe dvb_usb_dib0700
sudo modprobe dvb_usb_dib0700
</nowiki></pre>
</nowiki></pre>


Zeile 51: Zeile 52:
----
----
[[KategorieWissen]]
[[KategorieWissen]]

Aktuelle Version vom 20. Dezember 2021, 13:57 Uhr

Kernel-Module für Fedora erzeugen

Erzeugen einer Buildumgebung mit aktuellem Kernel

rpmdev-setuptree
dnf download --source kernel
KERNEL=$(ls kernel-*.src.rpm|tail -1)
sudo dnf builddep $KERNEL
rpm -Uvh $KERNEL
cd ~/rpmbuild/SPECS
rpmbuild -bp --target=$(uname -m) kernel.spec


Patch Einspielen

Wenn das Modul für einen neuen Kernel benötigt wird und der Kernel keine Änderungen in dvb-core hatte, kann man ab hier starten und die patch-Zeilen und das cp weglassen.

KERNELDIR=$(uname -r | perl -e '<> =~ /(\d+)\.(\d+)\..*(fc\d+)/; print "kernel-$1.$2.$3\n"')
cd ~/rpmbuild/BUILD/$KERNELDIR/linux*
sudo sh -c "echo 'CONFIG_DVB_LOOPBACK_ADAPTER=m' >> /usr/src/kernels/$(uname -r)/include/config/auto.conf"
patch -p0 < /data/src/dvbloopback/3.13-dvb-core.patch
patch -p0 < /data/src/dvbloopback/dvbloopback.patch
cp -a /data/src/dvbloopback/dvbloopback drivers/media/pci
cd drivers/media/dvb-core
make -C /lib/modules/`uname -r`/build M=`pwd` modules
#sudo mv /usr/lib/modules/`uname -r`/kernel/drivers/media/dvb-core/dvb-core.ko.xz /usr/lib/modules/`uname -r`/kernel/drivers/media/dvb-core/dvb-core.ko.xz.orig
sudo make -C /lib/modules/`uname -r`/build M=`pwd` modules_install
cd ../pci/dvbloopback
ln -s ../../dvb-core/dvbdev.h .
make -C /lib/modules/`uname -r`/build M=`pwd` modules
sudo make -C /lib/modules/`uname -r`/build M=`pwd` modules_install


Patch aktivieren

sudo rmmod dvb_usb_dib0700 dib8000 dib7000m dib0070 dib7000p dvb_usb budget_ci budget_core dvb_core
sudo modprobe budget_ci
sudo modprobe dvb_usb_dib0700


Quelle

https://github.com/bas-t/dvbloopback

Kernelmodul für SASC

siehe SASC


KategorieWissen