这次工程实践对象硬件由FT2000/4(主芯片)、华为Atlas200(从设备)组成,在FT2000/4安装麒麟V10 Server操作系统。目标是在这套设备设备上运行AI推理模型并进行软件开发。
FT2000/4是兼容ARM V8指令集的国产CPU,采用ARM交叉编译的程序可以直接在这款芯片运行。麒麟V10 Server是采用CentOS内核的国产操作系统,现在由于CentOS停服,他开始采用华为开源的OpenEuler作为内核。
首先,我们得有一个通过PCIE交互的FT2000/2、华为Atlas200板卡。
驱动版本:Atlas-200-npu-driver_21.0.4_linux-aarch64.run
固件版本:Atlas-200-npu-firmware_1.80.22.2.220.run
首次安装按照先驱动后固件的顺序。
./Atlas-200-npu-driver_21.0.4_linux-aarch64.run --full
./Atlas-200-npu-firmware_1.80.22.2.220.run --full
完成安装可通过npu-smi info能查看到设备信息。
接下来将按照EP模式开发的AI推理代码在开发环境完成ARM交叉编译后放到设备上即可运行。
没想到在麒麟V10 Server上安装g++、qt5和VNC花了非常多时间。在麒麟V10上安装软件最好通过yum install,但是最近几天完全连不上源,甚至麒麟的官网也无法打开。解决方法就是等,或者通过devtoolset7下载部分rpm手动安装。
安装的麒麟V10系统配置静态IP和CentOS类似。
编辑文件 /etc/sysconfig/network-scripts/ifcfg-xxxx
TYPE=Ethernet //以太网
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static //静态IP
IPADDR=192.168.137.101 //IP地址
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.137.1 //网关
DNS1=8.8.8.8 //dns 域名解析
DNS2=114.114.114.114
DNS3=119.29.29.29
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enaphyt4i0
UUID=129a0897-321e-4bba-ba5e-f1932164e403
DEVICE=enaphyt4i0
ONBOOT=yes //设置为yes,表示系统启动时激活网络接口
配置后重启网络
systemctl restart network
一开始系统时间是2019年,这造成编译代码出错提示时间问题。
采用date命令修改系统时间
date -s "2022-08-12 9:13:20"
再采用hwclock命令将系统时间同步到硬件时间,确保硬件重启后时间依然有效。其中"-u"表示将时间转换为UTC格式。
hwclock -uw
下面是麒麟v10的源,在官网正常后该源恢复使用。
/etc/yum.repos.d/kylin_aarch64.repo
[ks10-adv-os]
name = Kylin Linux Advanced Server 10 - Os
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/base/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1
[ks10-adv-updates]
name = Kylin Linux Advanced Server 10 - Updates
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/updates/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1
[ks10-adv-addons]
name = Kylin Linux Advanced Server 10 - Addons
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/addons/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 0
清楚源缓存
yum clean all
生成源缓存
yum makecache
可通过下面的命令查看已安装及可安装的包。其中带@的是已安装包。
yum list
安装c++
yum install gcc-c++
安装qt5
yum install qt5-qtbase qt5-qtbase-devel qt5-qtquickcontrols2-devel qtcreator
安装vnc
yum install tigervnc-server
VNC是远程控制软件,在设备上安装VNC-SERVICE,在电脑上安装VNC-Viewer,就能通过VNC-Viewer远程链接设备。连接后呈现一个可视化窗口,我们变可以在可视化窗口启动 qtcreator 进行软件开发。参考链接[3]进行配置。
通过此命令设置开机自启动VNC服务
systemctl start vncserver@:1.service
systemctl enable vncserver@:1.service
systemctl status vncserver@:1.service
我们使用qtcreator创建工程,先通过VNC连接到设备,然后在VNC中打开终端输入 qtcreator 启动。
打开qtcreator
在打开的qt工程中配置qt路径
配置调试选项,避免一debug就弹出SIGSTOP。
完:)