6490 cable, freetz image tv Karte kernel

andybos

Neuer User
Mitglied seit
24 Mrz 2020
Beiträge
6
Punkte für Reaktionen
0
Punkte
1
Hallo,
ich hatte mir bereits ein freetz image erstellt und ich konnte das Image auch auf meiner fritzbox installieren.
Das Webinterface von freetz ist erreichbar, telnet funktioniert auch und mein Debian System das sich aufm USB Stick befindet ist auch über chroot erreichbar.
Debian buster verweigerte es zwar mit der Nachricht kernel too old, aber debian stretch klappte.

In Debian habe ich mir bereits etliche Linux Programme installiert und auch konfiguriert.
tvheadend habe ich mir auch bereits aus den Sourcen selbst compiliert und funktioniert auch.

Nun habe ich meine TV Karte Technotrend s2-4600 usb an die Fritzbox angeschlossen.
Die TV Karte wird am usb Anschluss erkannt, aber es wird weder das entsprechend Module noch firmware geladen.
Ok dachte ich mir.
Dann hatte ich mir nach folgender Anleitung https://freetz.github.io/wiki/help/howtos/development/make_kernel.html nach Aktivierung verschiedener Punkte in der Kernel Config die Kernel neu erstellt.
Wenn ich mir nun aber per make mir ein neues freetz image erstelle und dieses image dann per freetz firmware update funktion es auf die Fritzbox aufspiele, scheint er die neue Kernel nicht zu beinhalten.
An was könnte dies liegen?
Wenn ich nun die TV Karte anschließe, wird natürlich das ensprechende module nicht geladen.
 

andybos

Neuer User
Mitglied seit
24 Mrz 2020
Beiträge
6
Punkte für Reaktionen
0
Punkte
1
Hm, wenn ich folgenden Befehl eingebe:

make kernel-precompiled

wird die Kernel u. die Module im Verzeichnis kernel/ gebaut:

kernel-puma6.x86-6490_07.10.bin modules-puma6.x86-6490_07.10 System-puma6.x86-6490_07.10.map

Wie kann ich nun die neue Kernel u. die module in freetz einbauen?

Wiegesagt....wenn ich make aufrufe, baut mir freetz zwar ein neues Image, aber ohne die neue Kernel u. Module.
freetz scheint einfach die alte Kernel u. Module aus dem 7.12 Image zu nehmen.
 

f666

Mitglied
Mitglied seit
6 Apr 2016
Beiträge
288
Punkte für Reaktionen
34
Punkte
28
Du kannst dir ein statisches Paket unter freetz/addon/ basteln. So habe ich das bei mir auch gelöst.
Die Module müssen z.B. nach freetz/addon/kernelmods/root/lib/modules. In die Datei freetz/addon/static.pkg muss dann die Zeile "kernelmods".
 
  • Like
Reaktionen: prisrak1

andybos

Neuer User
Mitglied seit
24 Mrz 2020
Beiträge
6
Punkte für Reaktionen
0
Punkte
1
Hi f666, ok also die Module nach freetz/addon/kernelmods/root/lib/modules. In die Datei freetz/addon/static.pkg muss dann die Zeile "kernelmods".
Und wohin die Kernel?
Und wie baut man sich ein statisches Paket?
 
Zuletzt bearbeitet:

prisrak1

Mitglied
Mitglied seit
14 Mai 2017
Beiträge
280
Punkte für Reaktionen
27
Punkte
28
in "~/freetz/6x/addon/" die Datei "static.pkg" entsprechend anpassen.
 

f666

Mitglied
Mitglied seit
6 Apr 2016
Beiträge
288
Punkte für Reaktionen
34
Punkte
28
Wenn du FREETZ_REPLACE_KERNEL aktiviert hast, wird der Kernel direkt in die Freetz Firmware integriert.
 
  • Like
Reaktionen: prisrak1

andybos

Neuer User
Mitglied seit
24 Mrz 2020
Beiträge
6
Punkte für Reaktionen
0
Punkte
1
Also, irgendwie klappt es nicht.
Ich rufe erst make menuconfig auf, wechsele von beginner auf advanced, dann stelle ich noch alles auf meine Fritzbox um und aktiviere [*] Replace kernel (EXPERIMENTAL, read help please).
Dann gebe ich make kernel-menuconfig ein und aktiviere in der Kernel die dvbs2 u. iscsi Optionen.
Dann verlasse ich das Menü u. die config Datei wurde angelegt.

Nun compiliere ich die Kernel u. die Module mit make kernel-precompiled.
Zu guter letzt erstelle ich dann mit make ein neues freetz image.

Schreibe ich das neue Image auf die Box, habe ich in der modules.dep gesehen, dass die entsprechenden Module nicht hinzugefügt wurden.
Ist also wieder alles beim alten.

iscsi:

Das Module iscsi_tcp finde ich aber im Verzeichnis /sys/module.
dvb_core finde ich auch in dem selben Verzeichnis.

Nur wenn ich nun modprobe iscsi_tcp eingebe, wird mir folgendes mitgeteilt:
modprobe: module iscs_tcp not found in modules.dep

Probiere ich das Module in die Datei modules.dep einzufügen, sagt mir das System read only filesystem
 

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
12,881
Punkte für Reaktionen
961
Punkte
113
Zur Übernahme von Kernel-Modulen, die als LKM vorliegen (.ko-Files), braucht es für "fwmod" noch ein passendes Symbol in der ".config": https://github.com/Freetz/freetz/blob/master/fwmod#L1193 (also ein "FREETZ_MODULE_<modulename>=y") und ohne dieses (und auch ohne "FREETZ_MODULES_ALL", was dann aber ein richtig fettes Image werden kann) schlägt dann das "continue" in der nächsten Zeile zu und die Datei wird nicht ins Image übernommen.

EDIT: Außerdem sollte man schon beim Build in der Ausgabe von "fwmod" sehen können, ob das LKM kopiert (und ggf. "stripped") wurde oder nicht, dazu muß man das Image nicht installieren oder sogar starten.
 

andybos

Neuer User
Mitglied seit
24 Mrz 2020
Beiträge
6
Punkte für Reaktionen
0
Punkte
1
Hi PeterPawn,
also müsste ich in der .config folgende beide Module hinzufügen?
FREETZ_MODULE_iscsi_tcp=y
FREETZ_MODULE_dvb_core=y

Und das dürfte dann ausreichen, weil ich weiß ja nicht, welche Module usw. zu dem Module gehören, aber ich meinte das dvb_core dann alle weiteren Module die dazu gehören lädt u. das gleiche ist glaub ich auch bei iscsi_tcp der Fall
 

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
12,881
Punkte für Reaktionen
961
Punkte
113
Wenn Du das nicht zusammenkriegst, mußt Du halt mal mit "MODULES_ALL" bauen und dann die Abhängigkeiten ansehen - genau dafür gibt's ja die "modules.dep", zur Auflösung von Kernel-Symbolen, die ihrerseits erst mit einem weiteren geladenen LKM zu finden sind und damit zur Festlegung, in welcher Reihenfolge Module geladen werden müssen, damit die benötigten Symbole dann auch schon vorhanden sind (denn eine "deferred relocation" kennt Linux da - afaik - nicht, deshalb gibt es eben "depmod" überhaupt).

Ich kann jetzt nicht erkennen, daß in "fwmod" bei der Ausführung von "depmod" (https://github.com/Freetz/freetz/blob/master/fwmod#L1207) noch weitere LKM automatisch hinzugefügt würden ... offenbar wird nur eine entsprechende Fehlernachricht ausgegeben, ohne dabei weiter ins Detail zu gehen, bevor die Zwischenergebnisse wieder gelöscht werden (https://github.com/Freetz/freetz/blob/master/fwmod#L1215).
 

f666

Mitglied
Mitglied seit
6 Apr 2016
Beiträge
288
Punkte für Reaktionen
34
Punkte
28
Den Weg, wie ich ihn benutze, würde ich als "halbautomatisch" bezeichnen.
Nach dem Build des Kernels müssen die gewünschten Module in dein "Paket" unter freetz/addon/... kopiert werden. Erst dann wird ein (erneuter) Makelauf die Module in die erzeugte Firmware einbauen.
Da sich die Kernelversionen nicht oft ändern, war das für mich am bequemsten.