상세 컨텐츠

본문 제목

특정 driver 소스코드 찾기

KERNEL

by 이를루 2022. 6. 11. 15:08

본문

 

어떤 디바이스 드라이버의 소스를 찾는 법은 

무식하게 kernel root 부터 다 찾는다!  NO

 

(1) 동작하는 시스템이 있다면  kmsg에서 동작하는 디바이스의 boot 과정에서 나오는 메시지를 찾는다.

    목적은 DTS 파일등에 나오는 문자열을 찾기 위해서이다

   예) "broadcom, systemmmu"

 

(2) 이렇게 해서 원하는 디바이스 드라이버의 문자열을 찾으면 다시 DTS 폴더에서 해당 device driver의 문자열을 찾는다.

    이때 ARM은 32bit용 64bit용의 호환성문제로 안써도 2곳에 다 넣은 경우가 있으니 주의

 

(3) 이제 찾은 문자열로  헤더파일을 찾는다. (소스에서 사용하는 곳이 n개 있을수 있다면 헤더에서는 보통 1개만 선언하기 때문에 검색시간 단축에 용이하다)

 

   $grep -nr "systemmmu" -include=*.h  

(3-2) 또는 드라이버 폴더에서 찾는다

   $grep -nr "systemmmu" drivers/*  와 같이 검색위치를 좁혀서

 

(3-3) or 조합

  $grep -nr "systemmmu" --include=*.h drivers/*

 

 

관련글 더보기