Jetson 从配置、打通ssh、VNC到安装minforge、pytorch、torchvision到安装pycharm编译器

必读:我到手的是一块写好乌班图系统的板子,还有一块屏幕、一套键鼠可以直接用,基于此进行初始的配置。ssh连接和VNC步骤有网线。请根据个人情况参考文章

在这里插入图片描述
接好板子和屏幕的HDMI线,USB口插上鼠标键盘,然后再插上两者的电源线开机

一、基础环境配置与SSD启动

1.包括初始系统的设置
2.设置SSD启动,一般来说,对于刚出厂的板子只预先配置了cuda,其他的则因为存储问题配置不了,所以需要更改根目录的位置。

1.1 初始设置

  1. 需要设置用户名和密码,这里两个一定要记住,且最好不要太复杂,因为后续需要反复用到
  2. 初始系统设置,全都yes即可
  3. 可以搜索如何将语言设置为中文,并且添加中文输入法,可以参考Jeston Xavier NX 语言设置和中文键盘输入

1.2 SSD启动

  1. 安装您的 SSD并启动,然后打开菜单并进行搜索 Disks
    在这里插入图片描述
  2. 启动磁盘应用程序,您将看到安装好的 128G 固态硬盘,单击右上角三条横项选项,选择格式化(Format Disk),选择预设的 GPT,再次确认要格式化(Format),接着输入系统密码,授权进行格式化。
    在这里插入图片描述
  3. 单击+号进行分区,选择主分区的大小,本文建议主分区容量为 112GB,大家可以根据自身需求做调整,单击 NEXT进行下一步。
  4. 给分区起个名称,类型要选择 Ext4,然后单击 Create,提示输入系统密码,设置完成。
    在这里插入图片描述
    现在,您已成功创建分区,但它还没有挂载。让我们使用命令安装它,幸运的是,Jetson 系统已经将这些命令集成到外壳脚本中。让我们运行它,使系统启动从 SSD 启动。

移植根源

首先,复制该项目,打开一个终端,输入
1.git clone https://github.com/jetsonhacks/rootOnNVMe.git
2.进入目录 cd rootOnNVMe
3.根源文件复制到您的 SSD ./copy-rootfs-ssd.sh
终端是桌面上黑色的,或者在桌面空白处右键鼠标后打开终端
在这里插入图片描述

开启SSD

移植到根源后就可以选择开启SSD了,

  1. 运行./setup-service.sh 后重新启动系统以使服务生效。
  2. 重启系统后桌面左侧列表出现如下红色 SD 文件夹表示 SSD 挂载成功。
    在这里插入图片描述

二、CUDA配置

2.1 安装环境

打开终端执行以下命令:
第一步:sudo apt update
第二步:sudo apt install nvidia- jetpack

2.2 配置环境变量

etson Xavier NX 中已经安装了 CUDA 版本,但是此时你如果运行 nvcc -V 查看版本是不会显示的,需要你把 CUDA 的路径写入环境变量中。

  1. sudo vim ~/.bashrc #使用 Vim 编辑环境变量
    进入后 将光标移动到最下面,按a为插入,在最后添加下面两行
    export PATH=/usr/local/cuda/bin:$PATHexport
    LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
    写入后按Esc退出写入模式,然后按Shift + 打出冒号,输入wq保存加退出
  2. 保存退出后,执行语句source ~/.bashrc,再运行 nvcc -V 就能看到 CUDA 版本
  3. 安装 pip3,以此执行下面的代码
    sudo apt install python3-pip python3-dev #
    python3 -m pip install --upgrade pip #升级 pip
  4. (可选)安装 Jetson-stats 管理工具可用来控制风扇、性能模式,查看系统相关信息,查看 CPU、GPU、温度等情况,依次执行下面两行代码
    sudo -H pip3 install jetson-stats
    运行,输入命令运行查看系统信息
    sudo jtop
    在这里插入图片描述

三、SSH连接和VNC连接配置

如果不想每次都通过连接显示屏和键鼠来控制jetson,那么就需要设置jetson和电脑或其他远程设备的连接,需要一根网线或者在同一局域网下的ip地址

3.1 SSH开启与设置

SSH协议允许用户通过网络在远程设备上执行命令,管理文件系统,启动和停止服务等,为数据传输提供了安全保障。一般是首选的远程连接方式。

3.1.1 开启ssh服务

一般来说这个板子是开启ssh的,可以使用代码查看
查看ssh版本 ssh –V
查看ssh状态 sudo service sshd status
如果输出Active: active running那么就是正常开启的,如果没有用下面代码开启
(1)安装ssh服务 sudo apt-get install openssh-server
(2)启动ssh sudo /etc/init.d/ssh start
(3)设置开机自启动 sudo systemctl enable ssh
再使用sudo service sshd status 应该可以看见启动状态

3.1.2 远程连接(网线或局域网)

通过命令sudo ifconfig 可以看到板子在局域网的IP地址
在这里插入图片描述

如果无IP显示,需要将无线网卡的共享关闭,插拔网线连接,再重新打开共享功能即可。

安装putty,可以参考https://blog.csdn.net/crr411422/article/details/131135853
然后运用putty进行连接即可,要注意的是,你登录的时候输入密码时是不显示的,输入完回车即可。

3.2 VNC开启与设置

ssh连接后可以通过命令行操控,但是对于习惯可视化界面的人来讲可能觉得别扭,那么可以选择开启VNC服务来远程可视化的控制
链接: jetson nano/tk2/nx/agx配置VNC远程桌面 - MKT-porter - 博客园
Nvidia Jetson AGX Orin 初体验(六)用VNC Viewer远程桌面连接Orin

3.2.1 安装开启VNC

(1)安装VNC

sudo apt update
sudo apt install vino

(2)配置VNC Server

gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino require-encryption false

(3)编辑org.gnome,增加一个“enabled key”的参数

cd /usr/share/glib-2.0/schemas
sudo cp org.gnome.Vino.gschema.xml org.gnome.Vino.gschema.xml.old
sudo vi 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 desktip via the RFB
              protocol. Users on remote machines may then connect to the
              desktop using a VNC viewer.
      </description>
      <default>false</default>
    </key>

在这里插入图片描述
(4)编译并启动

sudo glib-compile-schemas /usr/share/glib-2.0/schemas
/usr/lib/vino/vino-server

3.2.2 设置账户自动登录

这时可以用VNC登录,但是每次重启板子是登不上的,需要开启板子账户的自动登录
参考https://blog.csdn.net/weixin_46151178/article/details/122687164
创建配置文件50-myconfig.conf

cd /etc/lightdm/lightdm.conf.d
sudo vim 50-myconfig.conf

写入自动登录指令

greeter-show-manual-login=false
allow-guest=false
autologin-user=ljx

其中,autologin-user需要改为你自动登录的账户。写入上述内容,保存退出。

重启,也可以做完3.2.3后重启,但是需要重启这一步才生效

sudo reboot now 

3.2.3 设置VNC默认分辨率

如果这时直接连接,会导致画面只显示一角,需要设置jetson的无HDMI连接时的默认分辨率
(1)备份原来文件

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

(2)修改配置文件

nano /etc/X11/xorg.conf

(3)将下面一块复制进去,其中
virtual 1280 800就是你重新设置的分辨率,你可以修改至你想要的,建议不要太大,连起来卡

# Copyright (c) 2011-2013 NVIDIA CORPORATION.  All Rights Reserved.
# This is the minimal configuration necessary to use the Tegra driver.
# Please refer to the xorg.conf man page for more configuration
# options provided by the X server, including display-related options
# provided by RandR 1.2 and higher.

# Disable extensions not useful on Tegra.
Section "Module"
    Disable     "dri"
    SubSection  "extmod"
        Option  "omit xfree86-dga"
    EndSubSection
EndSection

Section "Device"
    Identifier  "Tegra0"
    Driver      "nvidia"
# Allow X server to be started even if no display devices are connected.
    Option      "AllowEmptyInitialConfiguration" "true"
EndSection

Section "Monitor"
   Identifier "DSI-0"
   Option    "Ignore"
EndSection

Section "Screen"
   Identifier    "Default Screen"
   Monitor        "Configured Monitor"
   Device        "Default Device"
   SubSection "Display"
       Depth    24
       Virtual 1280 800
EndSubSection

就可以愉快的使用VNC啦~

四、miniforge安装与配置

参考NVIDIA Jetson Xavier NX入门(3)——安装miniforge和Pytorch
(1)建议从官网下载后进行安装,https://github.com/conda-forge/miniforge,选择aarch64(arm64)的版本选择
在这里插入图片描述
(2)下载完成后可以通过windos的终端(win+r 后输入 cmd),将下载下来的文件传入jetson

scp "你windos中的文件地址" 你的用户名@jetsonip地址:/home/用户名

如我的文件地址为D:/Tools/jetson/torch-1.10.0-cp36-cp36m-linux_aarch64.whl"
用户名为biouqi
ip地址为192.168.137.191
需要传输到jetson内的位置是 /home/biouqi (这个地址是直接打开终端的主页)

scp "D:/Tools/jetson/torch-1.10.0-cp36-cp36m-linux_aarch64.whl" biouqi@192.168.137.191:/home/biouqi

(3)传输完成后进行安装
在jetson桌面打开终端输入 cd miniforge然后执行安装sh Miniforge-pypy3-4.10.3-3-Linux-aarch64.sh这里的文件名称需要和你前面下载的一致。
安装完毕后,添加环境变量,否则会出现bash:conda Command not found的错误。顺便提一下vim编辑器按a是进入编辑模式,编辑完毕后按ESC退出编辑模式,再输入:wq!是保存并退出。总感觉有人不知道。

编辑环境变量

vim ~/.bashrc

增加环境变量, 将换成你的用户名

export PATH=/home/<username>/miniforge-pypy3/bin:$PATH

激活环境变量

source ~/.bashrc

显示(base)

source activate

这个时候应该就可以看到终端terminal的前面有了一个(base),说明前面步骤成功。如果没有,那就输入:source activate激活miniforge。
在这里插入图片描述

(4)可选,更换下载源为清华源
以此执行下面命令更换pip源

conda config --prepend channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --prepend channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

创建并进入pip.conf文件

mkdir ~/.pip
cd ~/.pip
vim pip.conf

在pip.conf 文件中添加

highlighter- awk
[global]
index-url = https://pypi.mirrors.ustc.edu.cn/simple/

添加更换镜像源完毕。

五、pytorch安装与配置

大部分参考NVIDIA Jetson Xavier NX入门(3)——安装miniforge和Pytorch

5.1 虚拟环境创建

在进行pytorch安装前,建议先利用miniforge创建虚拟环境,因为官方提供的pytorch的whl为py3.6版本,所以我们选择创建一个python3.6的虚拟环境
在终端输入命令,可以将py36换为你想要的名称

bash conda create -n py36 python=3.6

然后启动它

conda activate py36

继续之前,先更新一下源

sudo apt-get update
sudo apt-get upgrade

安装依赖

sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev
sudo apt-get install liblapack-dev libblas-dev gfortran

sudo apt-get install libopenblas-base libopenmpi-dev
sudo pip3 install mpi4py
sudo pip3 install Cython

5.2 下载官方pytorch依赖包

https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048
根据你的JetPack版本下载,查看版本可以在终端输入sudo apt-cache show nvidia-jetpack,显示的Version就是你的JetPack版本(参考https://blog.csdn.net/HaoZiHuang/article/details/119903753)
在这里插入图片描述

在这里插入图片描述
下载好后同样运用scp将文件传入jetson,
将你的环境设置为需要安装pytorch的那个环境scp "D:/Tools/jetson/torch-1.10.0-cp36-cp36m-linux_aarch64.whl" biouqi@192.168.137.191:/home/biouqi

从桌面打开终端输入

sudo pip3 install torch-1.8.0-cp36-cp36m-linux_aarch64.whl

安装完毕后可以在终端输入以下命令检验PyTorch是否正确安装:

python3 -c 'import torch; print(torch.cuda.is_available())'

5.3安装pytorch常见错误

5.3.1 numpy版本与PoenBLAS冲突(Illegal instruction (core dumped))

如果出现Illegal instruction (core dumped)的错误,这是由于numpy 1.19.5和OpenBLAS冲突引起的,修改其中一项即可。选择以下两种做法之一:
(1)降低numpy版本

pip3 install -U "numpy==1.19.4"

(2)设置OpenBLAS

vim ~/.bashrc

加入

export OPENBLAS_CORETYPE=ARMV8

然后激活.bashrc

source ~/.bashrc

六、torchvision安装

在此之前必须先安装好pytorch,本章部分参考NVIDIA Jetson NX安装torchvision教程(https://zhuanlan.zhihu.com/p/425156043)

6.1 所需依赖安装

sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev

6.2 下载安装包

pytorch版本和torchvision对应关系如下图,参考https://github.com/pytorch/vision#installation
在这里插入图片描述
运用git下载torchvision,如果不行那就还是先下到电脑上再传入jetson,我是直接下载的。将下面的v0.11.0换为与你匹配的版本号

git clone --branch  v0.11.0 https://github.com/pytorch/vision torchvision

6.3 开始编译(安装torchvision)

先安装一些编译torchvision需要的包(可能是冗余的),如下面代码

sudo apt-get install libpng-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libavutil-dev libswresample-dev
sudo apt-get install ninja-build

接下来就是编译阶段了,进入torchvision目录,输入命令编译,大致需要花费十分钟。

cd torchvision   #进入你的torchvision目录,不一定是这个命令
export BUILD_VERSION=0.x.0  #将x改成自己的版本 
sudo python3 setup.py install --user

在这里插入图片描述
在这里插入图片描述

当出现上面的pillow报错时就表明torchvision接近安装成功了,下面我们退回上一级目录,使用pip/pip3安装 pillow。

cd ../
pip3 install 'pillow<7'

如果不行就ctrl+c中断进程,然后返回torch vision的上级目录,再进行安装
下载速度比较慢时,可以使用国内的豆瓣源下载安装,命令如下所示。

pip install -i http://pypi.douban.com/simple --trusted-host pypi.douba

之后返回torchvision目录重新编译

cd torchvision
sudo python3 setup.py install

由于之前我们已经大致编译完成,这次只用了几秒钟便配置完成(也可能还要好几分钟,耐心等待)。
在这里插入图片描述
使用pip3 list查看已安装的包和其版本,列表中出现torchvision即表明安装完成。或者激活你新建的py36环境后,输入python3,再import torchvision如果没有报错即为成功,输入exit()即可退出
在这里插入图片描述
如果还需要安装onnx以及onnxruntime,可以参考https://zhuanlan.zhihu.com/p/661511110

七、编译器Pycharm安装

其实完成上面就可以跑代码了,不过安装了编译器修改代码会方便一些

7.1 安装JDK

在安装pycharm之前,需要安装jdk才能够进行安装,要么会报错,这里推荐安装新一点的

安装java,在终端输入

sudo apt-cache search openjdk
sudo apt-get install openjdk-17-jdk  #这里安装了17版本

然后输入

java -version

就可以看见java的版本
在这里插入图片描述

7.2 配置jdk环境变量

配置环境,命令行输入

sudo gedit ~/.bashrc

会弹出一个窗口,在窗口的最下面,输入,注意 java-17这里的数字需要和你前面的jdk版本对应,比如我的是17

#JDK11
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-arm64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

然后点击保存,关闭窗口,在终端输入

source ~/.bashrc

启用新的环境变量

7.3 下载和安装pycharm

到官网上下载https://www.jetbrains.com/pycharm/download/?section=windows
选取arm64版本,然后像之前那样用scp从电脑传入jetson
在这里插入图片描述
解压缩,这里2020.1.1.要换为你下的文件名称

tar -zxvf pycharm-community-2020.1.1.tar.gz 

进入文件夹,运行pycharm.sh

cd pycharm-community-2020.1.1/bin 
./pycharm.sh

如果这是还报jdk的错误,那么记下它的版本号,比如version61,对照

JDK 19 = 63,
JDK 18 = 62,
JDK 17 = 61,
JDK 16 = 60,
JDK 15 = 59,
JDK 14 = 58,
JDK 13 = 57,
JDK 12 = 56,
JDK 11 = 55,
JDK 10 = 54,
JDK 9 = 53,
JDK 8 = 52,
JDK 7 = 51,
JDK 6.0 = 50,
JDK 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45.0-45.6

来安装对应版本的jdk(重做7.1和7.2,注意版本变化带来的环境输入变化),然后再次尝试运行pycharm

一般这时就会成功出现pycharm的界面了

这个板子的上述功能软件配了一整天,记录一下流程,一是方便自己回顾,二是方便后来者能够轻松的完成环境的配置,毕竟在配置环境上,搜到什么都看你运气了。

  • 22
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值