Jetson_Nano系统环境配置与编译

文章详细介绍了如何在Ubuntu环境下编译JetsonNano的SDK和内核。首先,下载源码包和交叉编译器,配置环境变量,然后解压并编译资源,生成系统镜像和dtb文件。接着,通过特定步骤烧录到JetsonNano中。此外,还涵盖了内核编译的过程,包括必要的工具安装、解压内核源码、配置、编译以及替换内核文件。
摘要由CSDN通过智能技术生成

Jetson_Nano编译SDK

1. 1 下载Jetson nano的源码包和交叉编译器,并解压到对应目录,选择自己相应的版本,

以32.7.1版本:

unbuntu虚拟机或者主机打开终端,新建文件夹。将资源包移到文件夹,并解压(实际操作的时候,请尽量用tab按键自动补齐指令)。

sudo mkdir sources_nano
cd sources_nano 

sudo mv ~/Downloads/Jetson-210_Linux_R32.7.2_aarch64.tbz2 ~/sources_nano/            
sudo mv ~/Downloads/Tegra_Linux_Sample-Root-Filesystem-R32.7.2_aarch64.tbz2 ~/sources_nano/  

1.2 配置环境变量

export PATH=~/jetson_nano/opt/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin:$PATH

source ~/.bashrc

export LOCALVERSION=-tegra

使用命令  aarch64-linux-gnu-gcc -v 如果可以看到编译器版本信息,说明环境变量配置正确。

使用命令 sudo apt-get install libxml2-utils  安装编译工具链

使用命令 sudo apt-get install qemu-user-static 安装组件

解压资源(需要sudo 权限执行)

sudo tar -xjf Jetson-210_Linux_R32.7.2_aarch64.tbz2
cd Linux_for_Tegra/rootfs/       
sudo tar -xjf ../../Tegra_Linux_Sample-Root-Filesystem_R32.7.2_aarch64.tbz2
cd ../
sudo ./apply_binaries.sh  (若出现报错按提示操作,再重新输入该指令)    

 

编译成功会提示,并在相应目录生成系统镜像和dtb文件 

EMMC烧录镜像,

  1. 用跳帽或者杜邦线短接FC REC和GND引脚,位于核心板底下。
  2. 连接DC电源到圆形供电口, 稍等片刻。进入recovery模式。
  3. 用USB线(注意要是数据线)连接Jetson Nano的Micro USB接口到Ubuntu主机。
cd ~/sources_nano/Linux_for_Tegra
sudo ./flash.sh jetson-nano-emmc mmcblk0p1

烧录完成之后,去掉底板的跳帽,接入显示器,重新上电,按照提示进行开机配置(如果是设置的pre-config, 上电后直接进入系统)。

如果想不通过SDK-Manager方式配置上电后直接进入系统,可在SDK目录Linux_for_Tegra目录下执行以下命令,l4t_create_default_user.sh脚本生成自动登录配置。(账号密码均为nvidia)

然后重新烧录系统即可。

sudo ./tools/l4t_create_default_user.sh -u nvidia -p nvidia -a

Jetson_Nano编译内核

同上下载  L4T Driver Package(BSP)Sources

下载public_sources.tbz   使用32.7.1版本(具体根据自己需要)

下载地址:L4T Driver Package (BSP) Sources

1)解压

tar -jvxf public_sources.tbz2

cd Linux_for_Tegra/source/public

kernel编译

1)必要工具安装

sudo apt install build-essential bc
sudo apt-get install libncurses5-dev

2)解压kernel 到自己的目录

找到kernel 压缩包位置

Linux_for_Tegra/source/public/kernel_src.tbz2

复制内核压缩包到目标目录并解压,例如kernel 文件夹

tar -jvxf kernel_src.tbz2 -C kernel

cd kernel/kernel-4.9

3)查询make版本
make -v
如果为:GNU Make 4.3则修改:kernel目录下scripts/Kbuild.include
the-space :=
the-space +=
改成:
E =
the-space = $E $E

4)编译内核
 

a)输出目录名称

TEGRA_KERNEL_OUT=<outdir>

mkdir -p $TEGRA_KERNEL_OUT

<outdir>为编译输出的目录名称

b)配置环境变量

export CROSS_COMPILE=aarch64-linux-gnu-

export LOCALVERSION=-tegra


c)生成.config文件

make O=$TEGRA_KERNEL_OUT distclean
make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_defconfig


d)编译

make ARCH=arm64 O=$TEGRA_KERNEL_OUT -j<n>

<n>为多线程编译的数量

若需要定制内核,可以在c)操作后面增加:
make ARCH=arm64 O=$TEGRA_KERNEL_OUT menuconfig
选择/移除相应的模块

编译生成内核和dts在:TEGRA_KERNEL_OUT/arch/arm64/boot

e)替换Linux_for_Tegra/kernel/Image用:
TEGRA_KERNEL_OUT/arch/arm64/boot/Image
f)替换Linux_for_Tegra/kernel/dtb/用:
TEGRA_KERNEL_OUT/arch/arm64/boot/dts/
只用拷贝dts目录下的*.dtb文件即可
 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值