制作启动镜像包
根据Atlas 200 AI加速模块的应用模式,OS镜像可以有两种加载方式,如表6-2所示。
- Atlas 200 AI加速模块作为主/协处理器时,有两种方式制作OS:
- USB读卡器方式:仅支持SD卡。
- 烧录文件方式:支持eMMC Flash/SD卡。
USB读卡器方式
前提条件
- 一张SD卡(8GB以上)。
- 一张USB读卡器。
- 一台带USB端口的Linux服务器或虚拟机(建议安装Ubuntu 16.04系统)。
Linux服务器已安装qemu-user-static、binfmtsupport、yaml、unzip、unrar与交叉编译器。
- 所有的依赖必须用root用户进行安装。
- Ubuntu 16.04系统的用户可以通过如下命令进行安装上述依赖。
apt-get install -y qemu-user-static python3-yaml binfmt-support gcc-aarch64-linux-gnu g++-aarch64-linux-gnu expect unzip unrar
其中“gcc-aarch64-linux-gnu”与“g++-aarch64-linux-gnu”版本要求为5.4.0,其他依赖软件包无版本要求。Ubuntu 16.04.3默认安装的gcc版本为5.4.0。
操作步骤
- 将SD卡插入USB读卡器。
- 将USB读卡器插入Linux服务器。
- 登录Linux服务器。
- 执行如下命令,切换至root用户。
su - root
- 使用“WinSCP”,将sd_tools.rar镜像工具包上传至Linux系统任一目录,例如/home/ascend/mksd。详细信息请参见使用WinSCP传输文件。
- 执行如下命令,进入sd_tools.rar制卡脚本工具包所在目录,例如/home/ascend/mksd。
cd /home/ascend/mksd
- 使用如下命令,解压sd_tools.rar制卡脚本工具包。-
unrar x sd_tools.rar
- 进入sd_tools目录。
cd sd_tools
- 使用“WinSCP”,将软件包“A200-3000-Soc-FW-Vxxx.zip”、“ubuntu-xxx-server-arm64.iso”上传至Linux服务器解压后的sd_tools目录,例如/home/ascend/mksd/sd_tools。
- xxx为具体版本号信息。
- Linux环境,要求Ubuntu版本为16.04.3。请从http://old-releases.ubuntu.com/releases/16.04.3/网站下载对应版本的“ubuntu-xxx-server-arm64.iso”。
- 当前目录只允许存放一个版本的软件包。
- 执行如下命令,将软件包“A200-3000-Soc-FW-Vxxx.zip”重命名为“mini_developerkit.rar”。
mv A200-3000-Soc-FW-Vxxx.zip mini_developerkit.rar
- (可选)更改网线和USB的默认IP地址,需分别修改“make_sd_card.py”脚本中的“NETWORK_CARD_DEFAULT_IP”与“USB_CARD_DEFAULT_IP”的参数值。
USB连接方式的默认IP地址为192.168.1.2,网线连接方式的默认IP地址192.168.0.2。
- 执行如下命令,查找SD卡所在的USB设备名称,例如“/dev/sdb”。
fdisk -l
- 执行如下命令,运行启动镜像脚本“make_sd_card.py”,制作SD卡。
python3 make_sd_card.py local /dev/sdb
显示如下信息,表示开始制卡。
root@ubuntu:/home/ascend/mksd# python3 make_sd_card.py local /dev/sdb Begin to make SD Card... Please make sure you have installed dependency packages: apt-get install -y qemu-user-static binfmt-support gcc-aarch64-linux-gnu g++-aarch64-linux-gnu Please input Y: continue, other to install them:
- 输入“Y”。
显示如下信息,表示制卡成功。
Step: Start to make SD Card. It need some time,please wait... Make SD Card successfully!
- (可选)批量制卡。
批量制卡需保证复制卡与母卡型号和规格完全一致。
- 方法1:将SD卡从读卡器取出,通过内存卡拷贝机直接进行SD卡复制。
- 方法2:将制作好OS的SD卡使用dd命令导出镜像,进行批量烧录制卡。
- 导出镜像,请执行如下命令。详细请自行查询Linux dd命令使用方法。
命令:dd if=母盘盘符 of=导出镜像名
示例:dd if=/dev/sda of=/root/tmp/sd.image
- 将镜像烧录至待复制子卡,请执行如下命令:
命令:dd if=镜像名 of=待复制子盘盘符
示例:dd if=/root/tmp/sd.image of=/dev/sdb
- 导出镜像,请执行如下命令。详细请自行查询Linux dd命令使用方法。
- 将SD卡插入SD卡卡槽,上电Atlas200 AI加速模块。
- 登录Atlas 200 AI加速模块OS。详细信息请参见使用PuTTY登录设备(网口方式)。
烧录文件方式
前提条件
- 一台带网络端口的Linux服务器或虚拟机(建议安装Ubuntu 16.04系统)。
Linux服务器已安装unrar、qemu-user-static、binfmt-support、yaml、expect、unzip与交叉编译器。
- 所有的依赖必须用root用户进行安装。
- Ubuntu 16.04系统的用户可以通过如下命令进行安装上述依赖。
apt-get install -y qemu-user-static python3-yaml binfmt-support gcc-aarch64-linux-gnu g++-aarch64-linux-gnu expect unzip
其中“gcc-aarch64-linux-gnu”与“g++-aarch64-linux-gnu”版本要求为5.4.0,其他依赖软件包无版本要求。Ubuntu 16.04.3默认安装的gcc版本为5.4.0。
- 将Atlas 200 AI加速模块的UART1 TX与UART1 RX直连,通过网线连接Linux服务器到Atlas 200 AI加速模块。将Atlas 200 AI加速模块上电开机启动。
- 仅Atlas 200 AI加速模块flash中的文件系统版本为1.3.x.x.B893及以上版本、1.32.x.x版本时,支持eMMC制卡。确认此文件系统版本的方法如下:
- 已经通过usb读卡器等方式可以进入OS的情况下,执行如下操作。
- 执行如下命令,进入driver目录。
cd /var/davinci/driver/
- 执行如下命令,获取flash中文件系统的版本信息。
./upgrade-tool --device_index -1 --component rootfs --version
- 执行如下命令,进入driver目录。
- 若无法获取Atlas 200 AI加速模块flash中的文件系统版本信息,请尝试直接以烧录文件方式制卡;若制卡失败,请联系华为技术支持获取帮助。
- 已经通过usb读卡器等方式可以进入OS的情况下,执行如下操作。
操作步骤
- 将SD卡插入USB读卡器。
- 将USB读卡器插入Linux服务器。
- 登录Linux服务器。
- 执行如下命令,切换至root用户。
su - root
- 使用“WinSCP”,将sd_tools.rar镜像工具包上传至Linux系统任一目录,例如/home/ascend/mksd。详细信息请参见使用WinSCP传输文件。
- 执行如下命令,进入sd_tools.rar镜像工具包的上传目录,例如/home/ascend/mksd。
cd /home/ascend/mksd
- 执行如下命令,解压sd_tools.rar包后。
unrar x sd_tools.rar
- 进入sd_tools目录。
cd sd_tools
- 使用“WinSCP”,将软件包“A200-3000-Soc-FW-Vxxx.zip”、“ubuntu-xxx-server-arm64.iso”上传至Linux服务器解压后的sd_tools目录,例如/home/ascend/mksd/sd_tools。详细信息请参见使用WinSCP传输文件。
- xxx为具体版本号信息。
- Linux环境,要求Ubuntu版本为16.04.3。请从http://old-releases.ubuntu.com/releases/16.04.3/网站下载对应版本的“ubuntu-xxx-server-arm64.iso”。
- 当前目录只允许存放一个版本的软件包。
- 执行如下命令,将软件包“A200-3000-Soc-FW-Vxxx.zip”重命名为“mini_developerkit.rar”。
mv A200-3000-Soc-FW-Vxxx.zip mini_developerkit.rar
- (可选)更改网线和USB的默认IP地址,需分别修改“make_sd_card.py”脚本中的“NETWORK_CARD_DEFAULT_IP”与“USB_CARD_DEFAULT_IP”的参数值。
USB连接方式的默认IP地址为192.168.1.2,网线连接方式的默认IP地址192.168.0.2。
- 执行如下命令,查看Atlas 200 AI加速模块网络连接是否正常。
ping 192.168.0.2
显示如下信息,表示网络连接正常。
root@hi19110:/home/ascend/mksd/sd_tools# ping 192.168.0.2 PING 192.168.0.2 (192.168.0.2) 56(84)bytes of data. 64 bytes from 192.168.0.2: icmp_seq=1 ttl=64 time=0.101 ms 64 bytes from 192.168.0.2: icmp_seq=2 ttl=64 time=0.097 ms 64 bytes from 192.168.0.2: icmp_seq=3 ttl=64 time=0.096 ms 64 bytes from 192.168.0.2: icmp_seq=4 ttl=64 time=0.101 ms
- 执行如下命令,运行启动镜像脚本“make_sd_card.py”,制作SD/EMMC卡。
python3 make_sd_card.py recover
显示如下信息,表示开始制卡。
root@hi1910:/home/ascend/mksd/sd_tools# python3 make_sd_card.py recover Begin to make Card in recover model... Please make sure you have installed dependency packages: apt-get install -y qemu-user-static binfmt-support gcc-aarch64-linux-gnu g++-aarch64-linux-gnu expect Please input Y: continue, other to install them:
- 输入“Y”。
显示如下信息,表示制卡成功。
Step: Start to make card in recover model. It need some time,please wait... Make SD Card successfully!
- (可选)批量制卡。
批量制卡需保证复制卡与母卡型号和规格完全一致。
- SD卡批量制作方法:
- 方法1:将SD卡从读卡器取出,通过内存卡拷贝机直接进行SD卡复制。
- 方法2:将制作好OS的SD卡使用dd命令导出镜像,进行批量烧录制卡。
- 导出镜像,请执行如下命令。详细请自行查询Linux dd命令使用方法。
命令:dd if=母盘盘符 of=导出镜像名
示例:dd if=/dev/sda of=/root/tmp/sd.image
- 将镜像烧录至待复制子卡,请执行如下命令:
命令:dd if=镜像名 of=待复制子盘盘符
示例:dd if=/root/tmp/sd.image of=/dev/sdb
- 导出镜像,请执行如下命令。详细请自行查询Linux dd命令使用方法。
- eMMC卡批量制作方法:
通过烧录器进行emmc颗粒复制,具体操作请参见烧录器厂商提供的方法。
- SD卡批量制作方法:
- 断开Atlas 200 AI加速模块(型号 3000)的UART1 TX与UART1 RX的连接,下电再上电设备。
- 登录OS。详细信息请参见使用PuTTY登录设备(网口方式)。