在前段时间,有一位大神利用qemu在windows上运行了raspbian,但是这个项目并没有得到很好的维护,所以,用以前的jessie系统已经很旧了,那么我们今天来说说如何在windows上运行最新的pixel桌面。
我们可以查询qemu的所有可以模拟的机器型号。
qemu-system-arm -machine help
Supported machines are:
akita Sharp SL-C1000 (Akita) PDA (PXA270)
ast2500-evb Aspeed AST2500 EVB (ARM1176)
bast Simtec Electronics BAST (S3C2410A, ARM920T)
borzoi Sharp SL-C3100 (Borzoi) PDA (PXA270)
canon-a1100 Canon PowerShot A1100 IS
cheetah Palm Tungsten|E aka. Cheetah PDA (OMAP310)
collie Sharp SL-5500 (Collie) PDA (SA-1110)
connex Gumstix Connex (PXA255)
cubieboard cubietech cubieboard
emcraft-sf2 SmartFusion2 SOM kit from Emcraft (M2S010)
highbank Calxeda Highbank (ECX-1000)
imx25-pdk ARM i.MX25 PDK board (ARM926)
integratorcp ARM Integrator/CP (ARM926EJ-S)
kzm ARM KZM Emulation Baseboard (ARM1136)
lm3s6965evb Stellaris LM3S6965EVB
lm3s811evb Stellaris LM3S811EVB
mainstone Mainstone II (PXA27x)
mcimx6ul-evk Freescale i.MX6UL Evaluation Kit (Cortex A7)
mcimx7d-sabre Freescale i.MX7 DUAL SABRE (Cortex A7)
microbit BBC micro:bit
midway Calxeda Midway (ECX-2000)
mps2-an385 ARM MPS2 with AN385 FPGA image for Cortex-M3
mps2-an505 ARM MPS2 with AN505 FPGA image for Cortex-M33
mps2-an511 ARM MPS2 with AN511 DesignStart FPGA image for Cortex-M3
mps2-an521 ARM MPS2 with AN521 FPGA image for dual Cortex-M33
musicpal Marvell 88w8618 / MusicPal (ARM926EJ-S)
n800 Nokia N800 tablet aka. RX-34 (OMAP2420)
n810 Nokia N810 tablet aka. RX-44 (OMAP2420)
netduino2 Netduino 2 Machine
none empty machine
nuri Samsung NURI board (Exynos4210)
palmetto-bmc OpenPOWER Palmetto BMC (ARM926EJ-S)
raspi2 Raspberry Pi 2
realview-eb ARM RealView Emulation Baseboard (ARM926EJ-S)
realview-eb-mpcore ARM RealView Emulation Baseboard (ARM11MPCore)
realview-pb-a8 ARM RealView Platform Baseboard for Cortex-A8
realview-pbx-a9 ARM RealView Platform Baseboard Explore for Cortex-A9
romulus-bmc OpenPOWER Romulus BMC (ARM1176)
sabrelite Freescale i.MX6 Quad SABRE Lite Board (Cortex A9)
smdk2443 smdk2443 (ARM920-T)
smdkc210 Samsung SMDKC210 board (Exynos4210)
spitz Sharp SL-C3000 (Spitz) PDA (PXA270)
sx1 Siemens SX1 (OMAP310) V2
sx1-v1 Siemens SX1 (OMAP310) V1
terrier Sharp SL-C3200 (Terrier) PDA (PXA270)
tosa Sharp SL-6000 (Tosa) PDA (PXA255)
tt OpenTom (ARM920-T)
tt666 OpenTom (ARM920-T)
verdex Gumstix Verdex (PXA270)
versatileab ARM Versatile/AB (ARM926EJ-S)
versatilepb ARM Versatile/PB (ARM926EJ-S)
vexpress-a15 ARM Versatile Express for Cortex-A15
vexpress-a9 ARM Versatile Express for Cortex-A9
virt-2.10 QEMU 2.10 ARM Virtual Machine
virt-2.11 QEMU 2.11 ARM Virtual Machine
virt-2.12 QEMU 2.12 ARM Virtual Machine
virt-2.6 QEMU 2.6 ARM Virtual Machine
virt-2.7 QEMU 2.7 ARM Virtual Machine
virt-2.8 QEMU 2.8 ARM Virtual Machine
virt-2.9 QEMU 2.9 ARM Virtual Machine
virt-3.0 QEMU 3.0 ARM Virtual Machine
virt-3.1 QEMU 3.1 ARM Virtual Machine
virt QEMU 4.0 ARM Virtual Machine (alias of virt-4.0)
virt-4.0 QEMU 4.0 ARM Virtual Machine
witherspoon-bmc OpenPOWER Witherspoon BMC (ARM1176)
xilinx-zynq-a9 Xilinx Zynq Platform Baseboard for Cortex-A9
z2 Zipit Z2 (PXA27x)
我们惊奇地发现居然有raspi2这个型号,然后我们使用raspi2来作为机器型号模拟运行raspbian,然后我们来尝试。
我们先尝试运行osmc
我们可以首先下载一个适用于树莓派的osmc镜像,然后在linux上如下操作
$ cat OSMC_TGT_rbp2_20160130.img /dev/zero | dd bs=4096 count=262144 >/tmp/osmc.img
262144+0 Datensätze ein
262144+0 Datensätze aus
1073741824 Bytes (1,1 GB) kopiert, 3,15888 s, 340 MB/s
$ sudo kpartx -a OSMC_TGT_rbp2_20160130.img
$ sudo mount /dev/mapper/loop0p1 /mnt -o loop,ro
我们需要提取boot分区里的内核还有cmdline启动命令(kernel.img,cmdline.txt)
然后我们再在windows上运行
我们需要将kernel.img,osmc.img复制到windows上,然后新建一个run.bat,写入以下内容
qemu-system-arm -M raspi2 -kernel kernel.img -append "dma.dmachans=0x3c bcm2708_fb.fbwidth=1280 bcm2708_fb.fbheight=1024 bcm2708.boardrev=0x2 bcm2708.serial=0xe16a63c5 smsc95xx.macaddr=B8:27:EB:6A:63:C5 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait" -usbdevice mouse -usbdevice keyboard -drive file=osmc.img,if=sd,format=raw
然后双击run.bat
然后osmc就启动成功了。
那么我们以这个思路来尝试运行一下pixel桌面呢。
不知道为什么,最新的raspbian并不能使用raspi2这个机器型号来模拟运行。
所以我们来说说如何运行最新的raspbain
首先你需要准备一个内核,下载地址
这里感谢M0Rf30提供的内核
这里你需要下载一个最新的raspbian系统
解压镜像后将镜像和内核放在一起,在其文件夹中新建一个run.bat,内容如下
qemu-system-arm.exe -kernel ../kernel.img -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root = / dev / sda2 panic = 1 rootfstype = ext4 rw init = / bin / bash" -drive file=../raspi.img,media=disk,format=raw
双击运行
最后的样子是这样的
不错不错!味道好极了!