Jetson Nano开发环境搭建

1.交叉编译工具链

下载gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz

下载地址:Jetson Linux R32.7.2 Release Page | NVIDIA Developer

1)解压

安装位置为/opt

主机开发环境:Ubuntu 18.04.6 LTS

sudo tar -xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz -C /opt

2)修改启动脚本

vim ~/.bashrc

添加:

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

3)脚本生效

source ~/.bashrc

4)查看aarch64-linux-gnu-gcc版本

aarch64-linux-gnu-gcc -v

显示gcc相应的版本号,说明安装成功

注意:若想安装其他版本的交叉编译器,可前往:Linaro Releases

下载对应平台的编译好的工具链,并按上述方法操作。

2.u-boot编译

下载public_sources.tbz

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

1)解压

tar -jvxf public_sources.tbz2

cd Linux_for_Tegra/source/public

mkdir u-boot

tar -jvxf u-boot_src.tbz2 -C u-boot

cd u-boot/u-boot

2)导出环境变量

export CROSS_COMPILE=aarch64-linux-gnu-

3)清除原生成的文件

make distclean

4)配置

make p3450-0000_defconfig

5)编译

make

编译结果为当前目录下的u-boot.bin文件

拷贝u-boot.bin文件到Linux_for_Tegra/bootloader/t210ref/p3450-0000/下即可

Linux_for_Tegra目录为Jetson-210_Linux_R32.7.2_aarch64.tbz2解压后的目录,BSP下载地址:L4T Driver Package (BSP)

3.kernel编译

1)必要工具安装

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

2)解压kernel

cd <top>/Linux_for_Tegra/source/public

mkdir 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>

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

b)配置环境变量

export CROSS_COMPILE=aarch64-linux-gnu-

export LOCALVERSION=-tegra


c)生成.config文件

mkdir -p $TEGRA_KERNEL_OUT

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文件即可

SD卡版:tegra210-p3448-0000-p3449-0000-b00.dtb

eMMC版:tegra210-p3448-0002-p3449-0000-b00.dtb

g)安装内核模块

sudo make ARCH=arm64 O=$TEGRA_KERNEL_OUT modules_install INSTALL_MOD_PATH=<top>/Linux_for_Tegra/rootfs/

<top>为Linux_for_Tegra的上级目录

注意:“export LOCALVERSION=-tegra”生成的modules和内核携带相关信息,可查看“/lib/modules/4.9.253-tegra”后面有一个"-tegra",如果不使用“export LOCALVERSION=-tegra”的话,采用sdkmanager更新的系统,替换内核会无法启动,因为生成的是不带"-tegra"的。

4.rootfs编译

这里直接使用官方制作好的根文件系统。

1)解压BSP目录

BSP目录下载地址见u-boot章节。

tar -jvxf Jetson-210_Linux_R32.7.2_aarch64.tbz2

2)下载制作好的rootfs

下载地址:Sample Root Filesystem

3)将文件系统解压到BSP的rootfs目录

sudo tar -jxpf Tegra_Linux_Sample-Root-Filesystem_R32.7.2_aarch64.tbz2 -C <top>/Linux_for_Tegra/rootfs

注意:这里必须用sudo

4)安装应用程序

cd <top>/Linux_for_Tegra

sudo ./apply_binaries.sh

至此Jetson Nano基础开发环境搭建完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值