This document provides instructions for setting up QEMU to run an ARM virtual machine image on Windows. It describes building the ARM vm-image on Linux, then transferring it to Windows along with the kernel and initrd files. It details running QEMU on Windows, passing in the vm-image and kernel/initrd files. It also describes initial configuration of the ARM virtual machine such as setting up networking and SSH.
This document provides instructions for setting up QEMU to run an ARM virtual machine image on Windows. It describes building the ARM vm-image on Linux, then transferring it to Windows along with the kernel and initrd files. It details running QEMU on Windows, passing in the vm-image and kernel/initrd files. It also describes initial configuration of the ARM virtual machine such as setting up networking and SSH.
This document provides instructions for setting up QEMU to run an ARM virtual machine image on Windows. It describes building the ARM vm-image on Linux, then transferring it to Windows along with the kernel and initrd files. It details running QEMU on Windows, passing in the vm-image and kernel/initrd files. It also describes initial configuration of the ARM virtual machine such as setting up networking and SSH.
This document provides instructions for setting up QEMU to run an ARM virtual machine image on Windows. It describes building the ARM vm-image on Linux, then transferring it to Windows along with the kernel and initrd files. It details running QEMU on Windows, passing in the vm-image and kernel/initrd files. It also describes initial configuration of the ARM virtual machine such as setting up networking and SSH.
Creating
the
ARM
vm-‐image
(Linux)
The
following
is
a
summary
of
&
application
of
the
instructions
from:
https://developer.mozilla.org/en-‐ US/docs/Developer_Guide/Virtual_ARM_Linux_environment
Environment
Setup
#
Add
Linaro’s
repository,
containing
their
tools
and
more
recent
versions
of
qemu
sudo
add-‐apt-‐repository
ppa:linaro-‐maintainers/tools
sudo
apt-‐get
update
#
Install
linaro
tools
and
qemu
sudo
apt-‐get
install
linaro-‐image-‐tools
qemu-‐user-‐static
qemu-‐system
#
If
you
want
to
be
able
to
cross-‐compile
on
the
host,
install
these
as
well
Sudo
apt-‐get
install
gcc-‐arm-‐linux-‐gnueabi
g++-‐arm-‐linux-‐gnueab
#
Add
Linaro's
repository,
containing
their
tools
and
more
recent
#
versions
of
qemu
(you
need
at
least
qemu
0.15*).
sudo
add-‐apt-‐repository
ppa:linaro-‐maintainers/tools
#
Install
linaro
tools
and
qemu
sudo
apt-‐get
install
linaro-‐image-‐tools
qemu-‐user-‐static
qemu-‐system
#
If
you
want
to
be
able
to
cross-‐compile
on
the
host,
install
these
as
well
sudo
apt-‐get
install
gcc-‐arm-‐linux-‐gnueabi
g++-‐arm-‐linux-‐gnueab
#
or
you
can
install
CodeSourcery/ARM-‐Linux
toolchain
Extracting
the
kernel
and
initrd
#
The
created
image
contains
the
needed
kernel
and
initrd
of
the
ARM
vm
#
The
following
mounts
the
image
to
“/mnt/tmp”
sudo
mount
-‐o
loop,offset="$(file
vexpress.img
|
awk
'BEGIN
{
RS=";";
}
/partition
2/
{
print
$7*512;
}')"
-‐ t
auto
vexpress.img
/mnt/tmp
#
The
wanted
files
are
linked
to
by
“/mnt/tmp/vmlinuz”
(kernel)
&
“/mnt/tmp/initrd.img”
(initrd)
#
Transfer
vexpress.img,
vmlinuz,
&
initrd
to
the
Windows
box/host
#
Renamed
to
vmlinuz
&
initrd.img
Notes:
• The
“-‐redir
tcp:2200::22”
redirects
TCP
traffic
on
the
host
port
2200
to
the
guest
machine
(QEMU)
port
22.
This
will
allow
us
to
SSH
into
the
machine
later
by
connecting
to
localhost
on
2200.
• The
“-‐m
512”
specifies
that
we
want
512
MB
of
RAM.
You
can
adjust
this,
but
make
sure
you
also
change
it
in
the
“-‐append”
string.
• The
“-‐drive
file=vexpress.img,if=sd,cache=writeback”
attaches
our
images
as
an
SD
card.
(Supposedly
provides
faster
I/O)
Setting
up
APT-‐repositories
#
If
you
are
using
an
older
version
of
Ubuntu
as
the
vm
(out
of
support,
etc)
#
edit
“sources.list”
to
use
“old-‐releases.ubuntu.com/ubuntu”
vi
/etc/apt/sources.list
Setting
up
SSH
on
the
vm
(VM)
Enable
a
network
connection
ifconfig
eth0
up
dhclient
eth0
Install
SSH
apt-‐get
install
openssh-‐server
Persist
network
changes
auto
eth0
iface
eth0
inet
dhcp
Notes:
• Set
a
password
for
root
(“passwd”
cmd)
• SSH
via
“ssh
–p2200
root@localhost”
on
the
host
(Windows)
machine