想要完成人工智能相关操作,一个完美的系统是必要的。大部分友友在环境配置过程中都会遇到各种无法解决的情况,有些报错在网上很难找到解决方法,不是方法不适合我们自己的系统就是按照方法完成到最后系统无反应,这是不是你所需要的问题呢?
这种时候,一份完整且成功的教程就尤为重要了!本篇博客是为了记录本人近期刷机Jetson TX2的方法(各位友友们可下载自用也可收藏备用,一般情况不会删除)
【文章所有文件均存储到夸克网盘内,需要大量时间完成的事就让我来吧,大家享受成果就够啦😘】
【rufus、ubuntu18.04的iso镜像文件、sdkmanager软件安装包、我刷机时下载的所有软件包】
【文件链接:夸克网盘分享】
废话不多说,直接上干货!!!😌
第一部分 安装ubuntu与windows双系统
本人虚拟机ubuntu系统刷机出现未知网络错误情况,网上方法无法解决,故改用双系统安装ubuntu18.04
Ubuntu20.04无法刷机,好像是因为TX2不支持
一、windows分盘
本机系统:windows11
第一步:点击搜索
第二步:在输入框输入“设置”
第三步:点击“设置”应用
第四步:设置里搜索“存储设置”
第五步:点击“存储设置”
第六步:点击“高级存储设置”
第七步:点击“磁盘和卷”
第八步:点击想要分的盘
第九步:点击“属性”
第十步:点击“更改大小”
第十一步:设置自己想要的磁盘大小【1G=1024MB】
【我的磁盘是385203MB,准备分出100G出来安装ubuntu系统:设置剩余磁盘大小为282803MB】
二、制作ubuntu18.04启动盘
启动盘用“rufus”软件制作
第一步:插入u盘,打开rufus
【rufus也可以用来做其他系统的启动盘】
【记得备份u盘的东西喔,因为系统盘制作会将u盘内文件全部删除】
第二步:点击“选择”,将ubuntu的iso镜像包导入进来
【点击选择后选中对应iso文件就行】
第三步:点击“开始”
【默认设置即可】
第四步:按要求点击各项设置
【提示连网安装新东西的话最好连网给装一下】
三、安装ubuntu系统
本机系统:ubuntu18.04
经过第一部分分盘,相信大家电脑上都有了一部分空闲磁盘了,我们会用这部分空闲磁盘挂载ubuntu系统,接下来咱们开始进行ubuntu18.04系统的安装
第一步:重启电脑,狂按“F2”键进入BIOS界面
第二步:为方便查看,将BIOS界面设置中文
第三步:设置打开电脑USB启动
第四步:按“F10”保存设置并重启电脑
第五步:插入u盘,重启电脑,狂按“F12”键出现u盘启动选项
第六步:点击我们u盘对应的选项,进入ubuntu系统安装
第七步:选择“Install Ubuntu”
第八步:选择语言为中文
第九步:设置系统输入法为汉语拼音
第十步:设置更新
【插上网线,下载速度贼快😁】
第十一步:设置分区
【直接选择第一个选项,选它最便捷】
【系统内无其他ubuntu,可以选“安装ubuntu与windows共存”】
【系统内有其他ubuntu,想重装的友友可以选择“卸载并重装”】
【系统内有其他ubuntu,想再装一个的友友可以选择“其他选项”】
【我没尝试过装2个以上系统,想要的友友可以自己找教程喔😘】
第十二步:按要求安装就可以啦
【地区选择哪里都没有影响,后期好像不需要用到】
四、解决ubuntu18.04在联想小新pro16电脑上无法进桌面系统问题
报错:Failed to Start User Manager for UID 121
至此,ubuntu双系统安装完成!
这个报错原因是GTX1050显卡驱动有问题
第一步:开机选系统界面点击“ubuntu高级选项”
第二步:光标选择第一个按“e”
第三步:编辑界面中将倒数第3行quiet splash后面的内容删掉,改成nomodeset
第四步:按“F10”保存并退出,这时候就可以正常进入ubuntu18.04系统桌面了
第五步:进入系统桌面后点开“软件和更新”
第六步:选择“附加驱动”,点击有“专有驱动”标识的驱动,然后点击“应用更改”
第七步:关闭“软件和更新”,它会自动更配置
第八步:关闭ubuntu系统,重新启动
第九步:开机选系统界面点击“ubuntu高级选项”
第十步:点击第一个带“recovery mode”字样的选项
第十一步:光标移动到“dpkg”点击完成系统修复
【如果不执行系统修复,windows会显示黑屏】
五、ubuntu18.04更换国内清华源
完成了上面操作后,差一步就可以刷机啦
换源是为了安装东西时速度更快
大家也可以选择在软件和更新的“Ubuntu软件”里边换国内源【具体步骤点开就会知道的】
第一步:打开终端【位置就在“软件与更新旁边”】
第二步:输入如下代码
sudo gedit /etc/apt/sources.list
第三步:将弹出的文件内容删除并复制下面软件源进去
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
第四步:保存并关闭文件,输入下面代码进行更新
sudo apt-get update # 更新源
sudo apt-get upgrade # 更新系统工具
ubuntu与windows系统时间不匹配问题
【可以看文章:ubuntu与windows双系统时间同步问题——简明指南 - 知乎】
退出windows,进入ubuntu,在终端里输入一条指令,就可以验证上面的分析:
timedatectl status
这个指令用来查看系统时间状态。如果您的显示如下:
timedatectl这个工具管理时间,特别方便第一行,Local time=12点,是ubuntu联网获取到的当地时间。
第三行,RTC time=4点,是电脑的BIOS时间。可以看到,ubuntu把当地时间减去8小时,得到了UTC时间并赋给了BIOS。
最后一行,RTC in local TZ=no,这句话代表系统时间和BIOS时间不同步,即BIOS存储的是UTC时间,而系统时间是当地时间。
那么问题就来了,下次重启进入windows时,windows读到的BIOS时间是4点,而windows认为BIOS时间就是当地时间,所以就会直接显示4点。不过,windows也会联网,等他得到正确的12点后,他又会将BIOS设为12点,那么等你下次进ubuntu的时候,ubuntu又会把12点加上8,得到20点,再输出——如此循环,每次更换系统的时候显示的时间都不对。
解决方案
解决方案非常简单。直接在ubuntu终端中输入:
timedatectl set-local-rtc 1
这句话的作用是让ubuntu将系统时间和BIOS时间同步。现在,ubuntu和windows一样,都认为BIOS时间就是当地时间,联网更新时,也是直接将BIOS时间设为当地时间。这样就没问题了。
现在再输入timedatectl status查看系统时间状态:
warning是给你们的开发者看的,不是给我看的第一行,Local time=12点。
第三行,RTC time=12点,即BIOS也被设为了12点。
最后一行,RTC in local TZ变为了yes。系统时间和BIOS时间完成同步。
弹出一个Warning,告诉你这种方法不太好,但我们为了同步两个系统的时间,也只能这么做了。
现在再重启进入windows,看到时间已经对了
六、TX2刷机
至此,环境搭建完成。现在进行刷机教程
第一步:将“nvidia”包保存到“downloads”文件夹下
【如果系统为中文,就在主目录下创建“downloads”文件夹,并存放“nvidia”文件夹】
第二步:将sdkmanager的软件包解压
【解压方法:双击软件包,系统会弹出一个安装界面,点击“install”完成安装】
【近期出现软件无法登录问题报错‘invalid_request’是由于软件版本太老,官方不承认网址了,可到网址:‘https://developer.nvidia.com/nvidia-sdk-manager’下载最新版】
第三步:打开sdkmanager软件
【打开位置如下图】
【注:第一次打开需要登陆,没有nvidia账号的友友记得注册一个】
第四步:按下图提示进行刷机
TX2刷机模式打开方法【上边图像中的网线接口其实是电源接口,我标错了】
注意:
到这一步时,我们就可以不用管这边了。
先按照上面ubuntu安装方法将TX2的系统安装完成【记得给tx2接上显示屏】
安装完成后回到原计算机,继续刷机进程
一般TX2安装完成系统后安装都会很顺利,下载太慢的友友可以尝试下TX2换源【记得TX2端和PC端换源方法会略有不同】【搜索“TX2换源”会有换源方法】,换完会比较快
至此,刷机完成!
七、TX2深度学习环境配置
刷机完成后,我们首先需要更换国内源,这有利于在国内下载速度提升
第一步:先对源文件进行备份【终端输入】
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
第二步:更新系统设置【终端输入】
sudo apt-get update
第三步:打开保存源地址的文件【终端输入下面第一个框内命令】,先按‘d’删除所有内容,再an‘i’插入下面第二个框内内容,然后按电脑按键‘ESC’退出编辑,最后输入‘:wq’强制保存并退出
sudo vi /etc/apt/sources.list
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-get update
接着设置一下中文输入法
第一步:安装 fcitx 核心
sudo apt install -y fcitx
第二步:中文输入法
sudo apt install -y fcitx-table-*
sudo apt install -y fcitx-googlepinyin
第三步:之后按照下面这篇博客安装就可以【亲测可用,就直接给考下来了】
点击屏幕右上角的下拉箭头,选择“系统设置(Settings)”按钮
在弹出的对话框中选择 Region & Language,并点击 Manage Installed Languages
在弹出的提示框中选择 Remind Me Later
在 “Keyboard input method system” 下拉框中将 IBus 更改为 fcitx,然后点击 Close 保存退出:
登出或者重启系统(非常重要)
系统重启后会在控件栏多出一个键盘样式的 fcitx 输入法的图标,点击图标并选择 “Configure Current Input Method”:
在弹出的对话框中的左下角点击+号按钮:
将 “Only Show Current Language” 前面的勾去掉,然后选择自己合适的输入法,比如我选择了最熟悉的五笔输入法,然后点击OK按钮生效:如果你是使用其他的输入法,比如拼音输入法,即可在 “Add input method” 对话框输入 “pinyin” 来选择:
使用 Ctrl + 空格 切换中英文输入法,使用 Ctrl + shift 在多个输入法之间进行切换:
有需要扩容TX2的友友可以看下面的SD卡挂载【无需求可以跳过】
第一步:在win系统下给sd卡进行格式化【需要读卡器】
用读卡器把sd卡接入电脑后,我们打开设备管理器【就是‘此电脑’的文件夹】,右键点击就可以进行格式化了
格式化完弹出sd卡并插入tx2即可,接下来是在tx2的操作
第一步:查看硬盘信息【终端输入】
sudo fdisk -lu
主要看我们的sd卡被系统分配到了哪个位置,就是下面这个,可以看出sd卡设备挂载位置为/dev/mmcblk2p1,分区类型为exFAT类型
第二步:修改sd卡模式为ext4【终端输入】
sudo mkfs -t ext4 /dev/mmcblk2p1
第三步:获取sd卡的UUID【终端输入】,结果如下,UUID="fdc2c0db-909f-433f-85f2-441cdaeb307a"
sudo blkid
第四步:创建文件夹中转我们原本TX2机子的/home目录【终端输入】
sudo mkdir /media/home
第五步:修改fstab文件【终端输入】
sudo vim /etc/fstab
添加下面这行到文件末尾 ·注意不能改变空格数,否则会报错,最好复制下面一行进行修改
UUID="fdc2c0db-909f-433f-85f2-441cdaeb307a" /media/home ext4 defaults 0 2
第六步:重新分区【终端执行命令】
sudo mount -a
第七步:复制/home目录到我们创建的中转文件/media/home里边【执行命令】
sudo rsync -aXS --exclude='/*/.gvfs' /home/. /media/home/.
第八步:查看复制是否成功 ·没报错就成功【终端执行下面命令】
sudo diff -r /home /media/home -x “.gvfs/*”
第八步:重新设置fstab文件【终端执行下面命令】
sudo vim /etc/fstab
在最后加上下面命令
# (identifier) (location, eg sda5) (format, eg ext3 or ext4) (some settings)
UUID="fdc2c0db-909f-433f-85f2-441cdaeb307a" /home ext4 defaults 0 2
第九步:将/home目录改名成/old_home【终端执行】
cd / && sudo mv /home /old_home && sudo mkdir /home
第十步:重新挂载新的home目录,就是我们的sd卡【终端执行】
sudo umount /media/home/
sudo mount -a
第十一步:删除旧的home目录,完成sd卡挂载【终端执行】
cd /
sudo rm -rI /old_home
接着配置cudnn,由于tx2默认安装了cuda10.2,但并未配置sudnn,所以我们使用下方命令进行配置【终端输入】
sudo cp /usr/include/cudnn.h /usr/local/cuda/include/
sudo cp /usr/lib/aarch64-linux-gnu/libcudnn* /usr/local/cuda/lib64/
接着安装一个远程控制软件,用于传文件,因为tx2系统原因,普通u盘并不能按照常规办法读取,所以此处安装一个远程控制软件todesk
第一步:到官网安装想要的版本:https://www.todesk.com/linux.html
【下载arm64版本的deb包】
第二步:在安装目录位置打开终端,执行以下命令:
sudo apt-get install ./你下载的deb包的名字
如果执行不了,可以对软件进行初始化,初始化软件命令:
sudo systemctl stop todeskd.service
sudo mv /opt/todesk/config/config.ini /opt/todesk/config/config.ini.bak
sudo systemctl start todeskd.service
实在不行就卸载掉软件,换上其他软件,卸载软件命令:
sudo apt-get remove --purge todesk
接着安装archiconda【跟anaconda一样的一个软件】【可以创虚拟环境】
提示:软件包放在夸克网盘了,可以自取
安装命令【终端执行】
sh 文件保存路径
注意:安装时第二个可以ENTER的选项是设置安装路径,其他一路yes就可以
安装完成后输入命令
vim ~/.bashrc
进入到如下界面
按i
,在最后一行输入
export PATH=~/home/anaconda3/bin:$PATH
按Esc
键,然后输入:wq
保存并退出
创建conda虚拟环境命令
conda create -n 虚拟环境名 python=3.6
创建虚拟环境时报错权限设置不正确,多半是安装时用管理员权限安装了,在archiconda3文件夹安装目录下打开终端,运行下面代码消除
sudo chown -R 本机用户名 archiconda3
conda换国内源【终端执行】
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
接着安装opencv-python
提示:指定清华源安装,命令后面加上下面这句【终端执行】
-i https://pypi.tuna.tsinghua.edu.cn/simple/
首先,我们需要更新下原环境下的pip,因为pip太老了会导致没法安装东西
卸载原来的pip【终端输入】
pip uninstall pip
安装新版本的pip【终端输入】
conda install pip=21.2.2
可以自己指定opencv版本4.4.0.46【终端执行】【下载出错也可以把pip改成pip3或conda,其他一样】
pip install opencv-python==3.4.17.63 -i https://pypi.tuna.tsinghua.edu.cn/simple/
安装这个前看下opencv版本号,两个版本要一样【终端执行】
pip install opencv-contrib-python==3.4.17.63 -i https://pypi.tuna.tsinghua.edu.cn/simple/
如果在‘Building wheel for opencv-python (PEP 517)’卡住【终端执行】
pip install --upgrade pip # 更新pip
提示:上边的下载代码如果想可视化的话可以用下面两句执行【终端执行】
pip install opencv-python==3.4.17.63 -i https://pypi.tuna.tsinghua.edu.cn/simple --verbose # 显示可视化进程安装opencv-python
pip install opencv-contrib-python==3.4.17.63 -i https://pypi.tuna.tsinghua.edu.cn/simple --verbose # 显示可视化进程安装opencv-contrib-python
接着安装pytorch
提示:软件包放在夸克网盘了,可以自取
也可以到下方链接自行下载:
PyTorch for Jetson - Jetson Nano - NVIDIA Developer Forums
https://download.pytorch.org/whl/cu100/torch/
执行下面命令安装【此处命令需要在软件包存放位置打开终端执行】
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev # 执行完重启,使安装包配置生效
pip install Cython -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip install numpy torch-1.10.0-cp36-cp36m-linux_aarch64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple/
接着安装torchvision·」
执行下面命令安装,注意与torch版本的匹配【终端执行】
sudo apt-get install libjpeg-dev zlib1g-dev
pip install setuptools -i https://pypi.tuna.tsinghua.edu.cn/simple/ # 增加下一步的安装速度
git clone -b v0.11.1 https://github.com/pytorch/vision torchvision # 这一行可以改变匹配安装的版本·「此处安装的是torchvision的0.11.1版本」
cd torchvision
sudo python3 setup.py install
接着安装pycharm·「
tx2下,pycharm需要有JDK解释器才能运行,因此需要先安装JDK解释器【终端执行】
apt-cache search openjdk
sudo apt-get install openjdk-8-jdk
执行上面语句默认的安装目录为:/usr/lib/jvm/java-8-openjdk-arm64
下面对JDK进行环境配置【终端运行】
sudo vi ~/.bashrc //打开配置文件
sudo gedit ~/.bashrc
在文件最后一行添加下面语句
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64 //(这里用你安装的目录!!!!)
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
添加完语句就保存并退出,然后执行下面语句更新环境配置【终端执行】
source ~/.bashrc
安装完JDK就可以安装pycharm啦(注意:此处pycharm不能安装太新的版本,因为JDK不支持)
pycharm安装网址:https://www.jetbrains.com/pycharm/download/#section=linux
下载完就打开安装包,然后把里边的文件拖到主目录【home】下完成解压
解压完在解压的文件夹里边的bin目录下打开在终端:/home/a42108/pycharm-community-2021.3.3/bin
输入下面命令完成pycharm安装
sh ./pycharm.sh
如果报错:Error occurred during initialization of VM
执行下面命令
sudo apt-get install default-jdk
小窍门
由于放着不动系统会很快熄屏,所以需要技术支持一下
在System Settings -> Power -> "Don't suspend"
单单设置这个不起作用,还需要输入下面命令:
gsettings set org.gnome.desktop.session idle-delay 0
运行完就不会熄屏了