Atlas200DK环境部署搭建

前言:如果你是一个NJUSTer,那么你可能找对地方了,或许是科研训练又或者是什么,总之或许这篇文章能帮你避免一些坑!
基本环境虚拟机:链接:https://pan.baidu.com/s/1Hxja3XP2w73yGPaIrpqWcg?pwd=zv8v
提取码:zv8v

1 基本介绍

1.1 操作系统

本项目使用的环境是Linux子系统Ubuntu,且其版本选用Ubuntu18.04.5,具体下载方式多种,安装方式也多种,笔者采用的是虚拟机的方式,安装使用VMware workstation pro,该软件的注册码大家就各凭本事了。

1.1.1 Ubuntu 下载与安装

  1. 下载,官网下载较慢,笔者推荐使用国内镜像下载,个人使用的镜像是清华大学的镜像,Ubuntu下载地址如下

Index of /ubuntu-releases/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

不得不说,后来发现阿里的镜像还是要丰富点

ubuntu镜像_ubuntu下载地址_ubuntu安装教程-阿里巴巴开源镜像站

  1. 安装,对于没有安装经验的人来说,安装是个十分棘手的问题,笔者曾经也是很苦恼,跟着教程一步一步的走,甚至连什么主机名啊都一定要命名得一模一样,生怕什么地方自己给弄错了,但其实安装这些东西没那么可怕,建议读者放心大胆的安装,没事儿,虚拟机嘛,弄错了直接删掉,重新安装,多安装几次也就熟能生巧了。具体的安装笔者曾经有过自己的记录,如下

Linux操作系统之Ubuntu虚拟机安装

1.1.2 远程连接工具的使用

在Ubuntu中使用命令行操作很懂东西的时候,或许不太方便,即使使用VMware-tools来增加使用功能,有些时候依然会造成使用上的BUG,如不能在 Windows 和 Ubuntu 之间复制粘贴文件等等,所以此处推荐使用远程连接工具,这样可以在 windows 端快速使用命令行部署环境,同时也可以将文件下载到 Windows 系统,直接通过远程连接工具将文件上传到虚拟机。

远程连接工具有很多很多,比较老牌的是 Xshell,笔者未曾使用过,所以不加评论,推荐使用过的两款:Mobaxterm 和 FinalShell,下载地址如下:

  1. Mobaxterm

MobaXterm free Xserver and tabbed SSH client for Windows

  1. Finalshell

FinalShell官网

image.png
image.png

总之,笔者喜欢使用 FinaShell,一方面它是国产的,我愿意使用;另一方面,Mobaxterm 我基本没使用过,或者说,因为先听说 FinalShell,用习惯了!

1.2 硬件环境

本项目使用的是华为昇腾Atlas 200 DK,详细说明请看官方文档
开发者主页-昇腾社区

2 环境搭建

2.0 前置说明

其实这个环境的搭建需要看使用者的需求,笔者第一次搭建的时候完全按照视频搭建,也不太清楚自己需要使用些什么,后来发现其实我需要的就是搭建一个运行的环境就可以了,即如果你不需要搭建开发环境,那么完全可以跳过安装MindStudio这些步骤,直接到制卡就可以。

2.1 参考视频

主要是将开发板和PC机连接起来使用

这是B站的一个UP的教学视频,主要好处是能跟着一步一步的敲代码,配置,坏处是,这个视频是21年发布的,现在已经有很多地方不同了,所以休要花费有些时间去寻找相关的资料。
点击查看【bilibili】

2.2 部署步骤

根据视频中的步骤,我大概将其分为两个重要的步骤,首先是准备要运行的脚本,驱动jar包等等需要下载的工具,其次是部署和配置环境

2.2.1 更新Python环境(虚拟机)

ubuntu18.04中修改默认Python解释器为Python3.7 - 代码先锋网
Ubuntu上本身自带有Python环境,一般情况下我们期望下载更高版本的Python解释器,但是,**原本默认的版本不能卸载删除,**切记,我们只能下载新的版本,更新链接库。

$ su root											# 进入超级用户,方便操作
$ apt install python3.7				# 安装Python3.7
$ cd /usr/bin									# 进入 bin 目录,准备更改链接库
$ rm /usr/bin/python3  		# 删除原有的python连接文件
$ ln -s /usr/bin/python3.7 python3  # 建立指向python3.7的连接

更新python后,可能会存在一个问题,无法使用apt-get update命令更名apt,原因可能是上述操作倒是Python3中没有相关的链接文件,解决方法

# 创建一个软链接
cd /usr/lib/python3/dist-packages
sudo ln -s apt_pkg.cpython-36m-x86_64-linux-gnu.so apt_pkg.so

2.2.2 资源下载

参照官方文档:开发者主页-昇腾社区

  1. 下载Ubuntu-server的镜像ISO文件,笔者采用的是清华镜像下载,读者也可选择自己的方式
    阿里云下载链接Ubuntu18.04.5
    在这里插入图片描述

  2. 下载Atlas200DK的驱动jar包

image.png
image.png

  1. 下载服务器环境和开发环境需要的驱动包

image.png
image.png
image.png
image.png
image.png

  1. 下载制作读卡器的脚本

image.png
image.png
image.png

su root
apt-get update			# 如果报错请看 2.2.1

##################### 下载python依赖 ######################
pip3 install pyyaml
apt-get install qemu-user-static binfmt-support python3-yaml squashfs-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

mkdir $HOME/mksd		# 创建工作目录
cd $HOME/mksd			# 进入工作目录


################### 下载脚本 ####################
wget https://gitee.com/ascend/tools/raw/master/makesd/generic_script/make_sd_card.py
wget https://gitee.com/ascend/tools/raw/master/makesd/generic_script/make_ubuntu_sd.sh

2.2.3 MindStudio安装配置

  1. 下载

image.png
image.png

2.3 环境部署

2.3.1 创建安装用户

# 创建用户
groupadd HwHiAiUser
useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash
# 设置密码
passwd HwHiAiUser

2.3.2 执行脚本

  1. 修改文件权限,当前文件权限不可执行

image.png

  1. 执行命令修改权限:chmod +x *.run
  2. 查看权限是否修改

image.png

./ Ascend-cann-toolkit_7.0.RC1.alpha002_linux-x86_64.run --install
# 其他两个脚本类似
Driver:   Installed in /driver.
Toolkit:  Ascend-cann-toolkit_7.0.RC1.alpha002_linux-x86_64 install success, installed in /usr/local/Ascend.

Please make sure that the environment variables have been configured.
-  To take effect for all users, you can add "source /usr/local/Ascend/ascend-toolkit/set_env.sh" to /etc/profile.
-  To take effect for current user, you can exec command below: source /usr/local/Ascend/ascend-toolkit/set_env.sh or add "source /usr/local/Ascend/ascend-toolkit/set_env.sh" to ~/.bashrc.

2.3.3 安装 MindStudio

将下载的文件发送到Ubuntu中,这里笔者是先将压缩包下载到Windows系统中,通过finalshell发送过去

# 解压
tar zxvf MindStudio_6.0.RC2_linux_x86_64.tar.gz
# 安装
cd /MindStudio/bin
# 启动

2.3.4 制作SD卡

  1. 制卡的时候需要将脚本文件、驱动包、和Ubuntu-server文件存放在同一个目录下

image.png

  1. 将SD卡接入电脑,查看SD卡的位置
fdisk -l

image.png

  1. 执行制卡脚本
python3 make_sd_card.py local /dev/sdc

image.png

2.3.5 连接Atlas开发板

  1. 使用USB将开发板与PC机相连;
  2. 使用ifconfig查看是否接入,接入后如下

image.png

  1. 设置IP地址(直接设置成为默认的即可)

image.png

这里需要注意一下,如果是反复制卡,比如我之前制卡一次,这个 IP 已经被使用了,执行设置 IP 的脚本的时候,回被告知相关文件已经存在,所以需要解决,但是我网上没什么经验,不过还是找到了,不得不说还是老外认真。
(1)报错如下
image.png
(2)解决方式(原回答)
image.png

cd /etc/netplan
sudo vim 01-
sudo netplan generate
sudo netplan apply
reboot
  1. 登录开发板
ssh HwHiAiUser@192.168.1.2
# 初始密码:Mind@123

image.png

当第二次登陆的时候,也是回出现错误,解决方式:当初 SSH 连接的记录即可
(1)原回答
ssh登录远程主机报错:Someone could be eavesdropping on you right now (man-in-the-middle attack)!_lvhdbb的博客-CSDN博客

2.3.6 简化连接

自己最开始预想的是,既然将Ubuntu系统已经植入到Atlas200DK当中,那么应该不需要使用Ubuntu虚拟机也能直接通过SSH连接访问板子的才对,但是开始的时候发现不可以,后来找到了原因,就是自己的Windows系统网络配置没有配置好,相关的信息请看:3.1 配置windows系统


3 网络配置

3.1 配置windows登录

配置Windows系统下连接开发板,跳过使用Ubuntu虚拟机连接的步骤,使用虚拟机还很占用电脑资源,直接使用Windows通过SSH连接访问即可。
昇腾社区-官网丨昇腾万里 让智能无所不及
win10下安装华为Atals USB虚拟网卡驱动_usb rndis6虚拟网卡驱动安装教程_明明就是爱学习的博客-CSDN博客

3.2 网络设置

Windows的网络连接,本地以太网的IP地址设置为:192.168.0.102。USB网卡的地址是:192.168.1.3(只要是192.168.
1.x这个网段的即可)。

笔者选择使用【共享网络配置】方式让开发板联网
昇腾社区-官网丨昇腾万里 让智能无所不及

su - root
sudo vim /etc/netplan/01-netcfg.yaml
netplan apply

视频教程
Atlas 200 DK的多种联网方式_哔哩哔哩_bilibili

4 下载运行环境

4.1 更新 apt-get

4.1.1 换源(其实不需要)

笔者开始的时候遇到的问题是,开发板中的系统总是找不到软件包,试过很多方法,网上常用的方式是换源,但是换源并不能解决我的问题,最后发现,主要原因是时区问题,开发板中的系统和虚拟机的区别是:开发板系统移植后没有图形界面,其时区自己也没有设置;当虚拟机中的进入系统时自己会对其进行简单的设置,所以之前没有遇到过这种问题。
最后还是使用原始的源,没有使用国内的镜像。主要是修改时区,详细看 5.2 节。

相应的文件是:/etc/apt/sources.list

deb http://ports.ubuntu.com/ubuntu-ports/ bionic main
deb http://ports.ubuntu.com/ubuntu-ports/ bionic-security main
deb http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe   
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe   
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe   
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe   
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe   
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe   
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe   
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe

清华镜像
ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

4.1.2 执行命令

sudo apt-get update
sudo apt-get upgrade

4.2 更新Atlas200DK的Python环境(十分重要)

这个环境的更新和虚拟机的更新不太一样,按照虚拟机的更新方式不能实现,尝试了很多方式,使用agt-get直接安装的方式行不通,准备试一下自己编译的方式来安装。

主要是Atlas200DK官方使用的18.04.5或者18.04.4版本的Ubuntu,其默认版本的python版本是3.6版本,而笔者团队所需要的环境需要使用到python3.7版本的一些新的特性。所以最后还是更新一下python的版本。

4.2.1 无效折腾

看似有效,实际无效
【Python】终端输入python3,提示“command not found“。歪??明明已经下载了_python: command not found_遍地滚豆豆的博客-CSDN博客

ls -l /usr/bin | grep python		# 查看软链接
ls /usr/bin/python*							# 查看当前电脑上有哪些Python环境

4.2.2 自己编译安装(成功)

自己编译安装

昨晚(2023年10月3日)其实试过一次,但是没能成功,在安装的时候不知道出现了什么问题,索性直接重新制卡,重新开始安装环境

  1. 编译安装看这个

ubuntu22.04安装Python3.7(两种方法)
安装后,出现提示,表示我的环境变量没有配置,此时输入python3.7是找不到命令的
image.png

  1. 配置环境变量

27 | Ubuntu18.04.5 安装python3.7及卸载_ubuntu卸载python3.7_农耕园的博客-CSDN博客

  1. 命令汇总
# 编译环境所需要的包
sudo apt install build-essential zlib1g-dev libbz2-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

tar -xzvf Python-3.7.17.tgz			# 解压
cd Python-3.7.17								# 进入文件夹
./configure --prefix=/usr/local/src/python37  # 配置安装位置 
sudo make 											# 编译
sudo make install								# 安装

# 配置环境变量
sudo vim ~/.bashrc							# 编辑配置环境变量
source ~/.bashrc								# 重新加载环境文件
  1. 查看环境变量是否配置成功
python3.7					# 能进入 python3.7 环境
pip3.7 --version	# 能正确展示 pip3.7 的版本

4.3 运行环境下载

由于我自己安装了python3.7,但是配置了环境变量,没有更改原系统的软连接,所以这里直接使用pip3.7命令进行操作

4.3.1 下载安装依赖

  1. 下载opencv2
# 安装 opencv2
pip3.7 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
# 更新 pip
# python3 -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple

image.png

  1. 其他下载汇总
# 解决 ImportError: libGL.so.1: cannot open shared object file: No such file or directory 报错
pip3.7 install opencv-python-headless -i https://pypi.tuna.tsinghua.edu.cn/simple
# 安装 torch
pip3.7 install torch -i https://pypi.tuna.tsinghua.edu.cn/simple
# 安装 pandas
pip3.7 install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3.7 install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3.7 install pillow -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3.7 install tqdm -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3.7 install matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3.7 install torchvision -i https://pypi.tuna.tsinghua.edu.cn/simple

sudo apt-get install liblzma-dev
pip3.7 install backports.lzma -i https://pypi.tuna.tsinghua.edu.cn/simple

# 安装 pyyaml
pip3.7 install pyyaml -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3.7 install scipy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3.7 install seaborn -i https://pypi.tuna.tsinghua.edu.cn/simple

pip3.7 install tensorboard==2.4.1 -i https://pypi.tuna.tsinghua.edu.cn/simple

4.3.2 问题解决(遇到问题可以看看这里有没有)

  1. ModuleNotFoundError: No module named ‘_lzma’:解决方式:修改源码

ModuleNotFoundError: No module named ‘_lzma‘_modulenotfounderror: no module named ’backports_月亮299的博客-CSDN博客
ModuleNotFoundError: No module named ‘_lzma’


5 错误解决

5.1 解决无法使用 sudo 执行命令

修改配置文件,允许使用 sudo

su - root		# 切换超级用户
chmod u+w /etc/sudoers		# 添加修改权限
vim /etc/sudoers					# 编辑
your_user_name ALL=(ALL) NOPASSWD: ALL		# 在ROOT下方插入

5.2 使用apt-get update报错

Release file for http://security.ubuntu.com/ubuntu/dists/bionic-security/InRelease

报错的原因是时区不对,之前没有发现这个问题,在开发板上的系统,时间貌似和虚拟机使用的时候不同,会存在一定的问题。

  1. 首先根据第一个链接中的步骤更改时区;
  2. 然后执行第二个中的设置时区为上海:timedatectl set-timezone 'Asia/Shanghai';
  3. 再设置系统时间:date -s "2023-10-04 11:11:11";

链接1:
ubuntu在更新软件时出现E: Release file for http://security.ubuntu.com/ubuntu/dists/bionic-security/InRelease_师玉幺叔的博客-CSDN博客
链接2:
Linux修改时区(tzselect) 【例子:修改时区 为 中国 东8区 的时间】_sun0322的博客-CSDN博客

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拜见老天師

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值