美文网首页我用 Linux
Ubuntu 14.04 下搭建ARM架构的QEMU虚拟机

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

作者: 妞妞乌SirSir | 来源:发表于2016-02-24 03:35 被阅读5726次

    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

    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端口登陆了.

    以上.

    相关文章

      网友评论

        本文标题:Ubuntu 14.04 下搭建ARM架构的QEMU虚拟机

        本文链接:https://www.haomeiwen.com/subject/eifikttx.html