| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> ubuntu 下jetson nano编译内核及系统烧录-超详细 -> 正文阅读 |
|
[系统运维]ubuntu 下jetson nano编译内核及系统烧录-超详细 |
一、内核编译jetson nano 的内核编译踩了不少坑,记录一下: 步骤如下: 1.下载交叉编译工具这里的网址来自官网,可以会更新,如果下载不了,需要去官网下载。 2.解压工具可以放在其他位置,我放在home目录下: /home$ tar -xvf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz 3.下载源码这里的网址来自官网,可以会更新,如果下载不了,需要去官网下载。 /home$ wget?https://developer.download.nvidia.cn/embedded/L4T/r32_Release_v7.1/Sources/T210/public_sources.tbz2 4.解压源码/home$ sudo tar -xjf public_sources.tbz2 5.进入源码目录/home$ cd Linux_for_Tegra/source/public/ 6.解压kernel/home/Linux_for_Tegra/source/public$ tar -xjf kernel_src.tbz2 7.安装工具/home/Linux_for_Tegra/source/public$ sudo apt install build-essential bc 8.设置内核输出目录这里我把内核输出目录设置在了home下的kernel_out /home/Linux_for_Tegra/source/public$ TEGRA_KERNEL_OUT=/home/kernel_out 9.设置交叉编译工具的环境变量/home/Linux_for_Tegra/source/public$ export CROSS_COMPILE=/home/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- 10.设置环境变量这一步必须加 /home/Linux_for_Tegra/source/public$ export LOCALVERSION=-tegra 11.进入内核目录/home/Linux_for_Tegra/source/public$ cd kernel/kernel-4.9/ 12.新建内核输出目录/home/Linux_for_Tegra/source/public/kernel/kernel-4.9$ mkdir -p $TEGRA_KERNEL_OUT 13.生成config文件/home/Linux_for_Tegra/source/public/kernel/kernel-4.9$ make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_defconfig 14.编译内核/home/Linux_for_Tegra/source/public/kernel/kernel-4.9$ make ARCH=arm64 O=$TEGRA_KERNEL_OUT 内核编译完成以后会在设置的输出目录下生成Image文件TEGRA_KERNEL_OUT/arch/arm64/boot/Image 以及DTB TEGRA_KERNEL_OUT/arch/arm64/boot/dts/ 注意:遇到的坑!在ubuntu下,如果在解压或者编译的时候提示没有权限,然后如果使用sudo指令,就会在最后一步14,提示编译错误!错误的log如下:LSE atomics not supported by binutils
这是因为使用sudo没有root权限所致,所以在以上步骤的时候,需要获取root权限后操作,并且严格按照上面操作,需要添加sudo的地方添加,没有的地方不要加!!! 我在官网提交的以及官方的回复: LSE atomics not supported by binutils - Jetson Nano - NVIDIA Developer Forums 另外,如果使用ubuntu远程登录默认root是不开放的,需要手动开放root登录: 1.设置密码
2.修改文件
,找到? 找到? ?退出保存。 然后重启ssh服务:
?二、根文件系统及烧录1.下载示例文件系统和驱动包进入home目录:cd ~ 下载文件: root@VM-12-5-ubuntu:~# wget?https://developer.download.nvidia.cn/embedded/L4T/r32_Release_v7.1/T210/Tegra_Linux_Sample-Root-Filesystem_R32.7.1_aarch64.tbz2?????? 下载:?L4TDriver Package root@VM-12-5-ubuntu:~# wget?https://developer.download.nvidia.cn/embedded/L4T/r32_Release_v7.1/T210/Jetson-210_Linux_R32.7.1_aarch64.tbz2 2. 解压驱动包root@VM-12-5-ubuntu:~# tar -xjf?Jetson-210_Linux_R32.7.1_aarch64.tbz2 解压出来会有一个文件名字为 Linux_for_Tgera的文件夹; 3.进入rootfs目录root@VM-12-5-ubuntu:~# cd?Linux_for_Tgera/rootfs 这时roofs是空的。 4.将示例文件系统解压root@VM-12-5-ubuntu:~/Linux_for_Tegra/rootfs#?sudo tar -jxpf ../../Tegra_Linux_Sample-Root-Filesystem_R32.7.1_aarch64.tbz2 现在rootfs已经装好了文件系统。 5.运行脚本
运行apply_binary .sh脚本将NVIDIA用户空间库复制到目标文件系统中。 注意,这里有可能出现ERROR qemu not found! 的问题,需要安装一下工具: sudo apt-get install qemu-user-static 6.替换Image文件
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 15:57:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |