Kompilieren dieses Treibers als Modul unter Linux, ohne eine vollständige Kernelkompilierung

715
Journeyman Geek

Ich habe eine mbox2 als externe Soundkarte unter Windows verwendet - sie klingt besser als meine Onboard-Soundkarte oder mein iPod und schaukelt meine Socken. Es gibt ein paar kleine Probleme - es funktioniert nur mit Apps, die ASIO unterstützen, und unterstützt immer nur einen einzelnen Stream - was nicht zu schlecht ist - Systemtöne funktionieren über die normale Soundkarte und Musik über die mbox2.

Nun ... es gibt einen experimentellen Treiber für Linux, der zwar unvollständig und nicht unterstützt wird und möglicherweise in Zukunft nicht aktualisiert wird, der mich die mbox2 unter Linux verwenden lässt und einige der Nachteile des Windows-Treibers nicht hat . Dies bedeutet jedoch, anscheinend einen komplett neuen Kernel zu kompilieren, und das möchte ich lieber nicht. Ich frage mich, ob es eine Möglichkeit gibt, dies als Modul zu kompilieren (die Kommentare deuten darauf hin), sondern eher einen ganzen Kernel.

0

2 Antworten auf die Frage

0
Shiki

Es gibt einige Möglichkeiten. Wenn es etwas ist, das dem Kernel eine völlig neue Option hinzufügt, müssen Sie eine Kernel-Quelle (höchstwahrscheinlich eine ältere Quelle) patchen und ausführen make menuconfig. Dort können Sie es nur als Modul aktivieren. Natürlich müssen Sie Ihren Kernel neu kompilieren. (Wenn die Box mit Linux beschissen ist ( Husten langsam), können Sie den Kernel dort einfach cross-compilieren und kopieren. WENN Sie wissen, wie es geht, oder haben Sie die Stimmung dafür.)

Oh, ich habe die Quelle überprüft. Ja, nur der Patching-Kernel funktioniert, da es sich nicht um ein Modul handelt. Es ändert das grundlegende ALSA-Verhalten, wenn ich das richtig sehen kann. Ja, vielleicht möchten Sie es als Modul kompilieren, aber ich bezweifle, dass dies möglich ist. (Versuchen Sie, den -git-Baum zu verwenden, vielleicht hat er das behoben. Da dies NICHT ein akzeptabler Weg ist, um Dinge zu reparieren.)

Wahrscheinlich hat er es nicht behoben. Es ist ein experimenteller Fahrer, den er offenbar nicht mehr entwickelt. Das macht mich zu einem traurigen Panda, da ich nicht sicher bin, ob es sich lohnt, durch Reifen zu springen, nur um eine Soundkarte zum Laufen zu bringen Journeyman Geek vor 14 Jahren 0
Dann musst du dabei bleiben. :) Shiki vor 14 Jahren 0
0
Ignacio Vazquez-Abrams

Es ist zwar möglich, es als Modul zu erstellen, es ist jedoch beabsichtigt, ein vorhandenes Modul, das vom Kernel-Paket für Ihre Distribution bereitgestellt wird, zu ersetzen. Dies würde dazu führen, dass Sie alle in diesem Modul im Mainline-Kernel vorgenommenen Verbesserungen verlieren.

Der richtige Weg, um damit umzugehen, wäre, das Kernel-Quellpaket für Ihre Distribution zu erhalten, den soundkartenspezifischen Code in der von ihm bereitgestellten Quelle zu finden, ihn in das Quellpaket zu packen und das Binärpaket neu zu erstellen. Es ist ein schwierigerer Weg, aber es werden bessere Ergebnisse erzielt.