* [Qemu-devel] New machine?
@ 2011-01-28 17:00 Comicinker
2011-01-30 11:13 ` Peter Maydell
0 siblings, 1 reply; 3+ messages in thread
From: Comicinker @ 2011-01-28 17:00 UTC (permalink / raw)
To: qemu-devel
Hi,
I want to boot a embedded linux environment in qemu, namely xxsvideo [1]. It is for an arm based fujitsu development board [2]. The toolchain provideds finally 3 files to flash the target device:
-----
comicinker@hardy:~/workspace/jade_rootfs_build-0.8.5/images$ ls -lh
insgesamt 5,4M
-rw-r--r-- 1 comicinker comicinker 3,9M 2011-01-22 19:21 rootfs-xxsvideo-jadeevalkit-0.8.5.bin
-rwxr-xr-x 1 comicinker comicinker 110K 2011-01-22 19:17 u-boot-xxsvideo-jadeevalkit-0.8.5.bin
-rw-r--r-- 1 comicinker comicinker 1,4M 2011-01-22 19:21 uImage-xxsvideo-jadeevalkit-0.8.5.bin
-----
The documentation of xxsvideo tells the following about the Kernel:
-----
3.2 Kernel
Currently the following flash partition is used. This may change e.g. to reserve space for a
splash-image:
cat /proc/mtd
dev: size erasesize name
mtd0: 00020000 00020000 "u-boot"
mtd1: 00020000 00020000 "u-boot var"
mtd2: 00200000 00020000 "kernel"
mtd3: 01dc0000 00020000 "rootfs"
To install the kernel to flash, put the image (images/uImage-xxsvideo-jadeevalkit-0.8.4.bin)
to your tftpboot-directory and type on the u-boot console:
xxsvideo> set autostart no
xxsvideo> tftpboot 0x40500000 uImage-xxsvideo-jadeevalkit-0.8.4.bin
xxsvideo> erase 0x10040000 0x1023ffff
xxsvideo> cp.b 0x40500000 0x10040000 $(filesize)
To install the kernel inside the running linux, do:
flashcp --verbose /tmp/uImage /dev/mtd2
-----
I tried to boot the Kernel with the following command:
qemu-system-arm -kernel uImage-xxsvideo-jadeevalkit-0.8.5.bin -M integratorcp -nographic
And qemu returns with following error message:
-----
qemu: fatal: Trying to execute code outside RAM or ROM at 0x40008000
R00=00000000 R01=00000113 R02=00000100 R03=00000000
R04=00000000 R05=00000000 R06=00000000 R07=00000000
R08=00000000 R09=00000000 R10=00000000 R11=00000000
R12=00000000 R13=00000000 R14=00000000 R15=40008000
PSR=400001d3 -Z-- A svc32
s00=00000000( 0) s01=00000000( 0) d00=0000000000000000( 0)
[...]
-----
How can I boot the kernel, or u-boot? Do I have to patch qemu to support a new machine? In my ideal imagination, I just tell qemu about the jffs2/mtd images/files and specify eventually some memory addresses. How could I do that?
Thanks in advance!
Comicinker
[1] http://sourceforge.net/projects/xxsvideo/
[2] http://www.fujitsu.com/emea/services/microelectronics/gdc/gdcdevices/mb86r01-jade.html
--
NEU: FreePhone - kostenlos mobil telefonieren und surfen!
Jetzt informieren: http://www.gmx.net/de/go/freephone
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] New machine?
2011-01-28 17:00 [Qemu-devel] New machine? Comicinker
@ 2011-01-30 11:13 ` Peter Maydell
2011-02-04 0:31 ` comicinker
0 siblings, 1 reply; 3+ messages in thread
From: Peter Maydell @ 2011-01-30 11:13 UTC (permalink / raw)
To: Comicinker; +Cc: qemu-devel
On 28 January 2011 17:00, Comicinker <comicinker@gmx.de> wrote:
> I want to boot a embedded linux environment in qemu, namely
> xxsvideo [1]. It is for an arm based fujitsu development board [2].
I'm afraid there is no support in qemu for this hardware.
In general ARM based boards are all very different from one
another -- they have different devices, memory is in different
places and they have different CPUs. You typically have to
build a kernel configured to support the specific device you
are using, and that kernel will then not run on any other hardware.
(This is different from x86, where PCs are sufficiently similar
that a generic x86 kernel will work on all of them.)
> I tried to boot the Kernel with the following command:
>
> qemu-system-arm -kernel uImage-xxsvideo-jadeevalkit-0.8.5.bin -M integratorcp -nographic
This fails because you've tried to boot an image for one ARM
board (XXSvideo) on a model of a completely different board
(Integrator CP). This is as unlikely to work as if you took a
real hardware Integrator and tried to run your image on it.
> Do I have to patch qemu to support a new machine?
Yes, you would have to implement support for this board,
and also implement models of any devices which qemu
doesn't already have (probably most of them). In particular
if you are interested in a working model of the graphics
chipset then this is a very large amount of work and might
even be impossible if the chipset vendor doesn't release
enough documentation on it. As a rough guide, the code
to implement (most of) the OMAP3 chipset support in
qemu is about 29,000 lines of code.
Sorry I don't have a more encouraging answer.
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] New machine?
2011-01-30 11:13 ` Peter Maydell
@ 2011-02-04 0:31 ` comicinker
0 siblings, 0 replies; 3+ messages in thread
From: comicinker @ 2011-02-04 0:31 UTC (permalink / raw)
To: qemu-devel; +Cc: Peter Maydell
Am Sonntag, den 30.01.2011, 11:13 +0000 schrieb Peter Maydell:
...
>
> > Do I have to patch qemu to support a new machine?
>
> Yes, you would have to implement support for this board,
> and also implement models of any devices which qemu
> doesn't already have (probably most of them). In particular
> if you are interested in a working model of the graphics
> chipset then this is a very large amount of work and might
> even be impossible if the chipset vendor doesn't release
> enough documentation on it. As a rough guide, the code
> to implement (most of) the OMAP3 chipset support in
> qemu is about 29,000 lines of code.
>
> Sorry I don't have a more encouraging answer.
>
> -- PMM
Thank you for your answer. At least I know I can stop searching, which
satisfies me for now. I will get the hardware to go on working.
Regards
C
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-02-04 0:31 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-28 17:00 [Qemu-devel] New machine? Comicinker
2011-01-30 11:13 ` Peter Maydell
2011-02-04 0:31 ` comicinker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).