외부 라이브러리 빌드 관련 커널 소스 경로 변경 가이드


Revision History for Document

Rev

Date

Description

1.0

2024-02-26

initial

 

 

 

Introduction

본 문서는 NVIDIA Jetson 보드에서 Makefile 내 커널 소스의 잘못된 경로로 인해 외부 라이브러리 빌드가 되지 않는 경우, 이를 해결하기 위해 Makefile을 수정하는 방법에 대해서 설명한다.

수정 방법

설명에 앞서, 해당 문서의 경우 CLEB-G-01A를 기준으로 작성한다.

kernel_dir = /lib/modules/`uname -r`/build

Makefile 내 커널 소스 경로가 위와 같이 라이브러리 모듈을 가리키고 있는 경우, 라이브러리 모듈이 아닌 커널 유저 소스 경로로 수정해야 한다.

kernel_dir = /usr/src/linux-headers-5.10.120-tegra-ubuntu20.04_aarch64/kernel-5.10

예시

https://www.kvaser.com/canlib-webhelp/section_install_linux.html#section_install_driver_linux

wget --content-disposition "https://www.kvaser.com/downloads-kvaser/?utm_source=software&utm_ean=7330130980754&utm_status=latest" tar xvzf linuxcan.tar.gz cd linuxcan make

kvaser 드라이버를 빌드하면 /lib/modules/5.10.120-tegra/build: No such file or directory. Stop. 에러가 발생하며 빌드가 되지 않는다.

Screenshot from 2024-02-26 11-18-10.png

Makefile의 커널 소스 경로를 수정한다.

Screenshot from 2024-02-26 11-28-11.png

추가적으로 kvaser 드라이버의 경우, config.mak 파일의 커널 소스 경로도 수정한 뒤 빌드한다.

빌드 성공