• About
  • Privacy Policy
  • Contact us
  • Submit a story
Linux-News Linux news from the Blogosphere
  • Article
  • Howto
  • News
  • Opinion
  • Review
  • RSS Feed
  • Twitter
  • Facebook

Raspberry PI Emulation

By
News
– June 2, 2012Posted in: Article, Howto, Review, Submitted

Article by delboy, published on the Southend LUG website

Introduction

The Raspberry Pi as it stands consists of the following:

Features of the Raspberry Pi model B board

 

  • Broadcom BCM2835 700MHz ARM1176JZFS processor with FPU and Videocore 4 GPU
  • GPU provides Open GL ES 2.0, hardware-accelerated OpenVG, and 1080p30 H.264 high-profile decode
  • GPU is capable of 1Gpixel/s, 1.5Gtexel/s or 24GFLOPs with texture filtering and DMA infrastructure
  • 256MB RAM
  • Boots from SD card, running the Fedora or Debian version of Linux
  • 10/100 BaseT Ethernet socket
  • Price: £21.60 (exc VAT & delivery)

 



Attractive though this board is in price at least, it measures about the size of a credit card, it is quite hard to get one I know I have been waiting 4 or 5 months since I knew I could place an order and still don’t have one. I don’t know how true this figure is but am lead to believe some 350,000 people have ordered and waiting delivery for their Raspberry PI Board. If you cant wait to try Raspberry PI you can at least emulate the operating system and it’s processor using a method described below. The board itself may be a good price but you may also need to buy ancillary equipment to use it, which could cost you as much as the board itself.

Below is a procedure for Raspberry PI Debian and to get working there are other distro which you could use instead and should be able to run using a slight variation on the command line executed in fact all you need do is change the image filename. One thing I would like to be able to solve is the resolution problem which comes out at an awful 640 x 480 so if any bright spark can offer an alternative that works if you can help please comment below. (I have tried many variations to the command line below to obtain higher resolution image nothing so far works)

You need to install a qemu-kernel I found mine here.

linux-qemu

You will also need the disk image which I obtained here.

http://www.raspberrypi.org/downloads

You will also need to install some dependent programs this will of course be for Ubuntu or debian

 

  • qemu
  • qemu-system-arm
  • qemu-kvm-extras
  • qemu-utils

You can use the following command line or use the software centre and install these packages

#> sudo apt-get install qemu qemu-system-arm qemu-kvm-extras qemu-utils

If you want to know what arm emulation processors are available type just the following

#> qemu-arm -cpu ?

Only the Arm – arm1136-r2 processor works for the instructions detailed bellow, if you know differently please comment bellow.

I had put both kernel-qemu and disk image in the same directory and changed my directory to it ie

#> cd /home/delboy/Downloads/iso

This is the command line in its entirety you can if you want add -m 512 if you can spare the memory for it.

#> qemu-system-arm -kernel kernel-qemu -cpu arm1136-r2 -M versatilepb -no-reboot -append "root=/dev/sda2 panic=1" -hda debian6-19-04-2012.img

If you have available the memory you can try this it might be a bit more reposnsive:-

#> qemu-system-arm -kernel kernel-qemu -cpu arm1136-r2 -M versatilepb -no-reboot -append "root=/dev/sda2 panic=1" -hda debian6-19-04-2012.img -m 512


What follows is a breakdown of the qemu command this can be pronounced “q” “emu” if your from the land downunder or you may prefer “qem” “u” choice as always is yours

  • qemu-system-arm :the command to emulate an arm system
  • -kernel kernel-qemu :the kernel which we use
  • -cpu arm1136-r2 :the cpu we need to emulate
  • -M versatilepb :the machine we need to emulate
  • -no-reboot -append “root=/dev/sda2 panic1” :we mount our root filesystem to /dev/sda in the emulated R-Pi
  • -hda debian6-19-04-2012.img :the file which contains the filesystem
  • -m 512 :the amount of memory set that this version of the R-Pi has (256 is normal for model B just increase if you want to add more)

Screenshot from 2012-05-12 16:53:52

 

Once you have the login prompt you will need to enter the username “pi” in lowercase and without the quotes that surround it, you will be prompted to enter a password and you should use “raspberry” for the image distro we are using above and again lowercase and without the quotes.

Screenshot from 2012-05-12 17:17:01

To run the graphical part of the distro type the following:

Screenshot from 2012-05-12 17:17:21

Before running “startx” you may want to improve the display output resolution from 640 x 480 to 800 x 600 here is one way to achieve that. Whilst at the command line and before you start the Xserver type the following:-

#> sudo nano /etc/X11/xorg.conf

Type the following into the file you have just created:-

Section “Screen”
Identifier “Default Screen”
SubSection “Display”
Depth 16
Modes “800×600” “640×480”
EndSubSection
EndSection

Now you can run “startx” at the command line, still cannot achieve 1024 x 768 tried it but didn’t work neither did 24bit colour depth

#> startx

Screenshot from 2012-05-12 17:21:37

If this is the first time you have run either one of these commands please be patient until the program reaches the login prompt

That in a nutshell is it, this should get you running if you can help obtain a working solution for better graphics and resolution please comment below.

IF YOU HAVE COMPLETED THE ABOVE SECTION YOU DO NOT NEED TO DO ANY OF WHAT FOLLOWS BELLOW

Installing Qemu from “git”

First what is “git”

Git is an open source version control system. Git is developed and maintained by the creator of the Linux kernel. Git stores complete files each time the user commits his changes, making recovery and version-diffing reliable, responsive, and simple. This is in contrast to other version control systems which store complete versions as “Deltas” or descriptions of the changes between versions of a file. If a file has not changed between commits then Git simply links to the last changed version.

Why install a later version of “Qemu”

It is an experiment really the above procedure works well enough but does not produce any resolution other than 640 x 480 which is pretty pants really, especially for presentations and demonstrations. So it was felt a later build would allow us to increase the window resolution – hopefully.

Without any variation to the command line code above there was no change in output it was still 640 x 480.

What you need to do and how to do if you want to install “git” yourself

#> sudo apt-get remove qemu
#> sudo apt-get install git build-essential
#> git clone git://git.linaro.org/qemu/qemu-linaro.git
#> cd qemu-linaro
#> ./configure --target-list=arm-softmmu
#> make
#> sudo make install

If you have a machine that has a multicore uProcessor you may want to use -j n option were the “n” signifies the number of processors but is not strictly necessary, you can use the option like this.
#> make -j 2

and
#> sudo make install -j 2

Tags: broadcom, fedora, fpu, h 264, linux, open gl, qemu, raspberry, Raspberry Pi, sd card

About News

4 Comments

  1. Jaap van Wingerde
    Posted June 4, 2012 at 11:51 PM

    jaap@jaap:/media/backup/Raspberry_Pi/debian6-19-04-2012$ qemu-system-arm -kernel kernel-qemu -cpu arm1136-r2 -M versatilepb -no-reboot -append "root=/dev/sda2 panic=1" -hda debian6-19-04-2012.img
    kernel-qemu: No such file or directory
    qemu: could not load kernel 'kernel-qemu'

    jaap@jaap:/media/backup/Raspberry_Pi/debian6-19-04-2012$

    🙁

  2. P.Woods
    Posted June 7, 2012 at 9:04 PM

    Whilst following this proceedure, I found a couple of gotchas.

    1. The sha1 value did not match the zip file, but the value inside the zip matched the un-zipped .img file.

    2. The kernel-emu file specified, downloaded with the extension “.bin”.
    The launch command or the file name needs to be changed. Either worked for me.

    So far, so good. The grahical screen has come up with a blue raspberry, and no mouse control.
    Ho-hum, onward and upward.

  3. Giacecco
    Posted September 26, 2012 at 9:30 AM

    Hi, can you explain more about the parameter:

    -append “root=/dev/sda2 panic1”

    I don’t understand why we need it, unless we want to access the host’s filesystem from the virtualised RPi. Moreover, once the machine is started, I don’t actually see the host machine’s file system anywhere.

    I have also tested that, if I try omitting that parameter, the emulated RPi does not boot, and I don’t understand why.

    Thanks!

    G.

  4. Kenny
    Posted December 4, 2012 at 8:11 PM

    Current recommendation is to try ‘arm1176’ first. If it doesn’t work then you likely have an older version of qemu and should upgrade.

Leave a Reply Cancel reply

Your email address will not be published.

  • Suggested Sites
    http://linuxaria.com everything about Linux http://linuxaria.com everything about Linux
  • Curated topic
  • Recent Posts
    • Unveiling the Information Age: An Exploration of “Ln sng th ba PDF”
    • How to Embrace the Summer with “The Summer I Turned Pretty” Book in PDF
    • How to Secure Your PDFs: A Step-by-Step Encryption Guide
    • Build Your Dream Outdoor Fireplace: A Comprehensive Guide with PDF Plans
    • Drug Calculation Formula for Nurses PDF: Master Accuracy & Patient Safety
    • Essential Guide: New Orleans Streetcar Map PDF for Seamless Travel
    • How to Reduce PDF File Size: Ultimate Guide for Your PDF Needs
    • Master Fractions: Conquer Adding and Subtracting with Unlike Denominators (PDF Worksheets)
    • Unlock the Cuckoo’s Nest: Dive into Ken Kesey’s Masterpiece in PDF
    • Unleash Productivity: 7 Day Weekly Planner Printable PDF for Effective Time Management
  • Ranking

About Arras WordPress Theme

All site content, except where otherwise noted, is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.