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