Compilation issues under i386 for i386.
Joel Sherrill
joel.sherrill at oarcorp.com
Wed May 30 17:01:05 UTC 2007
mattt42 at ou.edu wrote:
> Hello,
> We have tested to boot RTEMS applications under qemu from the grub image downloaded from :
>
> -ftp://ftp.rtems.org/pub/rtems/4.7.0/contrib/pc386_grub_image/
>
> Like that, we have seen what we normally have on the screen if the applications have correctly launched.
> So , we installed qemu on our Fedora distribution with Yum :
>
> #yum list | grep qemu
> #yum install qemu.i386
>
> Then, we decompressed the grub image :
>
> #gzip -d grub144.gz
>
> So, now, we have a grub144 file that we can use with qemu.
> We booted on this image with qemu : #qemu -fda grub144 -nokqemu
>
> We have seen the grub menu and tested the several applications. Therefore we know what is the result of these applications but we had to boot on our applications compiled.
>
> So , we try to boot directly on the "hello.exe" application with GRUB. In order to reach that, we had to convert the hello.exe to hello.gz because GRUB doesn't work with the hello.exe. We went to the "hello" directory and typed the following command :
>
>
This isn't likely to work. The 1.44MB image you are booting is actually
a dd of a grub boot
floppy with a few pre-built executables from a randomly old grub and
rtems version. There
are two ways I know of to manipulate the 1.44Mb floppy image file under
GNU/Linux:
(1) mount the file in loopback mode as a FAT filesystem.
(2) Use mtools with a ~/.mtoolsrc something like this:
drive i: file="~/qemu/pc386_fda"
drive j: file="~/qemu/grub144"
drive k: file="~/qemu/uart_144"
Then you can use mcopy, mdir, etc.
$ mdir j:
Volume in drive J has no label
Directory for J:/
hello exe 107792 2006-04-24 13:50 hello.exe
stage2 30816 1998-05-13 11:56 stage2
ticker exe 184632 2006-02-01 14:55 ticker.exe
grubmenu 288 2006-04-21 7:09 grubmenu
base_sp exe 67000 1998-05-26 10:01 base_sp.exe
paranoia exe 125848 1998-05-26 10:01 paranoia.exe
netdemo exe 277264 2006-05-05 9:26 netdemo.exe
helloada exe 188076 1998-05-27 8:11 helloada.exe
8 files 981 716 bytes
474 112 bytes free
I have another boot floppy image which is used with qemu and a Virtual FAT
directory to automatically run an executable. I have a nearly completed
script
which when used with pc386 built with COM1 as console can automatically
run multiple executables at a time using qemu and capture the output for
later
review.
--joel
> #cat hello.exe | gzip -9 > hello.gz
>
> This commande created a file named hello.gz. Then, we moved this file to /boot and we configured the configuration file of GRUB (/etc/grub.conf). We added the followings lines in grub.conf :
>
> title test-hello_world
> root (hd0, 2)
> kernel /boot/hello.gz
>
> Then we restarted our computer and we saw the grub menu with the line " test-hello_world". We clicked on it and it was OK, we saw the text of the hello_world application like under qemu earlier. We reached to boot direclty on our rtems-application, so our rtems works ! Now, we have to implement the sctp protocol. But how to do that? We think that we have to compile the source of the lksctp packet with the i386-rtems-gcc compiler but we don't know what to do after?
>
> If you have any suggestions, let us know.
>
>
> Matthieu Desarmeaux & Jean-Gabriel Gonzalez
>
>> Interns in the University of Oklahoma
>> School of Computer Science
>>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.com
> http://rtems.rtems.org/mailman/listinfo/rtems-users
>
More information about the users
mailing list