1. SDK Manager
JetPack 4.2及以后NV采用了新的安装方式,即通过SDK Manager 进行安装,界面如下:
JetPack4.2 for Xavier下载安装完成后,对应文件目录为:
/home/dennis/nvidia/nvidia_sdk/JetPack_4.2_Linux_P2888/Linux_for_Tegra
JetPack4.2 for TX2 下载安装完成后,对应文件目录为:
/home/dennis/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra
PS:
安装过程中可能会出现N种坑,查看TERMINAL--->Log逐一解决即可,若有不好解决之问题,可交流学习!
比如: Host端需要安装CUDA,才可以在设备端正常安装CUDA;软件安装过程比较慢; Host和Device 需要在同一局域网网段;下载可能需要翻墙等等
2. 已安装完成JetPack4.2 后再安装对应载板的固件如dtb、kernel
TX2:
如A302 (包含dtb-设备节点、Image-内核镜像文件、conf配置文件)
Linux Kernel Image:
Linux_for_Tegra/kernel/Image
Linux DeviceTree file:
Linux_for_Tegra/kernel/dtb/tegra186-quill-p3310-1000-c03-00-base.dtb
Config file:
Linux_for_Tegra/p2771-0000.conf.common
复
Xavier:
3. JetPack 4.2 源码
最简单直接的下载源码是通过source_sync.sh,操作过程:
运行./source_sync.sh ,随后输入Sync版本Tag:tegra-l4t-r32.1 (先kernel+hardware dts 后u-boot),脚本会自动同步源码!
Linux_for_Tegra$ ./source_sync.sh
Directory for kernel/kernel-4.9, /home/dennis/nvidia/nvidia_sdk/JetPack_4.2_Linux_P2888/Linux_for_Tegra/sources/kernel/kernel-4.9, already exists!
Please enter a tag to sync /home/dennis/nvidia/nvidia_sdk/JetPack_4.2_Linux_P2888/Linux_for_Tegra/sources/kernel/kernel-4.9 source to
(enter nothing to skip): tegra-l4t-r32.1
Syncing up with tag tegra-l4t-r32.1...
Switched to a new branch 'mybranch_2019-03-29-1553833342'
/home/dennis/nvidia/nvidia_sdk/JetPack_4.2_Linux_P2888/Linux_for_Tegra/sources/kernel/kernel-4.9 source sync'ed to tag tegra-l4t-r32.1 successfully!
3. JetPack4.2 & R32.1 GCC版本更新
解决:采用gcc 6.4.1 替代 4.8.5
问题:
dennis@dennisJiang:~/sda/home/dennis/git/jetpack4/JetPack_4.2_Linux_P3310/Linux_for_Tegra/sources/kernel/kernel-4.9$ ./make.kernel.sh
make[1]: Entering directory '/home/dennis/sda/home/dennis/git/jetpack4/JetPack_4.2_Linux_P3310/Linux_for_Tegra/out/kernel_out'
arch/arm64/Makefile:49: LSE atomics not supported by binutils
GEN ./Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
arch/arm64/Makefile:49: LSE atomics not supported by binutils
CHK include/config/kernel.release
GEN ./Makefile
CHK include/generated/uapi/linux/version.h
Using /home/dennis/sda/home/dennis/git/jetpack4/JetPack_4.2_Linux_P3310/Linux_for_Tegra/sources/kernel/kernel-4.9 as source for kernel
CHK include/generated/utsrelease.h
CC scripts/mod/devicetable-offsets.s
/home/dennis/sda/home/dennis/git/jetpack4/JetPack_4.2_Linux_P3310/Linux_for_Tegra/sources/kernel/kernel-4.9/scripts/mod/devicetable-offsets.c: In function ‘main’:
/home/dennis/sda/home/dennis/git/jetpack4/JetPack_4.2_Linux_P3310/Linux_for_Tegra/sources/kernel/kernel-4.9/scripts/mod/devicetable-offsets.c:210:1: sorry, unimplemented: function profiling
}
^
/home/dennis/sda/home/dennis/git/jetpack4/JetPack_4.2_Linux_P3310/Linux_for_Tegra/sources/kernel/kernel-4.9/scripts/Makefile.build:155: recipe for target 'scripts/mod/devicetable-offsets.s' failed
make[3]: *** [scripts/mod/devicetable-offsets.s] Error 1
/home/dennis/sda/home/dennis/git/jetpack4/JetPack_4.2_Linux_P3310/Linux_for_Tegra/sources/kernel/kernel-4.9/scripts/Makefile.build:649: recipe for target 'scripts/mod' failed
make[2]: *** [scripts/mod] Error 2
/home/dennis/sda/home/dennis/git/jetpack4/JetPack_4.2_Linux_P3310/Linux_for_Tegra/sources/kernel/kernel-4.9/Makefile:579: recipe for target 'scripts' failed
make[1]: *** [scripts] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/dennis/sda/home/dennis/git/jetpack4/JetPack_4.2_Linux_P3310/Linux_for_Tegra/out/kernel_out'
Makefile:171: recipe for target 'sub-make' failed
make: *** [sub-make] Error 2
网友评论