使用的Ubuntu版本为18.04,配置如下:

  1. 13G内存
  2. 80G存储

安装sdkmanager

安装地址在https://developer.nvidia.com/embedded/downloads

之后在Ubuntu上安装

1
2
3
sudo apt install sdkmanager_1.9.2-10899_amd64.deb
#安装过后使用命令打开
sdkmanager

之后登录发现出现Authorization flow not allowed - invalid_request的报错,经过查询为sdk的版本过低,使用命令让sdk进行更新

1
sdkmanager --checkforupdates

按中间和左侧的按钮两秒进入刷机模式

  1. STEP1 中选择自己的设备XAVIER
  2. STEP2 选择安装的包
    1. img
  3. STEP3 到安装百分之30多时候,机器连接显示器进行安装系统,之后使用终端命令进行查询IP地址,在下一个部分会用到,

img

可以选择USB还是网络,USB会有报错,所以使用的网络,这个网络ip地址就是机器连接网络的ip地址(这里要保证ip地址和Ubuntu的地址处在同一个网关),如果机器连接了无线网卡就好办了,如果没有的话也不慌,使用一根网线连接电脑,将电脑网络适配器打开,右键属性找到共享模式,打开wifi的网络共享,之后再虚拟机上桥接这个网线,这样就保障了两个设备是在同一个网关下,并且XAVIER可以上网。

  1. STEP4 完成

安装简体中文输入法

1
2
sudo apt-get -y purge thunderbird* 
reboot

入门开发

选取板级支持包

XAVIER的支持包

https://developer.nvidia.com/embedded/jetson-linux-r3550

开发手册

https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/introduction.html#

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#罗列jetson平台上使用的系统命令
#查看当前工作模式
sudo nvpmodel --query
#设置当前模式
sudo nvpmodel -m 0
#开启风扇,开启最大时钟
jetson_clocks
#查看clock工作状态
jetson_clocks --show
#查看CPU温度
sudo apt install lm-sensors
sensors
#显示当前目录
pwd
#查看系统环境变量
env
#查看CPU几核
#这个命令非常有用,在编译时可以加速编译时间
nproc
#查看设备树
/sys/firmware/fdt
/sys/firmware/devicetree
/proc/device-tree
#列出安装得所有应用
dpkg --list
#清理安装失败的rc应用
sudo apt-get purge $(dpkg -l|grep ^rc|awk ‘(print $2)’)
#卸载指定的包
sudo apt-get --purge remove 包名
#清理不完整的软件包
sudo apt autoclean
#清理apt缓存内容:
sudo apt-get clean
#清理任何未用的依赖项:
sudo apt autoremove
#使用autoremove命令卸载
sudo apt autoremove application-name
#启动jetson-io工具
sudo /opt/nvidia/jetson-io/jetson-io.py
#查看当前jetpack的版本
cat /etc/nv_tegra_release
#python相关
#查看当前设备上的python版本
ls /usr/bin/python*
#查看替换设置
update-alternatives --list python
#如果没有设置,可用如下命令添加
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3.6 2
#版本切换
update-alternatives --config python
#查看当前默认版本
python --version
#查看jetson的L4T版本号
head -n 1 /etc/nv_tegra_release
#一个有用的工具jtop
sudo apt install python3-pip
sudo -H pip3 install -U jetson-stats
#如果第二个命令报错可能是网络问题,可以使用国内的镜像源加速安装

概念

  1. L4T是什么 L4T是Linux for Tegra的缩写,因为jetson系列用的是Tegra架构,因此L4T可以理解为jetson定制的Linux操作系统,具体的来说就是ubuntu定制款。
  2. 如何编译

NVIDIA给我们提供了每个版本的源码文件。

首先下载这些源码,然后选择一个平台进行编译。

具体来说有两种思路:

1.直接在jetson上编译(也叫目标平台编译,因为我们编译出来的文件是要刷到这个机器上的,所以叫目标平台)

优点是不跨平台,编译命令简单,缺点是慢,真的慢

2.交叉编译(就是在一台x86 PC上编译,因为我们是在一个硬件上编译出来给另一个硬件用,相当于跨平台了)

优点是速度快,不会把目标平台搞乱,缺点是需要进行交叉编译配置