헤더 파일로부터 설치 패키지를 찾을 수 있나요? rpm, dpkg 등

zelon의 이미지

한창 임베디드 공부를 하고 있습니다.

그 과정 중에 커널 컴파일을 하고 있는데 proc_bus() 라는 함수가 undeclared 되어서 컴파일 에러를 내고 있는데, 검색해보니 /usr/include/linux/proc_fs.h 라는 파일에 선언되어 있더군요. 그런데 그 파일은 제 시스템에 없습니다.

이런식으로 헤더 파일을 알 때 어떻게 헤더 파일을 설치할 수 있을까요?

승네군의 이미지

proc_fs.h는 커널 소스파일에 포함되어 있는걸로 알고 있습니다만..

/lib/modules/어쩌구저쩌구/build/include/linux
혹은
.../build/include/asm/

에 있을듯 합니다만...

승네군의 이미지

proc_fs.h 파일은

/lib/modules/`uname -r`/build/include/linux
혹은 ../build/include/asm

디렉토리에 존재하는걸로 알고 있습니다.
(실제로는 커널 소스 디렉토리에 링크 걸린거지만요..;)

feanor의 이미지

데비안에서는 apt-file을 쓰세요.

$ aptitude install apt-file
$ apt-file update
$ apt-file search /usr/include/linux/proc_fs.h
linux-kernel-headers: usr/include/linux/proc_fs.h