B. Download cross compiler for Jetpack BSP
Linux for Tegra(Linux4Tegra, L4T)는 Nvidia Jetson 보드 시리즈와 같은 플랫폼에서 사용되는 Tegra 프로세서 시리즈용 Nvidia의 Linux 기반 시스템 소프트웨어 배포판입니다.
< 1 > l4t-gcc 폴더를 만들어 주고 해당 폴더로 이동해줍니다.
mkdir l4t-gcc
cd l4t-gcc
< 2 > cross compiler를 다운받습니다.
wget http://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
< 3 > 파일 압축해제를 해줍니다.
tar xf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
C. Download source code for Jetpack BSP
< 1 > ‘Linux_for_Tegra’ 폴더로 이동해줍니다.
cd Linux_for_Tegra
< 2 > JetPack version에 맞게 명령어를 실행해 줍니다.
You can check version from STEP A - 8 tbz2 file name. (ex) R32.7.1 --> JetPack 4.6.1
./source_sync.sh -k tegra-l4t-r32.7.1
< 3 > sources 폴더가 생성된 것을 확인합니다.
sources 폴더에서 원하는 부분의 수정을 마친 뒤 Build & Flash 과정을 거친다.
[ Command ]
< Export Value >
export LOCALVERSION=-Example
JETPACK=<Jetpack BSP Location>
CROSS_COMPILE=/home/l4t-gcc/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
KERNEL_OUT=${JETPACK}/Linux_for_Tegra/sources/kernel/kernel-4.9/build
KERNEL_MODULES_OUT=${JETPACK}/Linux_for_Tegra/rootfs
< Build Full BSP & Flash >
Make build folder
cd ${JETPACK}/Linux_for_Tegra/sources/kernel/kernel-4.9/
mkdir -p $KERNEL_OUT
Create the .config file
make ARCH=arm64 O=$KERNEL_OUT tegra_defconfig
Build the kernel and DTBs
make ARCH=arm64 O=$KERNEL_OUT CROSS_COMPILE=${CROSS_COMPILE} -j12
Install modules in temporal location
sudo make modules_install ARCH=arm64 O=$KERNEL_OUT CROSS_COMPILE=${CROSS_COMPILE} INSTALL_MOD_PATH=$KERNEL_MODULES_OUT INSTALL_MOD_STRIP=1
Make a backup of the current image
BKUP_DATE=`date "+%Y_%m_%d_%H_%M_%S"`
mv ${JETPACK}/Linux_for_Tegra/kernel/Image{,.$BKUP_DATE}
mv ${JETPACK}/Linux_for_Tegra/kernel/zImage{,.$BKUP_DATE}
mv ${JETPACK}/Linux_for_Tegra/kernel/kernel_supplements.tbz2{,.$BKUP_DATE}
mv ${JETPACK}/Linux_for_Tegra/kernel/dtb{,.$BKUP_DATE}
Deploy binaries in their required locations
cd $KERNEL_OUT/
cp ./arch/arm64/boot/Image ${JETPACK}/Linux_for_Tegra/kernel/
cp ./arch/arm64/boot/zImage ${JETPACK}/Linux_for_Tegra/kernel/
cp -r ./arch/arm64/boot/dts ${JETPACK}/Linux_for_Tegra/kernel/dtb
Regenerate kernel modules supplement file
cd $KERNEL_MODULES_OUT
tar --owner root --group root -cjf ${JETPACK}/Linux_for_Tegra/kernel/kernel_supplements.tbz2 lib/modules
Generate JetPack image
cd ${JETPACK}/Linux_for_Tegra/
sudo ./apply_binaries.sh
flash image - 명령어 수행 전 Jetson Device Recovery Mode 상태여야 함
sudo ./flash.sh <platform> mmcblk0p1
<platform> 장치 종류
• For Jetson AGX Xavier: jetson-xavier
• For Jetson TX2: jetson-tx2
• For Jetson TX1: jetson-tx1
• For Jetson Nano eMMC module: jetson-nano-emmc
• For Jetson Nx eMMC module: jetson-nx-emmc
'NVIDIA > Jetson' 카테고리의 다른 글
Jetson Remote Control (0) | 2023.04.22 |
---|---|
Jetson debugging (0) | 2023.03.21 |
L4T(Linux for Tegra), JETSON (0) | 2023.02.01 |
JETSON backup 이미지 만들기 (0) | 2023.01.28 |
Jetpack BSP Download - emmc (0) | 2022.10.23 |