Raspberry Pi용 실시간 커널을 컴파일하고 싶습니다(https://github.com/emlid/linux-rt-rpi) 사운드 카드와 함께 pi를 사용하고 싶습니다 - tascam 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