英伟达 jetson xavier agx 开发(1)开发环境搭建
实验环境
- ubuntu18.4 LTS
- jetson xavier agx 32GB版本
- jetpack4.4
官网源码包下载
需要下载以下三个文件
public_sources.tbz2 #内核、uboot等源码
Tegra_Linux_Sample-Root-Filesystem_R32.4.4_aarch64.tbz2 #ubuntu文件系统
Tegra186_Linux_R32.4.4_aarch64.tbz2 #驱动包
gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz # 交叉编译工具链
- 1
- 2
- 3
- 4
官网下载速度比较慢,一般情况不容易下载,需要科学上网(开DL),由于话题比较敏感,请自行寻找KXSW的方式。
或者从以下地址下载
百度云:
链接:https://pan.baidu.com/s/1wczy-Uuwoqp4Pm_RzgFWSg
提取码:caxs
鉴于某度盘龟速下载,以下提供天翼云盘下载
天翼云盘:
https://cloud.189.cn/t/jayMJbVva2Iv (访问码:9hhp)
准备文件
建立目录
bsp #存放刚刚下载的官网文件
kernel #存放内核
rootfs #存放文件系统
- 1
- 2
- 3
解压文件
tar xvf bsp/tools/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz -C bsp/tools/
tar xvf bsp/kernel/public_sources.tbz2 -C bsp/kernel/
tar vxf bsp/kernel/Linux_for_Tegra/source/public/kernel_src.tbz2 -C kernel/
tar xvf bsp/rootfs/Tegra186_Linux_R32.4.4_aarch64.tbz2 -C bsp/rootfs/
cp -rf bsp/rootfs/Linux_for_Tegra/* rootfs/
sudo tar -xpvf bsp/rootfs/Tegra_Linux_Sample-Root-Filesystem_R32.4.4_aarch64.tbz2 -C rootfs/rootfs/
#注意最后解压加sudo权限并且加 p 参数保留原文件的权限,因为这是ubuntu文件系统,烧写到板子里面后根目录下都是root权限。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
安装交叉编译工具
#修改配置文件 /etc/profile 最后添加环境变量
export PATH=$PATH:/home/book/workspaceDuan/nvidia/jetson_xavier_agx/bsp/tools/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin
- 1
- 2
- 3
source /etc/profile
aarch64-linux-gnu-gcc -v #查看安装结果
- 1
- 2
构建文件系统
cd rootfs
sudo ./apply_binaries.sh
- 1
- 2
编译内核
cd kernel/kernel/kernel-4.9
make ARCH=arm64 tegra_defconfig #加载默认配置
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4 #编译
- 1
- 2
- 3
配置内核(可选)
make ARCH=arm64 menuconfig #图形化配置
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4 #编译
- 1
- 2
安装到文件系统
cp arch/arm64/boot/Image ../../../rootfs/kernel/ #拷贝内核
cp arch/arm64/boot/dts/tegra1* ../../../rootfs/kernel/dtb/ #拷贝设备树
sudo make ARCH=arm64 modules_install INSTALL_MOD_PATH=../../../rootfs/rootfs/ #安装驱动
#最后一步很重要,不安装驱动会一直闪屏进不了图形界面
- 1
- 2
- 3
- 4
刷机
让开发板进入强制恢复模式
cd ../../../rootfs/
sudo ./flash.sh jetson-xavier mmcblk0p1
- 1
- 2
nfs启动
很多时候我们开发中频繁更改内核调试,一直刷写emmc一来效率比较低,二来对wmmc也是一种损伤,因此建议从网络文件系统中启动,提高开发效率,减少对emmc频繁擦除的损伤
让开发板进入强制恢复模式
板子里搭建的有nfs服务
可以参考我的其他文章搭建nfs
ubuntu18.4搭建nfs网络文件系统windows挂载虚拟机nfs实现在物理机下实时修改虚拟机内容
sudo ./flash.sh -N 172.16.40.113:/home/book/workspaceDuan/nvidia/jetson_xavier_agx/rootfs/rootfs --rcm-boot jetson-xavier eth0
- 1
配置
刷机完成后可以
参考 英伟达 jetson xavier agx 调试(一)刷机 跳过sdkmanager
的刷机步骤进行安装sdk
参考 英伟达 jetson xavier agx 调试(二)配置 进行一些基础的配置