1. Linux Cross Reference site 이용
URL : http://lxr.linux.no/
사이트에 접속하면 빨간 박스를 클릭하여 최신 버전의 소스 최상위로 진입할 수 있다.
선택후,
빨간 동그라미 부분을 클릭하면 버전별 소스 트리를 선택할 수 있다. 일단 2.6.37.1 최신버전을 선택
그리고 바로 옆 search 박스에서 테스트로 "task_struct" 를 입력하고 search 버튼을 누른다.
찾은 "task_struct" 두가지로 분류되어 있다. "Extern or forward variable declaration"(위의 그림) 과 "Structure"(아래 그림)
include/linux/sched.h 를 클릭하여 소스를 보도록 하자.
위와 같이 소스를 볼수가 있다. include file이나 각종 변수 및 선언된 내용(파란색 글)은 모두 클릭하여 연결된 소스를 웹에서 볼수가 있다.
2. Program의 이용
분석툴로는 Linux 에서는 vim + ctags + cscope 방법과 Window에서 사용하는 SourceInsight 가 있다.(물론 유료버전임.. 30일 무료버전을 다운받아 사용해보는 것을 추천한다.)
이미 내용을 잘 써놓은 블로그가 검색하면 쫙 나오기에.. 검색해보고 찾은 것중 참고할 만한 글을 링크합니다.
a. http://sosal.tistory.com/11 커널 분석기(vim+ctags+cscope) 정리한 블로그 입니다.
b. sourceInsight 사용법 : http://wizlog.net/60 (시작하기에 좋은 참고 블로그입니다.)
- 한글 주석 입력방법 : http://jany.tistory.com/47
3. Get Linux Kernel Source
Web Browser : www.kernel.org
빨간 박스는 최신버전을 바로 다운로드 할 수 있는 링크임.
국내 미러 사이트의 주소는
여기서 v숫자(ex. v2.6) 를 클릭하여 들어가면 관련 버전의 소스를 다운받을 수 있다.
Console에서는
wget을 이용한다.(없으면 설치해야함. ubuntu는 "sudo apt-get install wget" 하면됨.
$ wget -c http://<mirror site>/pub/linux/kernel/v2.6/linux-<version>.tar.bz2
version은 linux-2.6.23.7.tar.gz 이런 식으로 입력하면 됩니다.
'Development Tip' 카테고리의 다른 글
Android git mirror site (0) | 2011.09.30 |
---|---|
Per-process Namespace (0) | 2011.03.16 |
VMware Server Ver2.0.X : [Solved] VMware tools install fail (0) | 2011.03.16 |
Eclipse Git Repository Plugin (Egit) (0) | 2010.12.31 |
Free Repository 제공 사이트 소개(SVN, Git) (0) | 2010.12.30 |