Rtems-test with qemu integration for pc386

Joel Sherrill joel.sherrill at oarcorp.com
Wed Jun 25 22:54:25 UTC 2014


On 6/25/2014 5:48 PM, Chris Johns wrote:
> On 26/06/2014 5:56 am, Krzysztof Mięsowicz wrote:
>> Hi again and sorry for spam. Soon after writing mail to you I found the
>> solution (at least I think so :-D ).
> Thanks for posting the solution. The pc is the only qemu bsp I know of 
> with a boot loader making it more complex.
>
>> I created rtems-boot.img using script from
>> http://www.rtems.org/wiki/index.php/Building_Grub .
>> I wrote grub.cfg with following lines:
>>
>> serial --unit=0 --speed=115200
>> set root='hd1,msdos1'
>> terminal_output serial; terminal_input serial;
>>
>> to redirect terminal output and input to serial. Then, I am able to run
>> arbitrary executable using following command (example for ticker):
>>
>> qemu-system-i386 -m 128 -boot b -hda $HOME/qemu/hd/rtems-boot.img -hdb
>> fat:$HOME/qemu/hd -serial stdio -no-reboot -nographic -monitor null
>> --exec-trace ticker.exe.cov -kernel
>> /home/rtems/development/rtems/src/b-pc386/i386-rtems4.11/c/pc386/testsuites/samples/ticker/ticker.exe
>> -append "--console=com1;boot"
> This is an excellent solution. Well done.
Awesome! Does this work without the -hdb? Just curious what it is
used for. If it can be avoided, then one less option and user setup
requirement.
>> This simply boots executable specified as -kernel argument and appends
>> --console=com1;boot to grub multiboot specification. This results in
>> following output:
>>
>> *** BEGIN OF TEST CLOCK TICK ***
>> TA1  - rtems_clock_get_tod - 09:00:00   12/31/1988
>> TA2  - rtems_clock_get_tod - 09:00:00   12/31/1988
>> TA3  - rtems_clock_get_tod - 09:00:00   12/31/1988
>> TA1  - rtems_clock_get_tod - 09:00:05   12/31/1988
>> TA2  - rtems_clock_get_tod - 09:00:10   12/31/1988
>> TA1  - rtems_clock_get_tod - 09:00:10   12/31/1988
>> TA3  - rtems_clock_get_tod - 09:00:15   12/31/1988
>> TA1  - rtems_clock_get_tod - 09:00:15   12/31/1988
>> TA2  - rtems_clock_get_tod - 09:00:20   12/31/1988
>> TA1  - rtems_clock_get_tod - 09:00:20   12/31/1988
>> TA1  - rtems_clock_get_tod - 09:00:25   12/31/1988
>> TA3  - rtems_clock_get_tod - 09:00:30   12/31/1988
>> TA1  - rtems_clock_get_tod - 09:00:30   12/31/1988
>> TA2  - rtems_clock_get_tod - 09:00:30   12/31/1988
>> *** END OF TEST CLOCK TICK ***
>>
>> Additionaly, ticker.exe.cov is created. I think this is really good
>> soultion to use in coverage analysis within rtems-test. The question is
>> where rtems-boot.img and grub.cfg should be placed?
>>
> I agree this is the way to go. Please send me the rtems-test patch 
> without the coverage option so I can add this bsp to the supported test 
> bsps. We can add the coverage option in further changes once we have 
> detecting a suitable qemu figured out.
+1
> Chris

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985




More information about the devel mailing list