젠투에 그놈이랑 커널이랑 alsa랑..질문임다!!
질문할 때도 당당하게..^^;;
젠투에서 제공하는 커널이 아니라 2.6.7을 직접 설정해서 컴파일했는데 한가지 실수를 했습니다. devfs관련 항목을 체크를 안 했던 것입니다. 뭐 그런대로 여차여차 잘 사용하고 있다가도 문득문득.. 부팅 도중에 15초 카운트다운도 맘에 안들고ㅎㅎ이래저래 같은 버전의 커널을 설정 저장 파일을 불러들인 후 devfs관련 옵션만 추가로 체크하고 다시 컴파일 했습니다. 새로운 커널로 부팅을 했더니 역시! 아무 에러 없이 부팅 잘 되서 그 전에 설치했던 그놈을 띄었습니다. 이거 왠걸.. /dev/sound/mixer가 없다면서 볼륨조절 프로그램이 실행되지 않습니다. 물론 xmms에서도 사운드 설정에 문제가 있다면서 소리가 나지 않습니다. 여기저기 질문 다 찾아보구 이 방법 저 방법 하다가 결국 소리 잘 나오던 그 전 커널에서도 소리가 안 나오기 시작했습니다.( 뭐 이런 경험이 한 두번이 아니라 ㅎㅎㅎㅎ;;)
제가 이전 커널을 컴파일하고 그놈을 설치할 때, 당연히 alsa 드라이버는 built-in으로 설치했습니다. 하지만 여타 alsa설치 메뉴얼에 나와있듯이, alsa-utils나 alsa-oss 뭐 이런 것들 하나도 설치 안하고 잘 쓰고 있었습니다. 근데 당연히 저런 것들을 설치해야 한다는 듯이 질문답변에 써 있고, 그래서 지금은 했고 모듈을 올리는 작업도 했는데, 이 방법 저 방법 다 안 통하고 텅빈 /dev/sound디렉토리를 보면서 영 마음이 안 좋네요..후훗..아 웃긴건( 안 웃기면 안되는데..^^ )
#cat /proc/asound/cards
하면 제대로 보인다는 것은 물론이고, 터미널상에서 aplay를 이용해서 웨이브파일을 재생할 수 있다는 것입니다..^^;; 참 뭐가 뭔지..
뭔가 제 상황에 딱 맞는 답변이면 더욱 좋겠지만, 2.6.X에서의 alsa와 모듈 올리는 것과 그놈과 커널 설정 관계의 윤곽을 잡아줄 수 있는 답변 부탁하겠습니다.^^여기저기 찾아볼 만한 곳은 찾아봤는데 역시나 know-where도 실력이라는 것을 실감했습니다. 그럼 부탁드리겠습니다..^^
커널은 어디에 있는걸 사용해도 뭐 상관없겠죠.일단은 사운드 카드만 잡
커널은 어디에 있는걸 사용해도 뭐 상관없겠죠.
일단은 사운드 카드만 잡히면 되는것 같은데...
ALSA는 모듈로 올려도 되지만 보통 그냥 커널에 포함시켜놔도 됩니다.
일단 모듈로 올리는 방법은...
/etc/modules.autoload.d/kernerl-2.6 (이건 해당 커널중심입니다.)
에 예제처럼
alsa
이렇게만 하면 될겁니다. (이부분은 잘 모르겠네요. 커널 모듈쪽에 정의되어있는
값을 넣어주면 될것 같은데...)
모듈이 수동으로 올리려면 modprobe alsa 이렇게하면 되겠죠.
lsmod로 올라간 모듈을 확인할 수 있습니다.
커널에 포함되어있다면 dmesg | ALSA로 확인가능합니다.
보통 대부분의 사운드관련 프로그램들은 OSS Mixer API나 PCM API를 사용합니다.
그래서 커널 컴파일시에 이부분을 같이 포함시켜주어야합니다.
Device Drivers->Sound->Advan..(ALSA)->
<*>OSS Mixer API
<*>OSS PCM(digital) API
이렇게 해놓으면 외부 프로그램이 사용하는 API를 적용시켜주는 역할을 하죠.
즉, 외부에서 사운드 API를 사용하면 그것을 ALSA와 연결 시켜주는 역할을
합니다.
한번 확인을 해보시는게 좋을듯 합니다.
------------------------------
좋은 하루 되세요.
하하..^^;;
일단 감사합니다.
제가 시도한 방법은 그저 emerge -C alsa-utils랑 모듈로 체크되어 있던
OSS관련 항목을 built-in으로 하여 커널을 다시 컴파일하고
그리고 alsa랑 관련되어 있던 /etc/modules.conf내의 줄을 지우고
ㅎㅎㅎㅎ
암튼 소리가 나네요.. 정확히 어떤 이유에서 소리가 안 난지는 모르겠지만
커널 컴파일에서 모듈로 되어있던 걸 바꿔 준 게 가장 유효했던 방법이
아닌가 하는 생각이 일단 듭니다. 감사..감사.. 또 감사합니다..;)
a~~hahaha
댓글 달기