본 페이지는 커널 분석 환경을 구성하는 방법에 대한 가이드입니다. Visual Studio Code 편집기 기반과 Windows 환경 기반으로 작성하였습니다.

분석 환경 구성을 위해서는 아래의 3단계가 필요합니다. 본 가이드에서는 WSL 기반으로 분석환경 설정하는 방법에 대한 가이드만을 기술하며, 가상머신이나 맥을 이용하시는 분께서는 커널 소스 다운로드부터 Visual Studio Code 플러그인 설치 부분을 참고 바랍니다.

문서에서 잘못된 부분이 있으면 말씀해주시면 수정하겠습니다.

WSL 설치

WSL 은 리눅스를 윈도우즈 서브시스템으로 사용하는 것으로서 윈도우즈 기능에서 sub-system 활성화한 후 아래와 같이 설치하여 사용 가능합니다.

WSL 기능 활성화

WSL 기능 활성화

Microsoft Store를 통해 WSL (Ubuntu 버전) 설치 - 다른 배포판도 설치 가능

Microsoft Store를 통해 WSL (Ubuntu 버전) 설치 - 다른 배포판도 설치 가능

설치 후에 Ubuntu 라는 이름의 프로그램 실행 후 패스워드 설정까지 완료되면, 아래와 같이 프롬프트가 뜨는 것을 확인할 수 있습니다. 리눅스 셸 환경에서 패스워드 입력시 별도의 * 표시는 되지 않습니다.

Mirror 설정 (Optional)

아래는 추가 설정을 위한 내용입니다. 필수는 아니지만, 우분투의 경우 설치 후 Repository mirror 설정을 해줘야 패키지 설치가 빠릅니다. 기존 Base URL을 **mirror.kakao.com/ubuntu/** 로 바꾼 뒤, sudo apt update && sudo apt upgrade 를 해줍니다.

sukbeom@DESKTOP-RNU0UMM:~$ sudo vi /etc/apt/sources.list

커널 소스 다운로드 및 태그 생성

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ 주소를 참고하여 원하는 코드를 받습니다. 작성일 기준 v5.9.11이 최신이네요.

$ git clone [<https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/>](<https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/>) -b v5.9.11 

이제 필요한 패키지를 모두 설치해줍니다.

$ sudo apt install gcc-aarch64-linux-gnu cscope ctags global

설치한 이후에 커널 소스에서 아래와 같이 arm64 에 대한 태그 및 cscope 데이터베이스를 만들어줍니다.