반응형

Download kernel source
wget https://developer.nvidia.com/downloads/embedded/l4t/r35_release_v1.0/sources/public_sources.tbz2
# 압축 해제
tar -xjf public_sources.tbz2
# 커널 소스 위치로 이동 (압축 해제 후 생성된 디렉토리 확인)
cd Linux_for_Tegra/source/public
Kernel 소스 압축 풀기
tar -xjf kernel_src.tbz2
cd kernel/kernel-5.10
빌드 도구 설치
sudo apt-get update
sudo apt-get install build-essential bc bison flex libssl-dev \
libncurses-dev pkg-config elfutils-libelf-devel libssl-dev
Kernel configure
# 빌드 결과물이 저장될 디렉토리 생성
mkdir -p out
export TEGRA_KERNEL_OUT=$(pwd)/out
make O=$TEGRA_KERNEL_OUT tegra_defconfig
make O=$TEGRA_KERNEL_OUT menuconfig
비주얼 메뉴를 통해 설정하므로 오타 실수를 줄일 수 있습니다.
- 설정 화면 진입:
-
Bash
make O=$TEGRA_KERNEL_OUT menuconfig - 경로 이동:
- General setup --->
- Local version - append to kernel release 선택 (엔터)
- 값 입력:
- 입력창에 -tegra를 입력하고 OK를 누릅니다.
Kernel build
# 커널 및 모듈 빌드 (-j 옵션은 Xavier 코어 수에 맞춰 조절)
make O=$TEGRA_KERNEL_OUT -j$(nproc)
# 빌드된 모듈 설치
sudo make O=$TEGRA_KERNEL_OUT modules_install INSTALL_MOD_PATH=/
설치 작업
# 커널 이미지 복사
sudo cp /boot/Image /boot/Image.backup
sudo cp $TEGRA_KERNEL_OUT/arch/arm64/boot/Image /boot/Image
# DTB 업데이트 (Xavier 필수)
sudo mkdir -p /boot/dtb/$(uname -r)/
sudo cp arch/arm64/boot/dts/nvidia/*.dtb /boot/dtb/$(uname -r)/
# 새 커널 버전 확인
NEW_VER=$(cat include/config/kernel.release)
echo $NEW_VER
# initrd 생성
sudo update-initramfs -c -k $NEW_VER
# 생성 확인
ls -la /boot/initrd-${NEW_VER}
# 또는
ls -la /boot/initrd.img-${NEW_VER}
extlinux 설정
/boot/extlinux/extlinux.conf
TIMEOUT 30
DEFAULT primary
MENU TITLE L4T boot options
LABEL primary
MENU LABEL primary kernel (custom)
LINUX /boot/Image
FDT /boot/dtb/5.10.104-tegra2/tegra194-p3668-0000-p3509-0000.dtb
INITRD /boot/initrd.img-5.10.104-tegra2
APPEND ${cbootargs} root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 video=efifb:off nospectre_bhb
LABEL backup
MENU LABEL backup kernel (origin)
LINUX /boot/Image.backup
FDT /boot/dtb/kernel_tegra194-p3668-0000-p3509-0000.dtb
INITRD /boot/initrd
APPEND ${cbootargs} root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 video=efifb:off nospectre_bhb
reboot
Reference
728x90
반응형