Chinaunix首页 | 论坛 | 博客
  • 博客访问: 245453
  • 博文数量: 33
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 480
  • 用 户 组: 普通用户
  • 注册时间: 2019-01-22 08:36
个人简介

专注虚拟化性能优化,硬件显卡网卡虚拟加速,面向容器的轻量虚拟化开发 永远的Linux Geeker!

文章分类

全部博文(33)

分类: 虚拟化

2019-01-25 05:03:50

QEMU默认将会采用seabios的启动方式,本文将介绍如何以UEFI模式启动

1. 下载所需要的安装文件

wget http://cdimage.debian.org/debian-cd/8.1.0/arm64/iso-cd/debian-8.1.0-arm64-netinst.iso

2. 创建UEFI固件文件

$ dd if=/dev/zero of=flash0.img bs=1M count=64
$ LINARO_EDK2_URL=
$ wget $LINARO_EDK2_URL/release/qemu64-intelbds/QEMU_EFI.fd
$ dd if=QEMU_EFI.fd of=flash0.img conv=notrunc
$ dd if=/dev/zero of=flash1.img bs=1M count=64
$ dd if=/dev/zero of=hda.img bs=1M count=8192

3. 创建块设备

dd if=/dev/zero of=hda.img bs=1M count=8192 

4. QEMU 命令行设置,我在这里实现了一个脚本文件install.sh :

#!/bin/sh

CDROM_IMG=debian-8.1.0-arm64-CD-1.iso
HDA_IMG=hda.img

make_cdrom_arg()
{
  echo "-drive file=$1,id=cdrom,if=none,media=cdrom" \
    "-device virtio-scsi-device -device scsi-cd,drive=cdrom"
}

make_hda_arg()
{
  echo "-drive if=none,file=$1,id=hd0" \
    "-device virtio-blk-device,drive=hd0"
}

HDA_ARGS=`make_hda_arg $HDA_IMG`
if [ $# -eq 1 ]; then
  case $1 in
    install)
      CDROM_ARGS=`make_cdrom_arg $CDROM_IMG`
      ;;
    *)
      CDROM_ARGS=""
      ;;
  esac
fi

qemu-system-aarch64 -m 1024 -cpu cortex-a57 -M virt -nographic \
  -pflash flash0.img \
  $CDROM_ARGS \
  $HDA_ARGS \
  -netdev user,id=eth0 \
  -device virtio-net-device,netdev=eth0 

4. 更改文件执行权限 并执行:

chmod +x ./install.sh

./install.sh


到此,你就实现了一个UEFI启动的AARCH64虚拟机.

Enjoy, and have a lot of fun!

阅读(14014) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~