Linux 호스트 PC에서 브라우저를 열고 Jetson Linux Archive로 로 이동해야 합니다.먼저 Jetson Linux 버전이 지원되는지 확인해야 합니다.
https://developer.nvidia.com/embedded/jetson-linux-archive
Jetson Linux Archive
Find previous L4T releases and which Jetson modules they support.
developer.nvidia.com
적절한 버전을 찾으면 클릭하여 다운로드한 페이지로 이동합니다. "L4T 드라이버 패키지(BSP)" 및 "샘플 루트 파일 시스템"을 찾아 클릭하여 드라이버 파일을 다운로드합니다.
예를 들어 NVIDIA L4T 35.1.0 버전을 선택합니다. 파일 이름은 다음과 같아야 합니다.
- Tegra_Linux_Sample-Root-Filesystem_R35.1.0_aarch64.tbz2
- Jetson_Linux_R35.1.0_aarch64.tbz2
Linux 호스트 PC에서 Terminal아래 명령줄을 사용하여 파일 압축을 풀고 apply_binaries 스크립트를 실행시킵니다.
tar xf ${L4T_RELEASE_PACKAGE}
cd Linux_for_Tegra/rootfs/
sudo tar xpf ../../${SAMPLE_FS_PACKAGE}
cd ..
sudo ./apply_binaries.sh
${XXX_XX_XXX} 다운로드한 파일 이름을 입력하는 곳입니다.
커널 소스 다운로드
1. 릴리스용 Jetson Linux 소스 파일을 찾아 다운로드 합니다.
2. 파일 압축 해제
tar -xjf public_sources.tbz2
3. 커널 소스 파일 압축 해제
cd Linux_for_Tegra/source/public
tar –xjf kernel_src.tbz2
이렇게 하면 커널 소스가 kernel/ 하위 디렉토리로 추출됩니다.
커널 구축
커널을 빌드하기 전에 Jetson Linux 빌드 유틸리티를 설치해야 합니다. 다음 명령을 입력합니다.
sudo apt install build-essential bc
커널을 빌드하려면
1. 위에서 설명한 대로 커널 소스를 동기화 또는 다운로드 및 확장하고 커널 빌드 유틸리티를 설치합니다.
2. 호스트 시스템(예: 빌드하려는 Jetson 장치 이외의 시스템)에서 크로스 컴파일하는 경우 다음 환경 변수를 내보냅니다.
export CROSS_COMPILE_AARCH64_PATH=<toolchain-path>/aarch64--glibc--stable-2020.08-1
3. 빌드된 커널이 생성될 폴더를 만들어줍니다.
mkdir kernel_out
4. 커널 빌드
./nvbuild.sh -o $PWD/kernel_out
5. kernel_out/drivers/gpu/nvgpu/nvgpu.ko 파일을 다운로드한 JETPACK 이미지 경로에 교체합니다.
sudo cp -r drivers/gpu/nvgpu/nvgpu.ko $JETPACK/Linux_for_Tegra/rootfs/usr/lib/modules/$KERNEL_VERSION/kernel/drivers/gpu/nvgpu/
6. 장치 트리의 경우 파일을 $kernel_out/arch/arm64/boot/dts/nvidia/ 안에 파일들을 다운로드 받은 JETPACK 이미지 경로에 교체합니다.
cp -r arch/arm64/boot/dts/nvidia/* $JETPACK/Linux_for_Tegra/kernel/dtb/
7. kernel_out/arch/arm64/boot/Image 파일을 다운로드 받은 JETPACK 이미지 경로에 교체합니다.
cp -r arch/arm64/boot/Image $JETPACK/Linux_for_Tegra/kernel/Image
8. 다음 명령을 통해 모듈을 설치합니다.
sudo make install modules_install ARCH=arm64 O=$KERNEL_OUT CROSS_COMPILE=${CROSS_COMPILE_AARCH64} INSTALL_MOD_PATH=$KERNEL_MODULES_OUT INSTALL_MOD_STRIP=1
9. 설치된 커널 모듈을 보관합니다.
$ tar --owner root --group root -cjf ${JETPACK}/Linux_for_Tegra/kernel/kernel_supplements.tbz2 $KERNEL_MODULES_OUT/lib/modules
설치된 모듈을 사용하여 커널을 빌드하지 않고 압축을 풀어 복사 붙여 넣기 해서 사용할 수 있습니다.
참고 :
https://docs.nvidia.com/jetson/archives/r35.1/DeveloperGuide/text/SD/Kernel/KernelCustomization.html
Kernel Customization — Jetson Linux<br/>Developer Guide 34.1 documentation
Before you build the kernel you must install the Jetson Linux build utilities. Enter the command: Signing and Encrypting the Kernel, the kernel-dtb, and the initrd Binary Files To support Secure Boot, the kernel, kernel-dtb, and initrd binary files must be
docs.nvidia.com
'NVIDIA > Jetson' 카테고리의 다른 글
Preparing to Build External Kernel Modules (0) | 2023.05.21 |
---|---|
Jetson File Mount (0) | 2023.05.21 |
Deepstream 설치 및 실행 (0) | 2023.04.25 |
Customized Logo (0) | 2023.04.22 |
Jetson Remote Control (0) | 2023.04.22 |