Executing Gummiworms The trials and tribulations of a grumpy curmudgeonly old git

10Sep/1122

Virtualbox VM for RaspberryPi development

[update: this vm is obsolete. please use the one in the follow post http://russelldavis.org/2012/01/20/new-raspberry-pi-development-vm-v0-2/ ] I am currently in the process of uploading a have uploaded created virtual machine running debian with lxde in which I have installed and configured scratchbox2, qemu and the codesourcery toolchain so that it is possible to build software for the RaspberryPi (although noone actually has one other than the lucky few developers that have access to a alphaboard).

The vm file will be is available from about (it's about 1.3GB so is about 7 hours from completing the upload)  11pm 10/09/11 (uk date format) at http://russelldavis.org/RaspberryPi/RaspberryPi.zip and as a torrent (created by #raspberrypi user obarthelemy)

http://thepiratebay.org/torrent/6667294

http://www.demonoid.me/files/details/2726361/

Although this virtual machine is meant to be used for developing for the RaspberryPi it should be usable for any ARM based device especially if you have a rootfs from the device that you can use to seed the scratchbox2 environment (see http://russelldavis.org/2010/10/20/setting-up-scratchbox2-to-build-software-for-zubuntu/ & http://russelldavis.org/2010/11/03/mounting-a-raw-disk-image/ & http://russelldavis.org/2011/09/07/setting-up-scratchbox2-from-scratch-for-the-raspberry-pi/ ).

I did forget a couple of important things in the included README. I have installed apache2 and symbolic linked $HOME/raspberrypi-development/build into /var/www and you should build everything in (or under) the $HOME/raspberrypi-development/build directory.

Share
Comments (22) Trackbacks (4)
  1. Many thanks for putting this together

  2. Jason: the vm won’t boot for you? what version of virtualbox are you using? any error messages?

  3. I thought virtualbox is only capable to emulate x86 pc. But pi is ARM

  4. Thanks for the effort. I obtained the appliance (.ova) from another source but it DID NOT include the README. Can you provide this as a separate download/link? The appliance imported in VirtualBox without issue.

  5. Where did you get the ova file from? and here is the original readme http://russelldavis.org/RaspberryPi/RPiVM-README

  6. Thanks for the “official” README with a “good” guess I already had the username/password but better to have all the documentation. As to obtaining the ova, it was posted as a Rapidshare link in the forum http://www.raspberrypi.org/forum/projects-and-collaboration-general/virtualbox-vm-for-the-raspberrypi/page-2 and was my only option since I don’t do torrent. Also, a quick Google search for even a misspelled “raspberry_pi.ova” file name will deliver the resulting non-torrent link. Appreciate your effort!

    • ah ok. i was just concerned that the ova might have been tampered with but i do remember someone said they were going to put it on rapidshare so it’s probably ok

  7. Hello, and thanks for the VM.
    Do you know how to build the Qt libraries for the rasperry pi target in the VM? It would be useful to have the correct configure command. Thanks

    • I haven’t played with or built for AMR Qt for a while so I can’t remember offhand but i’m currently building a new VM image based on fedora16 for the hosting distro (running inside the VM so it’s the guest of the host os) and installing ARM fedora as the cross compiling distro. If all is how I expect then Qt should be yumable and I shoudl have the VM available pretty soon (slow build of qemu running atm)

  8. Thank you very much for your work! Till now I was not able to compile for ARM.
    I tryed to compile Haserl and the binary I obtained is:

    haserl: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped

    Is it right to have a 32bit executable?

    • Yes that looks right. You might want to build static until we have an actual device and official distro in our hands but that should be ok. readelf -a is a good thing to run as well, lots of useful info. On all my binaries i normally take a look at them with ldd, file and readelf before allowing myself to think it’s all going to run ok

  9. hey, i’m getting the following error when i try to do `sb2 -eR `:

    exec: 1: /bin/sh: not found

    i’m guessing this means the fakeroot didn’t link /bin/sh; am i supposed to run sb2-init or something?

  10. that’s a “bug” in that version of the VM. As I didn’t use a real distro rootfs as the seed rootfs for libraries and include files etc. and the codesourcery toolchain doesn’t have utilities like bash available some stuff will fail on occasion. The VM you are using has been deprecated but the one I released a couple of days ago that uses the fedora13 for arm as the seed where such things will work. You can info about it and a link to the torrent here http://russelldavis.org/2012/01/20/new-raspberry-pi-development-vm-v0-2/

  11. Although this virtual machine is meant to be used for developing for the RaspberryPi it should be usable for any ARM based device especially if you have a rootfs from the device that you can use to seed the scratchbox2 environment. well, that’s great!

  12. I downloaded your Virtual appliance and imported it into virtualbox 4.1.12 running on Windows XP but when I start the VM I always get:

    =============
    Failed to open a session for the virtual machine RaspberryPi-Development VM v0.8.

    VD: error VERR_IO_GEN_FAILURE opening image file ‘E:\VirtualBox VMs\RaspberryPi-Development VM v0.8\RaspberryPi-Development VM v0.8-disk1.vmdk’ (VERR_IO_GEN_FAILURE).

    Failed to open image ‘E:\VirtualBox VMs\RaspberryPi-Development VM v0.8\RaspberryPi-Development VM v0.8-disk1.vmdk’ in read-write mode rc=VERR_IO_GEN_FAILURE (VERR_IO_GEN_FAILURE).

    Failed to attach driver below us! Device i/o: General failure. (VERR_IO_GEN_FAILURE).

    AHCI: Failed to attach drive to Port0 (VERR_IO_GEN_FAILURE).

    Result Code: E_FAIL (0×80004005)
    Component: Console
    Interface: IConsole {1968b7d3-e3bf-4ceb-99e0-cb7c913317bb}
    =============

    Am I doing something really stupid?


Leave a comment