Xavier调试
1. 换源
备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
修改source.list
换源ARM源 Xavier清华:
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted
修改完后 保存 sudo apt update
2.开机跳过输入用户名密码
-
省略密码验证 需要将
/etc/passwd
中的root:x:00:root:/root:/bin/bash
,改为root::0:0:root:/root:/bin/bash
去掉里面的x,这样的root用户就不用密码. -
省略输入用户名 修改/etc/inittab:
ttySx::respawn:/sbin/getty /dev/ttySx xxxx 成 ::respawn:-/bin/sh 即可
3.ssh
利用ifconfig 查找inet值
然后利用用户名@ip登录
ssh cold@172.20.10.2
pw 900923
传送文件
scp cold@172.20.10.2:/home/cold/user/xxxx
4.vnc设置
AGX Xavier端 两个设置地方:
- 下载 dconf-editor 工具开启桌面共享权限
sudo apt-get install dconf-editor
- 开启 dconf-editor 工具
dconf-editor
进入 /org/gnome/desktop/remote-access
,主要是将requre-encryption
关闭
- 开启VNC Server
一共分3步:
- 编辑
org.gnome.Vino.gschema.xml
,补上缺失的enable选项sudo nano /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml
在最后的之前补上一下代码
<key name='enabled' type='b'>
<summary>Enable remote access to the desktop</summary>
<description>
If true, allows remote access to the desktop via the RFB
protocol. Users on remote machines may then connect to the
desktop using a VNC viewer.
</description>
<default>false</default>
</key>
- 编译schemas for Gnome
如果没有编译log的话 ,说明没有错误
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
3)开启VNC server
开启一个terminal输入以下指令 :
/usr/lib/vino/vino-server
vnc 连接 172.20.10.2
5. 控制Xavier风扇
- 安装硬件温度检测工具sensors
sudo apt install lm-sensors
安装成功以后 输入 sensors
- 开启全速
在任意路径下,输入
sudo nvpmodel --query
显示工作在m2 模式 输入 jetson_clocks
6.yolov4 应用
git clone https://github.com/AlexeyAB/darknet.git darknet0604
修改Makefile以适合Xavier
# Jetson XAVIER
ARCH 选择72
修改CMakeList.txt
# 不支持的编译选项
在162行附近
#设置(CMAKE_CXX_FLAGS_RELEASE“ $ {CMAKE_CXX_FLAGS_RELEASE} -ffp-contract = fast -mavx -mavx2 -msse3 -msse4.1 -msse4.2 -msse4a”)
#设置(CMAKE_C_FLAGS_RELEpASE_A $ SCM_CASE_ASE = fast -mavx -mavx2 -msse3 -msse4.1 -msse4.2 -msse4a“)
# nvcc fatal : Unknown option 'fopenmp' using CMAKE
# 1.替换 --compiler-options by -Xcompiler
set(CUDA_HOST_COMPILER_FLAGS "-Xcompiler \" ${ADDITIONAL_CXX_FLAGS} -fPIC -fopenmp -Ofast \"")
#大约217行左右
# 2.注释掉(约354行)
#target_link_libraries(dark PUBLIC OpenMP::OpenMP_CXX)
#target_link_libraries(dark PUBLIC OpenMP::OpenMP_C)
./build.sh 通过后
完成yolov4的安装
ps
解决ssh自动断线 无响应的问题
ssh_config和sshd_config是ssh配置文件
前者是针对客户端的配置文件 后者是针对服务端的配置文件
打开
sudo vim /etc/ssh/sshd_config
添加
ClientAliveInterval 30
ClientAliveCountMax 6
ClientAliveInterval表示每隔多少秒,服务器端向客户端发送心跳,是的,你没看错。
ClientAliveInterval表示上述多少次心跳无响应之后,会认为Client已经断开。
OpenSSH基于安全的理由,如果用户连线到SSH Server后闲置一段时间,SSH Server会在超过特定时间后自动终止SSH连线。本人习惯长时间连接,需要做如下修改:
1、打开ssh配置文件:# vim /etc/ssh/sshd_config
加入如下两个参数保存就可以:
TCPKeepAlive yes
ClientAliveCountMax 360
注:前一个参数表示要保持TCP连接,后一个参数表示客户端的SSH连线闲置多长时间后自动终止连线的数值,单位为分钟。
2、重启sshd生效:
/etc/init.d/sshd restart
注:此法适用于所有Linux发行版的OpenSSH。ClientAliveInterval是设定SSH强制超时断开的参数
ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0,不发送。而ClientAliveInterval 60表示每分钟发送一次,然后客户端响应,这样就保持长连接了。这里比较怪的地方是:不是客户端主动发起保持连接的请求(如FTerm, CTerm等),而是需要服务器先主动。
另外,至于ClientAliveCountMax,使用默认值3即可。ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值,就自动断开,正常情况下,客户端不会不响应。
我的sshd配置是设置/etc/ssh/sshd_config:
TCPKeepAlive yes
ClientAliveInterval 360 #每6分钟(360秒)向client端发个包
ClientAliveCountMax 20 #最多发20次,这样可以保持2小时(7200秒)的连接