Raspberry Pi用のリアルタイムカーネルをコンパイルしたい(https://github.com/emlid/linux-rt-rpi)サウンドカードでpiを使用したい - Taborm us122l。
私が経験している問題は、us122lモジュールをコンパイルするにはx86を選択する必要があることです。ドライバコードを知っていて、他のサウンドカードドライバsnd_usb *と変わらないので、これがカーネル製作だと疑われます。 alsa開発チームに尋ねようとしていますが、今カーネルをコンパイルしたいと思います。
このモジュールの要件を変更するためにカーネルソーススクリプトを編集する方法はありますか?
│記号:SND_USB_US122L [= n]
|タイプ: Tri-state │
│ ヒント: Tascam US-122L USB ドライバ │
│ 場所: │
│ -> デバイスドライバ │
│ -> サウンドカードサポート (SOUND [=y]) │
│ -> 高度な Linux サウンドアーキテクチャ (SND [ = m]) │
│ (1) -> USB サウンド デバイス (SND_USB [=y]) │
│ sound/usb/Kconfig:92 で定義されています │
│ 依存項目: SOUND [=y] && !M68K && !UML && SND [= m] && SND_USB [= y] && USB [= y] && X86 --- これは問題です。
│
│選択: SND_HWDEP [=m] && SND_RAWMIDI [=m]
答え1
こんにちは。以下の手順に従って、ドライバをARMアーキテクチャ用のモジュールにコンパイルします。
Linuxでrtカーネルをクロスコンパイルする
クロスコンパイルオプションを指定するには、次の変数をエクスポートします。
export ARCH=arm export CROSS_COMPILE=~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf- raspbian/bin/arm-linux-gnueabihf- make bcmrpi_rt_defconfig
カーネルをコンパイルします。
make -j5
sound / usbフォルダのMakefileを編集します。
例えば
snd-usb-audio-objs := card.o \
clock.o \
endpoint.o \
format.o \
helper.o \
mixer.o \
mixer_quirks.o \
pcm.o \
proc.o \
quirks.o \
stream.o
snd-usbmidi-lib-objs := midi.o
# Toplevel Module Dependency
obj-m += snd-usb-audio.o snd-usbmidi-lib.o
obj-m += snd-usbmidi-lib.o
obj-m += snd-usbmidi-lib.o
obj-m += snd-usbmidi-lib.o
obj-m += misc/ usx2y/ caiaq/ 6fire/ hiface/ bcd2000/
ドライバをモジュールにコンパイル
make modules M=sound/usb