모듈이 커널에 정적으로 컴파일되면 modinfo가 작동하지 않습니다. 해결 방법은 무엇입니까?

모듈이 커널에 정적으로 컴파일되면 modinfo가 작동하지 않습니다. 해결 방법은 무엇입니까?

modinfo모듈 매개변수를 조정할 때 매우 유용한 도구입니다(적어도 어떤 옵션을 사용할 수 있는지 검색). 예:

$ modinfo dummy
filename:       /lib/modules/2.6.32-openvz-042stab102.9-amd64/kernel/drivers/net/dummy.ko
alias:          rtnl-link-dummy
license:        GPL
srcversion:     B2C3F349E2A5175104E1B3E
depends:
vermagic:       2.6.32-openvz-042stab102.9-amd64 SMP mod_unload modversions
parm:           numdummies:Number of dummy pseudo devices (int)

그러나 놀랄 것도 없이 모듈이 커널에 정적으로 컴파일되지 않은 경우에만 작동합니다. 모듈을 컴파일했지만 네트워크에 액세스할 수 없는 경우 이 정보나 유사한 정보를 얻을 수 있는 해결 방법이 있습니까?

답변1

modinfo에 있는 대부분 또는 모든 정보는 사소하거나(작성자, 라이센스) 내장 모듈(마법, 종속성, 파일 이름 등)에 적용되지 않습니다.

생각할 수 있는 실용적인 가치가 있는 유일한 것은 "parm"이지만, 내장 함수를 로드하지 않기 때문에 동일한 방식으로 내장 함수에 적용되지 않습니다. 어쨌든 대다수의 모듈에는 이것이 없습니다. 사용자 공간에서 직접 조정할 수 있는 커널 기능은 일반적으로 /sys.

당신이 요구하는 것 ( "네트워크 액세스 없음"-즉, Google을 사용할 수 없음)은 다음과 같습니다.문서. 커널이 이것을 "동적으로" 역류시키지 않는 이유는 이것이 동적이 아니고 정적이며 이미 존재하기 때문입니다. 소스 트리는 Documentation디렉토리와 함께 제공되며 특정 라이센스, 작성자 등의 경우 이 정적 정보도 소스 트리에 있습니다. 로컬 오프라인 사본을 다운로드하여 저장할 수 있습니다.

예를 들어, 일부 내장 모듈 매개변수는 부팅 시 커널 명령줄에서 설정할 수 있습니다. 이것들은 다음에 나열되어 있습니다 Documentation/kernel-parameters.txt(문서 트리는 온라인으로 복사되어 있으므로 볼 수 있습니다).여기).

나는 이것이 정확히 당신이 바라는 것이 아니라는 것을 알고 있습니다. 그러나 당신이 정말로 바라는 것은 그다지 유용하지 않습니다. 마찬가지로, 대부분의 정보는 사소한 것입니다(소프트웨어 사용과 관련 없음). 심지어 컴파일되지 않은 모듈에 부여된 이름도 본질적으로 관련이 없습니다. 로드 가능한 모듈로 컴파일된 경우 HFS 파일 시스템에 대한 액세스를 제공하는 기능을 호출합니까 hfs? 실제로는아니요관련성이 있거나 의미 있는 정보입니다. 비유하자면, 당신이 요구하는 것은 다양한 내부 함수 호출의 이름과 서명을 찾기 위해 실행 중인 애플리케이션을 쿼리할 수 있기를 원하는 것과 약간 비슷합니다. 이와 관련된 내용이 관련성이 있거나 의미가 있는 한, 유기농이 포함되어 있어요문서.

관련 정보