一、系统登录与网络配置

1.1 系统登录

  • 通过调试串口进入系统

  • 用户名:root

  • 密码:Mind@123

1.2 网络配置

通过 /etc/netplan/01-netcfg.yaml 配置网口:

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.1.142/24]
      gateway4: 192.168.1.1
      nameservers:
            addresses: [8.8.8.8,114.114.114.114,255.255.255.0]

    usb0:
       dhcp4: no
       addresses: [192.168.1.2/24]
       gateway4: 192.168.0.1

二、磁盘空间扩展配置

2.1 查看磁盘分区

lsblk查看磁盘分区情况

image.png

当前磁盘情况分析:

  • mmcblk0p1: 5G,挂载为 / (根分区)

  • mmcblk0p2: 1G,未挂载

  • mmcblk0p3: 51.8G,未挂载

  • 总磁盘: 58.2G,目前只有 5G 被使用

2.2 格式化未使用分区

sudo mkfs.ext4 /dev/mmcblk0p3

2.3 创建挂载点

sudo mkdir /mnt/bigdisk

2.4 挂载分区

sudo mount /dev/mmcblk0p3 /mnt/bigdisk

2.5 以正确用户身份创建符号链接

sudo -u HwHiAiUser ln -s /mnt/bigdisk /home/HwHiAiUser/workspace

image.png

2.6 设置开机自动挂载

echo '/dev/mmcblk0p3 /data ext4 defaults 0 2' | sudo tee -a /etc/fstab

2.7 检查挂载结果

df -h

image.png

三、烧录自制系统

3.1 进入虚拟机Ascend

# 切换root用户
sudo su
cd /home/ascend/mksd

#查看根文件分区大小【可根据实际修改】
gedit mksd.conf preconfig.sh

image.png

image.png

安装Ascend-cann-toolkit_6.3.RC2.alpha003_linux-aarch64需要根文件分区较大【我这里设置了15G】

3.2 临时添加IP

若有192.168.0.x网段IP,则不用添加

sudo ip addr add 192.168.0.130/24 dev ens33

尝试ping 192.168.0.2

3.3 运行启动镜像脚本

python3 make_sd_card.py recover

image.png

3.4 报错分析

SSH连接失败

解决方法:rm -r ~/.ssh/*

image.png

四、设置系统环境

系统首次启动时,将自动分配磁盘空间,完成后会自动重启。

登录用户:root 密码:Mind@123

4.1 检查当前系统、驱动、固件版本

4.1.1 查看系统版本

uname -a && cat /etc/os-release

image.png

4.1.2 查看驱动版本

npu-smi info

image.png

4.1.3 查看固件版本

/var/davinci/driver/upgrade-tool --device_index -1 --component -1 --all --version

image.png

4.2 更改IP

sudo su 

vi /etc/netplan/01-netcfg.yaml
# 内容如下:
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.1.142/24]		#为你自己设置的板卡IP
      gateway4: 192.168.1.1
      nameservers:
            addresses: [8.8.8.8,114.114.114.114,255.255.255.0]

:wq
# 保存退出后,输入命令
netplan apply

4.3 普通用户添加sudo权限

sudo su 

chmod u+w /etc/sudoers

vim /etc/sudoers

# 在“root    ALL=(ALL:ALL) ALL” 下一行添加:

HwHiAiUser ALL=(ALL:ALL) ALL

:wq

4.4 更改用户密码

sudo su

passwd HwHiAiUser
# 按照提示输入新密码,一般默认:123
passwd root
# 按照提示输入新密码,一般默认:123

4.5 修改SSH配置允许root登录

vim /etc/ssh/sshd_config

# 启用以下参数
PermitRootLogin yes
PermitEmptyPasswords yes

image.png

4.6 更换软件源

vi /etc/apt/sources.list
# 输入以下内容
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main multiverse restricted universe

# 保存退出
:wq
# 更新软件源
sudo apt-get update
# 更新软件
sudo apt-get upgrade

修改后内容:

image.png

五、安装Ascend-cann-toolkit

5.1 安装依赖库

分别使用如下命令检查是否安装gcc,make以及python依赖软件等

gcc --version
g++ --version
make --version
cmake --version
dpkg -l zlib1g| grep zlib1g| grep ii
dpkg -l zlib1g-dev| grep zlib1g-dev| grep ii
dpkg -l libsqlite3-dev| grep libsqlite3-dev| grep ii
dpkg -l openssl| grep openssl| grep ii
dpkg -l libssl-dev| grep libssl-dev| grep ii
dpkg -l libffi-dev| grep libffi-dev| grep ii
dpkg -l unzip| grep unzip| grep ii
dpkg -l pciutils| grep pciutils| grep ii
dpkg -l net-tools| grep net-tools| grep ii
dpkg -l libblas-dev| grep libblas-dev| grep ii
dpkg -l gfortran| grep gfortran| grep ii
dpkg -l libblas3| grep libblas3| grep ii
dpkg -l libopenblas-dev| grep libopenblas-dev| grep ii
#若返回版本信息则说明已安装

执行如下安装命令,若安装则跳过

sudo apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev openssl libsqlite3-dev libssl-dev libffi-dev unzip pciutils net-tools libblas-dev gfortran libblas3 libopenblas-dev

5.2 配置Python 3.7

使用wget下载python3.7.5源码包,或者通过ssh上传

# 源码下载命令
wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
# python3.8 下载链接 https://www.python.org/ftp/python/3.8.20/Python-3.8.20.tgz

解压源码包

tar -zxvf Python-3.7.5.tgz

进入解压后的文件夹,执行配置、编译和安装命令

cd Python-3.7.5
./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared
make -j6 # 不建议使用make -j 或 -j8 会导致卡死
make install

执行完成后设置环境变量

vi ~/.bashrc

# 用于设置python3.7.5库文件路径
export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH
# 如果用户环境存在多个python3版本,则指定使用python3.7.5版本
export PATH=/usr/local/python3.7.5/bin:$PATH
# 保存退出
:wq
# 刷新环境变量
source ~/.bashrc

5.3 安装Python依赖

# 更新pip工具
pip3 install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple

# 安装依赖
pip3 install attrs -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install cython -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install decorator -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install sympy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install cffi -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install pyyaml -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install pathlib2 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install psutil -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install protobuf -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install scipy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install absl-py -i https://pypi.tuna.tsinghua.edu.cn/simple

5.4 安装Ascend-cann-toolkit_6.0.1

或 安装Ascend-cann-toolkit_6.3.RC2.alpha003 请看下一步

  • 将Ascend-cann-toolkit_6.0.1_linux-aarch64.run上传到板卡,修改执行权限

    chmod +x Ascend-cann-toolkit_6.0.1_linux-aarch64.run
    
  • 执行以下命令进行安装

    ./Ascend-cann-toolkit_6.0.1_linux-aarch64.run --install --install-for-all
    
  • 安装记录

    image.png

  • 配置环境变量

    source /usr/local/Ascend/ascend-toolkit/set_env.sh
    

    5.5 安装Ascend-cann-toolkit_6.3.RC2.alpha003

  • 将Ascend-cann-toolkit_6.3.RC2.alpha003_linux-aarch64.run上传到板卡,修改执行权限

    chmod +x Ascend-cann-toolkit_6.3.RC2.alpha003_linux-aarch64.run
    
  • 执行以下命令进行安装

    ./Ascend-cann-toolkit_6.3.RC2.alpha003_linux-aarch64.run --install --force --install-for-all
    
  • 安装记录:

image.png

image.png

出现此提示说明Ascend-cann-toolkit_6.3.RC2.alpha003_linux-aarch64.run安装成功,安装路径为/usr/local/Ascend

  • 配置环境变量
source /usr/local/Ascend/ascend-toolkit/set_env.sh

六、测试推理接口

6.1 上传测试例程acl_demo

6.1.1 确保可执行权限

chmod +x build.sh

6.1.2 编译并测试

image.png

image.png

七、测试景象匹配Demo

7.1 环境部署

7.1.1 OpenCV 4.5.5

  • 上传3rdparty在/home/HwHiAiUser/目录下,并解压

    tar -zxvf 3rdparty.tar.gz
    
  • vim ~/.bashrc 添加至最后一行

    export LD_LIBRARY_PATH=/home/HwHiAiUser/3rdparty/opencv-4.5.5/lib:$LD_LIBRARY_PATH
    
  • 刷新环境变量

    source ~/.bashrc
    

    7.1.2 GDAL 2.2.3

  • 更新软件包

    sudo apt update
    
  • 安装GDAL

    sudo apt install gdal-bin libgdal-dev python3-gdal
    
  • 验证GDAL安装

gdalinfo --version

image.png

7.1.3 安装YAML-CPP 0.5.2

  • 安装YAML-CPP

    sudo apt install libyaml-cpp-dev
    
  • 验证YAML-CPP安装

pkg-config --modversion yaml-cpp

image.png

7.1.4 安装FFmpeg 3.4.11

  • 安装FFmpeg

    sudo apt install ffmpeg
    
  • 验证FFmpeg安装

    ffmpeg -version
    

    image.png

    7.2 OpenCV imshow的依赖修复

    在华为Atlas 200 设备上,使用自定义编译的OpenCV 4.5.5库时,cv::imshow无法正常工作,但xclock等基础X11应用可通过SSH X11转发显示。

    image.png

    7.2.1 安装X11应用(OpenCV imshow的依赖修复)

  • 检查DISPLAY变量

    # 如果显示类似":10.0",说明X11转发已启用
    echo $DISPLAY
    
  • 安装X11应用

    sudo apt-get install x11-apps -y
    
  • 测试X11转发

    #看到一个时钟窗口在你的PC上弹出
    xclock &
    

    7.2.2 安装GTK2库(OpenCV imshow的依赖修复)

  • 搜索包含缺失库的软件包

    apt-cache search libgtk2.0-0
    # 通常会找到一个名为 `libgtk2.0-0` 的包,它是GTK2的运行时库
    

    image.png

  • 安装libgtk2.0-0

    sudo apt-get install libgtk2.0-0
    

    八、验证match_demo

  • 编译./build.sh

  • 编译成功后,有四个测试例程run_arch35.sh run_arch70.sh run_land35.sh run_land70.sh

    image.png

  • 执行其中一个,output下生成测试结果

    image.png

  • OpenCV imshow可视化

image.png

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐