QemuKVMARM

Differences between revisions 3 and 5 (spanning 2 versions)
Revision 3 as of 2013-09-30 10:07:01
Size: 1089
Editor: p-pisati
Comment:
Revision 5 as of 2013-09-30 10:40:36
Size: 2563
Editor: p-pisati
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
=== how to setup an arm vexpress a15 host ===

Download a rootfs img and a kernel:

{{{
wget -c http://cloud-images.ubuntu.com/saucy/current/saucy-server-cloudimg-armhf.tar.gz
tar zxvf saucy-server-cloudimg-armhf.tar.gz
resize-part-image saucy-server-cloudimg-armhf.img 2G
wget -c https://launchpad.net/ubuntu/+archive/primary/+files/linux-image-3.11.0-9-generic-lpae_3.11.0-9.16_armhf.deb
dpkg -X linux-image-3.11.0-9-generic-lpae_3.11.0-9.16_armhf.deb .
mkdir -p tmp
mount -o loop -rw saucy-server-cloudimg-armhf.img tmp
sudo cp linux-image-3.11.0-9-generic-lpae_3.11.0-9.16_armhf.deb tmp
}}}

Setup kernel and serial:

{{{
chroot tmp
dpkg -i linux-image-3.11.0-9-generic-lpae_3.11.0-9.16_armhf.deb
sed 's/tty1/ttyAMA0/g' /etc/init/tty1.conf > /etc/init/ttyAMA0.conf
adduser ubuntu
rm etc/init/cloud-*
sudo passwd
exit
cp tmp/boot/initrd.img-3.11.0-9-generic-lpae boot
umount tmp
}}}

Execute qemu:

{{{
qemu-system-arm -machine vexpress-a15 -cpu cortex-a15 -m 2048M -kernel boot/vmlinuz-3.11.0-9-generic-lpae -initrd boot/initrd.img-3.11.0-9-generic-lpae -append "console=ttyAMA0 earlyprintk=serial root=/dev/mmcblk0 ro rootfstype=ext4" -serial stdio -dtb lib/firmware/3.11.0-9-generic-lpae/device-tree/vexpress-v2p-ca15-tc1.dtb -drive if=sd,cache=writeback,file=saucy-server-cloudimg-armhf.img -net nic -net user,hostfwd=tcp::2223-:22 -display none
}}}

Be patient - on my quad Haswell box it takes between ~2 minutes to boot
Line 3: Line 40:
Prerequisites: from now we assume we are running inside a Cortex A15 capable host (Calxeda ECX 2000 or ARM Vexpress) Prerequisites: from now we assume we are running inside a Cortex A15 capable host (Calxeda ECX 2000 or ARM Vexpress qemu)

how to setup an arm vexpress a15 host

Download a rootfs img and a kernel:

wget -c http://cloud-images.ubuntu.com/saucy/current/saucy-server-cloudimg-armhf.tar.gz
tar zxvf saucy-server-cloudimg-armhf.tar.gz
resize-part-image saucy-server-cloudimg-armhf.img 2G
wget -c https://launchpad.net/ubuntu/+archive/primary/+files/linux-image-3.11.0-9-generic-lpae_3.11.0-9.16_armhf.deb
dpkg -X linux-image-3.11.0-9-generic-lpae_3.11.0-9.16_armhf.deb .
mkdir -p tmp
mount -o loop -rw saucy-server-cloudimg-armhf.img tmp
sudo cp linux-image-3.11.0-9-generic-lpae_3.11.0-9.16_armhf.deb tmp

Setup kernel and serial:

chroot tmp
dpkg -i linux-image-3.11.0-9-generic-lpae_3.11.0-9.16_armhf.deb
sed 's/tty1/ttyAMA0/g' /etc/init/tty1.conf > /etc/init/ttyAMA0.conf
adduser ubuntu
rm etc/init/cloud-*
sudo passwd
exit
cp tmp/boot/initrd.img-3.11.0-9-generic-lpae boot
umount tmp

Execute qemu:

qemu-system-arm -machine vexpress-a15 -cpu cortex-a15 -m 2048M -kernel boot/vmlinuz-3.11.0-9-generic-lpae -initrd boot/initrd.img-3.11.0-9-generic-lpae -append "console=ttyAMA0 earlyprintk=serial root=/dev/mmcblk0 ro rootfstype=ext4" -serial stdio -dtb lib/firmware/3.11.0-9-generic-lpae/device-tree/vexpress-v2p-ca15-tc1.dtb -drive if=sd,cache=writeback,file=saucy-server-cloudimg-armhf.img  -net nic -net user,hostfwd=tcp::2223-:22 -display none

Be patient - on my quad Haswell box it takes between ~2 minutes to boot

how to setup an arm vexpress a15 guest

Prerequisites: from now we assume we are running inside a Cortex A15 capable host (Calxeda ECX 2000 or ARM Vexpress qemu)

Download a cloud img:

wget -c http://cloud-images.ubuntu.com/saucy/current/saucy-server-cloudimg-armhf.tar.gz
tar zxvf saucy-server-cloudimg-armhf.tar.gz
mkdir -p tmp
mount -o loop -rw saucy-server-cloudimg-armhf.img tmp

Copy the modules and serial to the system:

cp -a /lib/modules/`uname -r`/ tmp/lib/modules/.
cp /etc/init/ttyAMA0.conf tmp/etc/init/

Setup the environment:

chroot tmp
adduser ubuntu
rm etc/init/cloud-*
exit
umount tmp

Execute qemu:

sudo qemu-system-arm -machine vexpress-a15 -cpu cortex-a15 -enable-kvm -m 512M -kernel /boot/vmlinuz-`uname -r` -append "console=ttyAMA0 earlyprintk=serial root=/dev/mmcblk0 ro rootfstype=ext4" -serial stdio -dtb fw2/vexpress-v2p-ca15-tc1.dtb -initrd boot/initrd.img-uname -r -drive if=sd,cache=writeback,file=saucy-server-cloudimg-armhf.img -net nic -net user,hostfwd=tcp::2223-:22 -display none

Kernel/Dev/QemuKVMARM (last edited 2013-09-30 11:28:12 by p-pisati)