华为智能基座【计算机组成原理】
- 前言
- 推荐
- 华为智能基座
- 实验1 基于QEMU的鲲鹏开发环境搭建
- 1.1 QEMU的安装配置
- 1.1.1 QEMU下载安装
- 1.1.2 环境变量配置
- 1.2 openEuler操作系统安装
- 1.2.1 环境准备
- 1.2.2 openEuler虚拟机创建
- 1. 打开虚拟机
- 2. 修改串口并登录
- 1.3 网络配置
- 1.3.1 参数设置
- 1.3.2 网卡及网络配置
- 1.3.3 网络连接测试
- 1.4 yum源配置
- 1.4.1 yum源设置
- 1.4.2 工具下载测试
- 1.5 程序测试
- 总结
- 最后
前言
2022-12-28 13:54:34
以下内容源自计算机组成原理
仅供学习交流使用
推荐
华为智能基座
实验1 基于QEMU的鲲鹏开发环境搭建
1.1 QEMU的安装配置
1.1.1 QEMU下载安装
方法一:进入QEMU官方下载页(https://qemu.weilnetz.de/w64/2019/),找到QEMU for Windows,下载最新版的qemu-w64-setup-20190815.exe,以便在Windows上模拟鲲鹏处理器。
方法二:可以直接从百度网盘下载:
链接:https://pan.baidu.com/s/1e19K43S2RzCZsy8FtUL2fQ ,提取码:0hov)
下载完成后安装,自定义安装路径, 在D盘中创建一个D:/qemutest文件夹,并把该文件夹作为安装路径,如图1.1所示。
1.1.2 环境变量配置
系统变量PATH:D:\qemutest\qemu
如果环境变量为单行
最前面添加%SystemRoot%\system32;
即可变成多行
新建D:\qemutest\qemu
即可
点击确定,保存并退出,重启计算机。
1.2 openEuler操作系统安装
1.2.1 环境准备
在开始安装之前,我们要准备好openEuler镜像。
方法一:进入openEuler开源社区下载qcow2镜像(https://repo.openeuler.org/openEuler-20.03-LTS/virtual_machine_img/aarch64/), 如图1.6所示。
图1.6 下载qcow2镜像
方法二:直接从百度网盘下载:
链接:https://pan.baidu.com/s/1e19K43S2RzCZsy8FtUL2fQ ,提取码:0hov)
下载完成后解压到D盘中的自定义文件夹openEuler_test
中,进入到qemu安装文件夹中,找到里面的edk2-aarch64-code.fd。将这个文件拷贝至刚才qcow2镜像所在的同级目录中。
完成后的效果如图1.7所示:
1.2.2 openEuler虚拟机创建
1. 打开虚拟机
方法一:
右击桌面左下角的“Windows”按钮,从其右键菜单中选择“搜索”项,搜索“cmd”,选择左侧的以管理员身份运行,如图1.8所示。
进入到刚才qcow2镜像所在的路径中。
输入以下命令:qemu-system-aarch64 -m 4096 -cpu cortex-a57 -smp 4 -M virt -bios edk2-aarch64-code.fd -hda openEuler-20.03-LTS.aarch64.qcow2 -serial vc:800x600
,如图1.9所示。
此处可以直接替换为输入带网络参数配置的命令:
qemu-system-aarch64 -m 4096 -cpu cortex-a57 -smp 4 -M virt -bios edk2-aarch64-code.fd -net nic,model=e1000 -net user -hda openEuler-20.03-LTS.aarch64.qcow2 -serial vc:800x600
图1.9 打开虚拟机
'qemu-system-aarch64' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
说明环境变量没有配置正确
方法二:
直接从百度网盘下载qd.bat文件:
链接:https://pan.baidu.com/s/1e19K43S2RzCZsy8FtUL2fQ ,提取码:
然后运行qd.bat文件
2. 修改串口并登录
选择View将串口改为Serial0,如图1.10所示。
图1.10 修改串口为serial0
等待片刻,出现登录提示,如图1.11所示。
图1.11 用户登录
进行登录操作,其中用户名为root,若采用从百度网盘下载的文件,密码为123;若从官方下载页下载QEMU后安装,用户名为root,密码为openEuler12#$(登录后可以自行修改),如图1.12所示。
图1.12 登陆成功界面
至此,虚拟机安装完成,鲲鹏开发者环境也搭建成功。其中,操作系统可以不固定,支持ARM架构的都可以安装。
特别提示:
== 从百度网盘下载QEMU和openEuler后安装的同学,1.3节和1.4节的配置步骤不需要再执行!可以直接跳到1.5节进行测试。==
1.3 网络配置
1.3.1 参数设置
我们采用最简单的方式配置网络。参数:-net nic, model=e1000 -net user-nic。这组参数可以同时配置网络前端和后端。
将这个网络参数加入到启动命令中:
qemu-system-aarch64 -m 4096 -cpu cortex-a57 -smp 4 -M virt -bios edk2-aarch64-code.fd -net nic,model=e1000 -net user -hda openEuler-20.03-LTS.aarch64.qcow2 -serial vc:800x600
登录到虚拟机中,如图1.13所示:
图1.13 登录成功后无IP
可以发现此时没有ip,我们还需要对网卡进行配置。
说明:在“打开虚拟机”时已经使用了带网络参数配置的启动命令,该步骤可以省略!!!
1.3.2 网卡及网络配置
查看你的网络信息:ifconfig,可以发现有个eth0网口,如图1.14所示。
图1.14 查看网卡MAC地址
记录下来eth0中第四行ether后的一串:52:54:00:12:34:56。用ethtool eth0
指令查看看eth0网口信息,最后一行Link detected:YES说明网卡正常工作,如图1.15所示。
图1.15 查看网卡是否正常工作
确认无误后,输入:nmcli connection来查看连接的设备信息,其中eth0口的UUID要记录下来,如图1.16所示。
图1.16 记录网卡的UUID
Linux中有的网络接口配置文件在/etc/sysconfig/network-scripts中,进入到这个目录,如图1.17所示。
图1.17 进入网络接口配置目录
这里面什么都没有,用vi创建一个ifcfg-eth0,如图1.18所示。
图1.18 网卡配置文件
在ifcfg-eth0中写入以下内容,如图1.19所示:
TYPE=Ethernet #网卡类型
DEVICE=eth0 #网卡接口名称
ONBOOT=yes #系统启动时是否激活 yes|no
BOOTPROTO=dhcp #启用地址协议
HWADDR= 前面你的网卡MAC地址#网卡设备MAC地址
UUID=前面你自己的UUID#网卡设备的UUID
IPV6INIT=no
USERCTL=no
NM_CONTROLLED=yes
图1.19 网卡配置
保存并退出。
1.3.3 网络连接测试
打开网口,输入命令:ifup eth0,如图1.20所示。
图1.20 打开网口
检查配置,重启qemu虚拟机
检测网络,输入命令:ifconfig,如图1.21所示。
可以看到eth0网口已有IP地址,证明网络配置成功。
ping www.baidu.com
Ctrl+C
1.4 yum源配置
1.4.1 yum源设置
输入以下命令来查看yum源:
cd /etc/yum.repos.d/
cat openEuler_aarch64.repo
用vi打开命令:vi openEuler_aarch64.repo。在最后添加以下内容:
[base]
name=openEuler20.03LTS
baseurl=https://repo.openeuler.org/openEuler-20.03-LTS/OS/aarch64/
enabled=1
gpgcheck=0
保存并退出,如图1.22所示、
图1.22 设置yum源
更新yum 源,执行以下命令:yum makecache,如图1.23所示。与
图1.23 更新yum源
至此,yum源配置完成,可以从网络上下载工具了。
1.4.2 工具下载测试
安装C/C++语言编译器:yum install gcc gcc-c++ libstdc+±devel,如图1.24和3.25所示。
图1.24 编译器安装(1)
图1.25 编译器安装(2)
安装完成后即可进行程序测试。
1.5 程序测试
用C语言编写hello world测试程序,如图2.1所示。
图2.1 hello world测试程序
编译运行,如图2.2所示。
图2.2 hello world运行
测试完成。至此,鲲鹏开发环境搭建完成,能够使用模拟器进行基于鲲鹏920处理器的程序开发与测试。
说明:从百度网盘下载openEuler的同学,可以直接到/home目录下找测试程序。
总结
本篇采用QEMU模拟器,完成了鲲鹏920处理器开发环境的搭建,未来大家可使用该环境进行鲲鹏处理器相关的开发工作。
最后
2022-12-28 18:35:55
这篇博客能写好的原因是:站在巨人的肩膀上
这篇博客要写好的目的是:做别人的肩膀
开源:为爱发电
学习:为我而行