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. JetPack 4.2 源码下载编译
下载源码是通过source_sync.sh,操作过程:
运行./source_sync.sh ,随后输入Sync版本Tag:tegra-l4t-r32.1 (先下载同步kernel+hardware dts 后u-boot),脚本会自动同步源码!
编译源码是通过采用GCC6.4.1 ,操作过程:
- 下载GCC-6.4,并将其解压只/opt 目录命名如下(或按照自己的习惯)
- export CROSS_COMPILE=/opt/gcc-linaro-6.4.1-aarch64-linux-gnu/bin/aarch64-linux-gnu-
$ cd ~/nvidia/nvidia_sdk/JetPack_4.2_Linux_P2888/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
网友评论