本次安装选用Debian ARM
kernel
initrd
Debian-ARM iso
安装 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
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系统
系统安装完成后, 需要抽出kernel和initrd并复制到我们的虚拟硬盘里, 这个有一个地方要稍微注意一下. 因为/root 的分区有偏移量, 所以直接挂载是挂载不上的.
sudo fdisk -l -u debian.img
运行上面的命令可以看到有2048个unit的偏移量, 一个unit是512个bytes
所以正确的挂载应该加上这2048的偏移量.
sudo mount -o loop,offset=$((2048 * 512)) debian.img /mnt
抽出的步骤就简单多了
mkdir boot
cp /mnt/boot/* boot/ -rv
至此, 基于QEMU搭建ARM架构的虚拟机已经完成
启动虚拟机并将端口转发到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端口登陆了.
1. 首先 kali 下安装qemu
直接 apt install qemu
2. 安装完之后,终端输入qemu- 两下Tab键 可以看到你要模拟的cpu架构
在我电脑上的输出如下:
qemu-aarch64 qemu-mips qemu-s390x qemu-system-microblazeqemu-system-sh4
qemu-alpha qemu-mips64 qemu-sh4 qemu-system-microblazeel qemu-system-sh4eb
qemu-arm qemu-mips64el qemu-sh4eb qemu-system-mips qemu-system-sparc
qemu-armeb qemu-mipsel qemu-sparc qemu-system-mips64 qemu-system-sparc64
qemu-cris qemu-mipsn32 qemu-sparc32plus qemu-system-mips64el qemu-system-tricore
qemu-hppa qemu-mipsn32el qemu-sparc64 qemu-system-mipsel qemu-system-unicore32
qemu-i386 qemu-nbd qemu-system-aarch64 qemu-system-moxie qemu-system-x86_64
qemu-img qemu-nios2 qemu-system-alpha qemu-system-nios2 qemu-system-xtensa
qemu-io qemu-or1k qemu-system-arm qemu-system-or1k qemu-system-xtensaeb
qemu-m68k qemu-ppc qemu-system-cris qemu-system-ppc qemu-tilegx
qemu-make-debian-root qemu-ppc64 qemu-system-i386 qemu-system-ppc64 qemu-x86_64
qemu-microblaze qemu-ppc64abi32 qemu-system-lm32 qemu-system-ppcemb
qemu-microblazeel qemu-ppc64le qemu-system-m68k qemu-system-s390x
/*由于我要创建一个虚拟x86的cpu 所以等下我要在终端输入的是qemu-x86_64*/
2. 然后准备一个iso(我用的是 )
3. 创建Windows虚拟硬盘
qemu-img create -f qcow2 guest.qcow2 2G
/**qcow2 镜像格式是 QEMU 模拟器支持的一种磁盘镜像。它也是可以用一个文件的形式来表示一块固定大小的块设备磁盘。与普通的 raw 格式的镜像相比,有以下特性:
更小的空间占用,即使文件系统不支持空洞(holes);
支持写时拷贝(COW, copy-on-write),镜像文件只反映底层磁盘的变化;
支持快照(snapshot),镜像文件能够包含多个快照的历史;
可选择基于 zlib 的压缩方式
可以选择 AES 加密 **/
2G: 这个参数可以任意选,就跟virtualbox下的虚拟硬盘大小是差不多的意思
4. 安装系统
1) 从光驱安装Windows:
qemu-system-x86_64 -localtime -cdrom /dev/cdrom -m 384 -boot d guest.qcow2
**.iso: 你所使用的iso文件
-m :memory 大小
-hda:
-d item1,...enable logging of specified items (use '-d help' for a list of log items)
2) 从硬盘镜像安装:
qemu-system-x86_64 -localtime -cdrom cdimagefile.iso -m 384 -boot d guest.qcow2
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)