1) This document provides instructions for setting up QEMU to run an ARM virtual machine image on Windows. It describes downloading QEMU binaries and GTK+, creating the ARM image on Linux, extracting the kernel and initrd, and starting QEMU on Windows.
2) Creating the ARM image involves using Linaro tools to download a Linaro release and hardware pack, then using linao-media-create to build the image file. The kernel and initrd are then extracted from the image.
3) Starting QEMU on Windows attaches the image file as an SD card and redirects TCP traffic to allow SSH access to the virtual machine from the Windows host.
1) This document provides instructions for setting up QEMU to run an ARM virtual machine image on Windows. It describes downloading QEMU binaries and GTK+, creating the ARM image on Linux, extracting the kernel and initrd, and starting QEMU on Windows.
2) Creating the ARM image involves using Linaro tools to download a Linaro release and hardware pack, then using linao-media-create to build the image file. The kernel and initrd are then extracted from the image.
3) Starting QEMU on Windows attaches the image file as an SD card and redirects TCP traffic to allow SSH access to the virtual machine from the Windows host.
Creat|ng the AkM vm-|mage (L|nux) 1he followlng ls a summary of & appllcaLlon of Lhe lnsLrucLlons from: hLLps://developer.mozllla.org/en- uS/docs/ueveloper_Culde/vlrLual_A8M_Llnux_envlronmenL
Lnv|ronment Setup # Add Llnaro's reposlLory, conLalnlng Lhelr Lools and more recenL verslons of qemu sudo add-apL-reposlLory ppa:llnaro-malnLalners/Lools sudo apL-geL updaLe # lnsLall llnaro Lools and qemu sudo apL-geL lnsLall llnaro-lmage-Lools qemu-user-sLaLlc qemu-sysLem
# lf you wanL Lo be able Lo cross-complle on Lhe hosL, lnsLall Lhese as well Sudo apL-geL lnsLall gcc-arm-llnux-gnueabl g++-arm-llnux-gnueab
# Add Llnaro's reposlLory, conLalnlng Lhelr Lools and more recenL # verslons of qemu (you need aL leasL qemu 0.13*). sudo add-apL-reposlLory ppa:llnaro-malnLalners/Lools # lnsLall llnaro Lools and qemu sudo apL-geL lnsLall llnaro-lmage-Lools qemu-user-sLaLlc qemu-sysLem
# lf you wanL Lo be able Lo cross-complle on Lhe hosL, lnsLall Lhese as well sudo apL-geL lnsLall gcc-arm-llnux-gnueabl g++-arm-llnux-gnueab # or you can lnsLall CodeSourcery/A8M-Llnux Loolchaln
Lxtract|ng the kerne| and |n|trd # 1he creaLed lmage conLalns Lhe needed kernel and lnlLrd of Lhe A8M vm # 1he followlng mounLs Lhe lmage Lo /mnL/Lmp" sudo mounL -o loop,offseL="$(flle vexpress.lmg | awk '8LCln [ 8S=",", } /parLlLlon 2/ [ prlnL $7*312, }')" - L auLo vexpress.lmg /mnL/Lmp
# 1he wanLed flles are llnked Lo by /mnL/Lmp/vmllnuz" (kernel) & /mnL/Lmp/lnlLrd.lmg" (lnlLrd) # 1ransfer vexpress.lmg, vmllnuz, & lnlLrd Lo Lhe Wlndows box/hosL # 8enamed Lo vmllnuz & lnlLrd.lmg
noLes: 1he -redlr Lcp:2200::22" redlrecLs 1C Lrafflc on Lhe hosL porL 2200 Lo Lhe guesL machlne (CLMu) porL 22. 1hls wlll allow us Lo SSP lnLo Lhe machlne laLer by connecLlng Lo localhosL on 2200. 1he -m 312" speclfles LhaL we wanL 312 M8 of 8AM. ?ou can ad[usL Lhls, buL make sure you also change lL ln Lhe -append" sLrlng. 1he -drlve flle=vexpress.lmg,lf=sd,cache=wrlLeback" aLLaches our lmages as an Su card. (Supposedly provldes fasLer l/C)
Sett|ng up A1-repos|tor|es # lf you are uslng an older verslon of ubunLu as Lhe vm (ouL of supporL, eLc) # edlL sources.llsL" Lo use old-releases.ubunLu.com/ubunLu" vl /eLc/apL/sources.llsL
Sett|ng up SSn on the vm (VM) Lnab|e a network connect|on lfconflg eLh0 up dhcllenL eLh0