建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

在此一键设置昵称,即可参与社区互动!

确定
我再想想
选择版块
直达楼层
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

采纳成功

您已采纳当前回复为最佳回复

太一

发帖: 8粉丝: 20

级别 : 版主,版块专家

发消息 + 关注

发表于2019年07月04日 15:25:36 9765 14
直达本楼层的链接
楼主
显示全部楼层
[新手课堂] 【Hello,鲲鹏】第二期:创造一个属于自己的鲲鹏开发者环境

历史上,windows与intel的大联盟共同创造了昵称为“wintel”的庞大帝国,直到现在,业界绝大多数程序员选择的工作平台仍然是windows桌面操作系统。对于大多数行业新技术的接触,也从新技术如何在自己的桌面运行“hello,world”开始。

那么我们今天就从三个段落来讲述如何创造一个属于自己的鲲鹏开发者环境,分别是:

  1. windows x86桌面上如何运行一个兼容ARMv8指令集的模拟环境。

  2. linux x86主机上如何运行一个兼容ARMv8指令集的模拟环境。

  3. 通过华为云ECS RC3/RC6系列实例,一键式获取一个原生鲲鹏芯片环境。

 

windows x86桌面上如何运行一个兼容ARMv8指令集的模拟环境。

 

我们首先需要聊一个软件QEMU。QEMU本身是一款用来完成硬件虚拟化及虚拟机托管的开源软件,他通过动态的二进制转换,模拟CPU,也可以通过KVM一起使用使得虚拟机的性能接近真实的计算机速度。

在主流的功能(虚拟机托管)之外,他还有一个重要的功能可以为user-level的进程执行CPU仿真,进而允许了为一种架构编译的程序在另外一种架构上面运行。

 

我们今天先讲讲,如何在windows上创建一台模拟ARMv8指令集的虚拟机,虚拟机使用Ubuntu18.04作为操作系统。

 

准备工作

  1. QEMU on win64软件包。官网地址https://www.qemu.org/download/,软件包下载页https://qemu.weilnetz.de/w64/。我们选择其中较新的一个发布件https://qemu.weilnetz.de/w64/qemu-w64-setup-20190218.exe

  2. Ubuntu18.04 for ARM64的操作系统引导光盘镜像文件http://cdimage.ubuntu.com/releases/18.04/release/ubuntu-18.04.2-server-arm64.iso。当然操作系统大家可以换成自己想要的,理论上所有支持ARMv8指令集的操作系统都可以运行。如果你想使用的是一款虚拟机镜像则不需要参考详细步骤中通过光盘引导安装这个章节,直接使用qemu-img程序,将虚拟机镜像直接转制成磁盘文件,就可以直接启动虚拟机了,我会在下面的楼层里补充操作方法。

  3. ARM64BIOS bin文件,qemu-efi-aarch64_0~20180205.c0d9813c-2_all.deb。https://packages.ubuntu.com/bionic/qemu-efi-aarch64

  4. 本机安装7-zip或具备相同功能的解压缩软件。

  5. 由于QEMU是个纯命令行工具,至少知道目前,还没有已知的很理想的GUI工具,因此你需要在实际操作前先了解QEMU的使用方式。

  6. 预留100G左右本地磁盘空间、

 

一些假设

  1. 虚拟机的磁盘文件所在的目录为d:\qemu\vm\test_kunpeng\,并且预先创建好该目录

  2. 虚拟机的BIOS bin所在的目录为d:\qemu\bios,并且预先创建好该目录。

  3. ubuntu操作系统引导光盘绝对路径为d:\download\ubuntu-18.04.2-server-arm64.iso

  4. qemu软件安装路径为c:\qemu

 

详细步骤

  1. 安装qemu软件。纯gui操作step by step操作,不再详述。

    image.png

  2. 解压bios bin文件。

  3. 使用7-zip或具备相同功能的解压缩工具,解压qemu-efi-aarch64_0~20180205.c0d9813c-2_all.deb软件包,提取其中的QEMU_EFI.fd至目录d:\qemu\bios

    image.png

  4. 使用windows cmd创建虚拟机的系统盘,40G

  5. 输入以下命令:

    c:\qemu\qemu-img.exe create D:\qemu\vm\test_kunpeng\hdd01.img 40G

    image.png

  6. 执行命令直接通过光盘引导启动虚拟机

  7. 输入以下命令:

    c:\qemu\qemu-system-aarch64.exe -m 2048 -cpu cortex-a72 -smp 2,cores=2,threads=1,sockets=1 -M virt -bios D:\qemu\bios\QEMU_EFI.fd -net nic,model=pcnet -device VGA -drive if=none,file=d:\download\ubuntu-18.04.2-server-arm64.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=D:\qemu\vm\test_kunpeng\hdd01.img,id=hd0 -device virtio-blk-device,drive=hd0


    参数的含义大致如下:

      qemu-system-aarch64.exe

      二进制文件,提供模拟aarch64架构的虚拟机进程

      -m 2048

      分配2048MB内存

      -M virt

      模拟成什么服务器,我们一般选择virt就可以了,他会自动选择最高版本的virt

      -cpu cortex-a72

      模拟成什么CPU,其中cortex-a53\a57\a72都是ARMv8指令集的

      -smp  2,cores=2,threads=1,sockets=1

      2vCPU,这2vCPUqemu模拟出的一个插槽(socket)中的2个核心,每个核心支持一个超线程构成。

      -bios xxx

      指定bios bin所在的路径

      -device xxx

      添加一个设备,参数可重复

      -drive

      添加一个驱动器,参数可重复

      -net

      添加网络设备

      这时候,一个带图形界面的VM就启动起来了,不过画面中什么都没有。当然还有很多其他高级参数,大家可以去qemu官方网站学习。

      image.png


  8. 安装Ubuntu操作系统

  9. 先选择串口,安装界面就出来了,后面按照Ubuntu官方指引进行安装,并等待安装完成。

    image.png 

    image.png

    image.png

    image.png  

  10. 系统再次启动

  11. 下次启动虚拟机的时候,并不能再次使用前面的命令,否则又会使用光盘引导安装。我们需要将CDROM相关的参数移除。

    c:\qemu\qemu-system-aarch64.exe -m 2048 -cpu cortex-a72 -smp 2 -M virt -bios D:\qemu\bios\QEMU_EFI.fd -device VGA -device virtio-scsi-device -drive if=none,file=D:\qemu\vm\test_kunpeng\hdd01.img,id=hd0 -device virtio-blk-device,drive=hd0


    重新启动后可以看到这样的界面

    image.png

    那么到这里,我们在windows上就成功搭建出一个鲲鹏开发者环境了。


 


 

Linux 相关的OS运行一个兼容ARMv8指令集的模拟环境。

本质上和前文的windows桌面平台没有太大差别,我这里把差别列举一下。

  1. QEMU on Linux的安装方法:

  2. wget https://download.qemu.org/qemu-4.0.0.tar.xz
    tar xvJf qemu-4.0.0.tar.xz
    cd qemu-4.0.0
    ./configure
    make


  3. 通常Linux主机没有桌面,执行命令的时候可以加上-nographic参数使用纯文本的操作系统安装界面。也可以使用带桌面的Linux,就和Windows的方法没有区别了。

  4. 0网络的配置在Linux上有很多小技巧,可以尝试通过社区学习。

 

通过华为云获取原生使用鲲鹏处理器的弹性云服务器(ECS

 目前ARM通用性云服务器,已经登录华为云-北京四区域并上线公测,有兴趣的小伙伴,可以前往北京四申请公测。目前已经提供了4类操作系统供大家使用,均支持lazyloading。

image.png

 

通过互联网使用的小伙伴们,绑定EIP就可以正常访问了,同时还可以享受mirrors.huaweicloud.com中众多开源社区镜像站的加速能力,急速安装常用软件。

 

看,眨眼间我就拥有一台原生使用鲲鹏920芯片的云服务器了。

image.png



下一期:【Hello,鲲鹏】第三期:在鲲鹏上使用编程语言——C语言

举报
分享

分享文章到朋友圈

分享文章到微博

采纳成功

您已采纳当前回复为最佳回复

倪森

发帖: 0粉丝: 0

发消息 + 关注

发表于2019年07月10日 18:38:38
直达本楼层的链接
沙发
显示全部楼层

没有看到华北-北京四里面有arm通用计算型服务器

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

太一

发帖: 8粉丝: 20

级别 : 版主,版块专家

发消息 + 关注

发表于2019年07月11日 12:12:00
直达本楼层的链接
板凳
显示全部楼层

倪森 发表于 2019-7-10 18:38没有看到华北-北京四里面有arm通用计算型服务器
公测申请链接

公测申请链接为:https://account.huaweicloud.com/usercenter/#/supportindex/betaManagement?serviceCode=ecs_rc6
当前产品处于受限邀测阶段,准确填写公测问卷,标明与贵公司接口的SA,更有助于通过公测审核哦。如无SA,请务必填写邮箱,方便联系。

注:如果长时间无结果,可以联系与贵公司接口的SA,让SA推动产品经理审核。
点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

潘瑞云

发帖: 3粉丝: 0

发消息 + 关注

发表于2019年08月06日 14:41:57
直达本楼层的链接
地板
显示全部楼层

请问专家们,这个状态不往下走了,我该怎么处理?是哪边没有操作对吗?

在至强CPU,进行的楼主的操作。

安装的是CentOS7的Aarch64的系统。

c:\qemu\qemu-system-aarch64.exe -m 8192 -cpu cortex-a72 -smp 8,cores=8,threads=1,sockets=1 -M virt -bios D:\qemu\bios\QEMU_EFI.fd -net nic,model=pcnet -device VGA -drive if=none,file=D:\centos7\CentOS-7-aarch64-Everything-1810.iso,id=cdrom,media=cdrom -device virtio-scsi-device -device scsi-cd,drive=cdrom -drive if=none,file=D:\qemu\vm\test_kunpeng\hdd01.img,id=hd0 -device virtio-blk-device,drive=hd0

捕获.PNG


评论
太一 2019-8-6 16:48 评论

安装centos官方镜像的话,里面有键鼠操作。 1、需要添加屏幕,在命令行里增加参数-device VGA 2、添加鼠标键盘-device usb-ehci -device usb-kbd -device usb-mouse -usb 3、点view里面的vga,用鼠标click click done.

... 查看全部
点赞1 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

x88484532

发帖: 0粉丝: 0

发消息 + 关注

发表于2019年08月10日 13:02:05
直达本楼层的链接
5#
显示全部楼层

先学习一下

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

bin4xin

发帖: 13粉丝: 0

发消息 + 关注

发表于2019年08月10日 14:50:49
直达本楼层的链接
6#
显示全部楼层

嫌麻烦的小伙伴可以直接用windows的powershell也可以直接ssh远程登录哟

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

FF27

发帖: 0粉丝: 0

发消息 + 关注

发表于2019年09月11日 15:31:06
直达本楼层的链接
7#
显示全部楼层

学习学习

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

月中影cl

发帖: 1粉丝: 0

发消息 + 关注

发表于2019年09月11日 15:37:26
直达本楼层的链接
8#
显示全部楼层

请教下大神,qemu里面装ubuntu的网络配置问题。我在window下装了tap驱动,虚拟一个网卡。和宿主机的物理网口组成网桥。qemu启动虚拟机时,添加tap虚拟网口,并且配置和网桥相同网段,但是虚拟机和宿主机一直ping不通。

image.png

image.png


image.png

image.png

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

潇洒一族

发帖: 24粉丝: 11

发消息 + 关注

发表于2019年12月02日 16:57:57
直达本楼层的链接
9#
显示全部楼层

后面解决了没?是不是把网桥去掉就可以了。

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

蓝书签

发帖: 40粉丝: 33

发消息 + 关注

发表于2019年12月30日 13:25:15
直达本楼层的链接
10#
显示全部楼层

学习一下指令集,步骤写的很清晰

点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册

结贴

您对问题的回复是否满意?
满意度
非常满意 满意 一般 不满意
我要反馈
0/200