So wie es aussieht wurden die Toolchains geändert, gibt es neue Infos welche jetzt aktuell verwendet werden ?
Danke
So wie es aussieht wurden die Toolchains geändert, gibt es neue Infos welche jetzt aktuell verwendet werden ?
Danke
[~] # cat /proc/version
Linux version 2.6.33.2 (root@VMBuildEnv001) (gcc version 4.2.1) #1 Wed Dec 5 19:17:53 CST 2012
[~] # strings /lib/libc* | grep GCC | uniq
GCC: (GNU) 4.2.1
[~] # strings /lib/libc.so.6 |grep 'GNU C'
GNU C Library stable release version 2.5, by Roland McGrath et al.
Compiled by GNU CC version 4.2.1.
[~] #
Es befindet hier im Gegensatz zu früher kein direkter Hinweis mehr für den Toolchain. Außerdem sind die früher im Thread erwähnten Toolchains nicht mehr vorhanden, denn Codesourcery hat umstrukturiert.
Bei mir geht es um die TS 212 bzw. 259. Allerdings benötige ich aktuell den Toolchain nicht um Kernelmodule zu bauen, sondern um mit Freepascal/Lazarus Crosscompiling zu machen. Die Basismaschine ist Debian i386 und auf dieser will ich für den Arm meine selbstgeschriebenen Programme übersetzen und debuggen.
Hi,
die notwendige toolchain ist immer noch die gleiche!
der link auf die webseite geht nicht mehr, das ist richtig - aber für den fall hab ich den wget aufruf mit im ersten beitrag hinterlegt.
download mit wget geht immer noch!! (bzw. Link direkt)
wget http://www.codesourcery.com/pu…rm-none-linux-gnueabi.bin
für kernelmodule muss man genau die passende toolchain benutzen (gcc, glibc), mit der auch der kernel gebaut wurde.
für Anwendungen kann man auch die neuere version aus dem ersten Beitrag nehmen.
Link für Installationsanleitung im ersten Beitrag funzt noch!
vg kasimodo
Danke, hat funktioniert. Es ist möglich für die TS 212 u.ä. Konsolenprogramme mit FPC und Lazarus in Pascal zu schreiben und Crosscompiling zu machen.
Siehe auch dem Thread im deutschen Lazarusforum.
hallo gemeinde,
ich suche für eine qnap ts-109 pro 2 mit
Linux version 2.6.12.6-arm1 (root@NasARM4) (gcc version 3.4.4 (release) (CodeSourcery ARM 2005q3-2)) #1 Fri Sep 24 01:42:05 CST 2010
die richtigen ftdi_sio und usbserial versionen
mit dmesg bekomme ich folgendes
ftdi_sio: version magic '2.6.33.2 mod_unload ARMv5 ' should be '2.6.12.6-arm1 AR
Mv5 gcc-3.4'
usbserial: version magic '2.6.33.2 mod_unload ARMv5 ' should be '2.6.12.6-arm1 A
RMv5 gcc-3.4'
danke für die eventuelle hilfe im voraus.
noob
Hi,
Ich habe z.Z. auch keine fertige Buildumgebung und müsste mir auch erst alles wieder aufsetzen.
Das kannst du mit den folgenden Links und den Hinweisen in den vorherigen Beiträgen auch leicht selbst machen.
Bei Fragen dann einfach einen neues Thema eröffnen. Da kann dir dann nicht nur von mir, auch von anderen weitergeholfen werden.
Ich lese hier nicht immer mit und andere können dann auch von den Beiträgen profitieren.
vg kasimodo
Hier die wichtigsten Downloads:
https://www.virtualbox.org/wiki/Downloads -> als alternative zu vmware!
http://sourceforge.net/projects/freetz-linux/files/ -> hier die aktuellen freetz!
http://www.codesourcery.com/pu…i686-pc-linux-gnu.tar.bz2 -> u.a. auch für TS 109
ftp://gpl:download@ftp.qnap.com/gpl/
guten abend,
danke für die links...ich schreibe mal in dem beitrag weiter
Hallo zusammen.
ich benötige das Kernelmodul pl2303.ko, um meinen USB-to-Serial-Adapter ans Laufen zu kriegen.
Nach meiner bewusst naiven Anfrage an den Support, konnte dieser mir wenigstens sagen, wo man die aktuellen kernelsourcen findet.
http://sourceforge.net/project…NAP%20NAS%20GPL%20Source/
Ich werde jetzt wohl selbst anfangen müssen zu crosscompilen. (noch nie gemacht)
Meine Frage ist, in wie weit ich dieser Anleitung nun folgen kann.
Ist die noch aktuell?
Der Hinweis auf die Courcen bei Sourceforge fehlt ja schon mal.
Außerdem weiß ich nicht genau, warum in der Anleitung freetz genommen wird und ob ich das durch zB. Ubuntu ersetzen kann.
Ich vermute, dass das am ARM-Prozessor in diesem beispiel liegt.
Optimal wäre natürlich, wenn jemand diese Anleitung auf den neusten Stand bringen könnte.
Oder mir wenigstens in Stichworten sagen kann, welche Punkte angepasst werden müssten, damit ich zum Ziel komme.
Hier meine Daten:
QNAP TS-859 Pro
[~] # cat /proc/version
Linux version 3.4.6 (root@NasX86-12) (gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)) #1 SMP Thu Jun 12 03:05:45 CST 2014
[~] # strings /lib/libc* | grep GCC | uniq
GCC_3.0
[~] # strings /lib/libc.so.6 |grep 'GNU C'
GNU C Library stable release version 2.6.1, by Roland McGrath et al.
Compiled by GNU CC version 4.2.1 (Ubuntu 4.2.1-5ubuntu4).
Alles anzeigen
Vielen Dank
Hallo,
ich möchte gerne die Firmware für meine PCTV 461e (vendor 2013 id 0258) mit einbinden, damit (so hoffe ich) diese geladen wird und TVHeadend finden kann.
Habe alles lt. Anleitung soweit gemacht, nur wie bekomme ich die Datei in den VMWare-Player mit freetz hinein und den neuen Kernel wieder heraus?
DIe Firmware bekomme ich von dort: https://github.com/OpenELEC/dv…re/dvb-demod-m88ds3103.fw
Und vor allem wohin muss sie in das Kernelverzeichnis (im meinem Fall Linux-3.4.6) kopieren?
Und dann einfach neu kompilieren und mit insmod installieren und gut ist?
Danke im voraus, für die Hilfe
PS: Ein Versuch diese zum laufen zu bringen mit DVBLink (DVBLogic) war erfolgreich, würde aber lieber TVHeadend einsetzen.
Ich weiß dieser Thread ist schon uralt aber da das Thema nach wie vor aktuell ist und dieser Thread das erste und einzige Suchergebnis bei Google zum Thema Kernel Module kompilieren für Qnap ist wollte ich ihm mal ein kleines Update verpassen, da ich das Prozedere auch gerade erst durch habe und es ein paar Fallstricke gab.
Erstmal zu meiner Ausgangssituation:
Ich habe eine alte Playstation Eye Kamera rumliegen welche ich als Webcam für meinen 3D-Drucker nutzen möchte (via Octoprint). Dummerweise wird beim einstecken der Kamera nur das Mikrofone korrekt erkannt, für die Kamera fehlt der Treiber.
Nach einiger Suche habe ich herausgefunden das ich das Kerne Modul gspca_ov534.ko benötige welches in QTS fehlt.
NAS: TS-253BE
CPU Architektur: 64 Bit x86
QTS: 4.4.1.1086
cat /proc/version gibt folgende Informationen zum verwendeten Kernel:
Linux version 4.14.24-qnap (root@U16BuildServer49) (gcc version 4.9.2 (toolchain config: [gcc-4.9.2 binutils-2.25 glibc-2.21])) #1 SMP Thu Oct 10 01:06:18 CST 2019
1. Buildumgebung bauen:
Anhand der Ausgabe von /proc/version sieht man welche Tools benötigt. Eine Toolchain zum Download wie für ARM CPU gibt es für x86 Systeme nicht. Stattdessen muss man sich die benötigen Tools selbst zusammensuchen. Nach einigem rumprobieren habe ich letztlich eine Ubuntu 15.4 VM in der Virtualization Station aufgesetzt. Ubuntu 15.4 ist zwar schon recht alt und wird nicht mehr gepflegt, die Tools gcc-4.9, binutils-2.25 und glibc.2-21 sind aber in den entsprechenden Versionen verfügbar.
Um für die alte Version noch Pakete installieren zu können, müssen die ersten vier URLs in /etc/apt/sources.list wie folgt angepasst werden:
sudo nano /etc/apt/sources.list
deb http://old-releases.ubuntu.com/ubuntu/ vivid main restricted
deb-src http://old-releases.ubuntu.com/ubuntu/ vivid main restricted
deb http://old-releases.ubuntu.com/ubuntu/ vivid-updates main restricted
deb-src http://old-releases.ubuntu.com/ubuntu/ vivid-updates main restricted
Anschließend einmal ein Update ausführen und die benötigten Pakete installieren:
2. Kernel Sources downloaden und entpacken:
mkdir build # Build Verzeichnis im Home-Verzeichnis erstellen
mkdir build/kernel
mkdir build/qts
mkdir build/compiled
mv build/kernel # Ins Kernel Verzeichnis wechseln und Kernel downloaden
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.14.24.tar.gz
tar -xvzf linux-4.14.24.tar.gz
3. QTS Sourcen downloaden und config kopieren:
Die QTS Sourcen sind hier zu finden:
https://sourceforge.net/projec…NAP%20NAS%20GPL%20Source/
In meinem Fall war dies GPL_QTS-4.4.0-20190806_Kernel.tar.gz
Datei herunterladen und z.B. per WinSCP auf die Ubuntu Maschine nach /home/user/build/qts kopieren
Dann entpacken und Config File extrahieren:
cd build/qts
tar -xvzf GPL_QTS-4.4.0-20190806_Kernel.tar.gz
cd ..
cp qts/GPL_QTS/kernel_cfg/TS-X53B/linux-4.14-x86_64.config kernel/linux-4.14.24/.config # WICHTIG IST DER PUNKT VOR CONFIG
Jetzt sollte alles soweit vorbereitet sein das wir die benötigten Treiber in der Config aktivieren können:
make menuconfig
Device Drivers --> Multimedia Support --> Media USB Adapters --> GSPCA based Webcams --> OV534 OV772x USB Camera Driver & OV534 OV965x USB Camera Driver aktivieren
make
make modules_install INSTALL_MOD_PATH=/home/user/build/compiled
Nun sollten sich die kompilierten Module hier finden lassen:
build/compiled/lib/modules/4.14.24-qnap/kernel/drivers/media/usb/gspca
Die Module auf das NAS kopiern und mit insmod aktivieren. Wichtig ist im Fall von dem ov534 Moduls auch das _Main Modul dazu zu laden da sonst funktionen fehlen.
Wird nun die PS Eye Cam angeschlossen wird sie als /dev/video0 gemountet (/dev/video0 gibt es auch vorher schon aber ohne "Inhalt").
Sollte beim Laden des Modules etwas nicht klappen hilft ein Blick in dmesg um zu wissen wo es klemmt.
Kurz noch als Ergänzung: es ist auch möglich mit Hilfe von -C einzelne Kernelmodule zu kompilieren, ohne das man den gesamten Kernel bauen muss. Damit erspart man sich die 10 stündige Prozedur
Ich habe es dank der Anleitung jetzt übrigens wieder hinbekommen das Wireguard Modul zu kompilieren
Hallo,
kannst Du hier dann die Einstellung bzw. Änderung aufführen, die Du für Wireguard verwendet hast?
Ich versuche auch unter dem LxD Ubuntu Container den Wireguard Server auf ipv6 zu bekommen.
Allerdings fehlt das Kernelmodul ip6table_nat.ko was ich auch gerne compilieren würde.
D.h. das make menuconfig bzw. das make danach erstellt mir den Kernel und alle möglichen Module. Soweit bin ich immerhin schon gekommen...
Allerdings weiß ich nicht in welchem Abschnitt in dem menuconfig ich dieses Modul zum Compilieren "aktivieren" kann.
Grüße
Gerhard
Vielleicht eine blöde Frage, aber muss man den Aufwand für Wireguard überhaupt noch betreiben? Ich dachte das wäre mittlerweile auch direkt mit in die Firmware bzw. ins QVPN gewandert?
Hallo,
wenn Du ausschließlich IPv4 über QVPN machst, dann klappt das.
Dabei habe ich allerdings keine IPv6 Möglichkeit gefunden oder verstanden darüber aufzusetzen.
Daher mein Versuch über einen LxD Ubuntu Container mit eben auch IPv6.
Da wird aber ein Fehlen von dem ip6table_nat.ko Modul im QNAP Kernel bemängelt.
Daher der Versuch das entsprechende Kernelmodul zu compilieren, was ich auch schon geschafft habe - meine ich zumindestens.
Jetzt habe ich aber leider:
oder
Da fehlen mir die entsprechenden Kenntnisse oder es passt doch noch etwas nicht.
Dazu ist jeder Tipp willkommen...
Grüße
Gerhard
Wireguard kannst Du in QVPN vollumfänglich mit IPv6 nutzen, selbst mit OVPN soll es mittlerweile möglich sein, wobei ich selbst noch keinen OVPN v6 Server auf QNAP erstellt habe.
Edit:
Wobei "vollumfänglich" etwas gelogen ist... Tunneln kann man v6 Traffic nämlich nicht.
Hallo,
würde ich gerne glauben, bzw. vielleicht verstehe ich da etwas nicht richtig.
Im QVPN Menu gibt es ja keine Möglichkeit für den Server eine IPv6 Adresse anzuwenden.
Da gibt es ja nur die Voreinstellung mit dem 198.18.7.0 Netz.
Selbst das finde ich nicht verständlich, da dieses Netz ja kein privates Netz ist.
Theoretisch könnten dieses Netz ja im Internet belegt sein...
Aber zurück zum IPv6, habe ich da etwas falsch verstanden?
Grüße
Gerhard
Gerade erst Deinen "Edit" gelesen, passt also zu meinem Kenntnisstand...
Und hier weitere Details zu meinen Fehlermeldungen mit der Bitte um Tipps bei dem Versuch mit insmod das Modul zu laden:
[2892706.669003] ip6table_nat: Unknown symbol ip6t_unregister_table (err -2)
[2892706.675855] ip6table_nat: Unknown symbol ip6t_register_table (err -2)
[2892706.682497] ip6table_nat: Unknown symbol ip6t_unregister_table_exit (err -2)
[2892706.689765] ip6table_nat: Unknown symbol ip6t_alloc_initial_table (err -2)
[2892706.696839] ip6table_nat: Unknown symbol ip6t_do_table (err -2)
Was vielleicht auch noch eine Alternative sein könnte, wäre Tailscale. Die werben damit, dass es dort volle IPv6 Unterstützung gibt. Und es gibt ein qpkg welches unter MIT Lizenz von der Community bereitgestellt wird.
Hallo,
danke für die versuchte Hilfe, aber:
- Tailscale ist zwar VPN aber eine Art zentral gemanaged Peer to Peer VPN Netz...
das will ich so halt mal nicht...
- QVPN - wie auch "tiermutter" geschrieben hat - macht eben kein ipv6 Traffic über den Tunnel...
Daher bin ich weiter dran den wireguard-Server als LxD Container mit ipv6 zum laufen zu bringen.
Hat sonst jemand noch Erfahrung mit Kernelmodulen?
In der Zwischenzeit habe ich für meinen Kernel "Linux version 5.10.60-qnap" die ipv6tables crosscompiliert.
Ging eigentlich ohne Probleme.
Nur jetzt die Frage:
Auf meiner TS-473 sind alle Kernelmodule "flach in /lib/modules/5.10.60-qnap zu finden...
Auf meiner Ubuntu-Maschine crosscompliert:
/lib/modules/5.10.60-qnap/kernel/net/ipv6:
ah6.ko
esp6.ko
ipcomp6.ko
ipv6.ko
sit.ko
tunnel6.ko
xfrm6_tunnel.ko
und im nächsten SubDir "netfilter":
ip6table_filter.ko
ip6table_mangle.ko
ip6table_nat.ko
ip6_tables.ko
ip6t_ipv6header.ko
ip6t_NPT.ko
ip6t_REJECT.ko
nf_log_ipv6.ko
nf_reject_ipv6.ko
Jetzt die Fragen, ob:
1. ich wahrscheinlich die zusätzlichen reinkopieren und alle vorhandenen Dateien ersetzen soll?
- da ansonsten eben die oben stehende Fehlermeldung kommt, wenn ich versuche nur "ip6table_nat.ko" zu laden.
- weil sonst wahrscheinlich die anderen Module dazu nicht passen?
2. Falls aber meine Crosscompileden Module irgendwie nicht passen,
2a. bootet meine QNAP dann dennoch?
2b. kann ich sie dann dennoch über IPv4 erreichen?
Grüße
Gerhard