Ubuntu 14.04 下搭建ARM架构的QEMU虚拟机

Requirement:

x86 架构的Ubuntu系统

本次安装选用Debian ARM

需要的文件:

kernel

initrd

Debian-ARM iso

0x0000

安装 QEMU 虚拟机

sudo apt-get install qemu-system-arm

1. 创建一个directory来存放相关文件

mkdir qemu_debian && cd qemu_debian

2. 获取kernel 和 initrd (7.9 Wheezy 版本)

wget http://ftp.debian.org/debian/dists/Debian7.9/main/installer-armel/20130430/images/versatile/netboot/initrd.gz

wget http://ftp.debian.org/debian/dists/Debian7.9/main/installer-armel/20130430/images/versatile/netboot/vmlinuz-3.2.0-4-versatile

3. 获取iso文件

wget http://get.debian.org/cdimage/archive/7.9.0/armel/iso-cd/debian-7.9.0-armel-netinst.iso

0x0001

1. 创建虚拟硬盘 (大小随意)

qemu-img create debian.img 20G

2. 载入 ARM kernel, initrd 以及ISO

qemu-system-arm -M versatileab -kernel ./vmlinuz-3.2.0-4-versatile -initrd ./initrd.gz -cdrom ./debian-7.9.0-armel-netinst.iso -hda debian.img

这个时候, qemu已经成功启动, 可以按需安装debian arm系统

0x0002

系统安装完成后, 需要抽出kernel和initrd并复制到我们的虚拟硬盘里, 这个有一个地方要稍微注意一下. 因为/root 的分区有偏移量, 所以直接挂载是挂载不上的.

sudo fdisk -l -u debian.img

运行上面的命令可以看到有2048个unit的偏移量, 一个unit是512个bytes

633

fdisk -l -u debian.img

所以正确的挂载应该加上这2048的偏移量.

sudo mount -o loop,offset=$((2048 * 512)) debian.img /mnt

抽出的步骤就简单多了

mkdir boot

cp /mnt/boot/* boot/ -rv

至此, 基于QEMU搭建ARM架构的虚拟机已经完成

0x0003

启动虚拟机并将端口转发到2222以便ssh登陆

qemu-system-arm -M versatileab -kernel ./boot/vmlinuz-3.2.0-4-versatile -initrd ./boot/initrd.img-3.2.0-4-versatile -hda debian.img -m 1024 -append "root=/dev/sda1" -redir tcp:2222::22

这样启动虚拟机之后, 就可以ssh到localhost的2222端口登陆了.

以上.

转载于:https://my.oschina.net/lwaif/blog/1593289

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值