2

I'm working on creating file that I can load with -kernel option of qemu. I mostly mind here u-boot config file that I have found information should be placed somewhere in file. That file have to contain u-boot binary, freebsd kernel and RTOS to run ( so i can choose which kernel to load or do some experimental developement in loading 2 OS at same time - eg. FreeBSD is loaded by u-boot and then FreeBSD loads FreeRTOS on 2nd core - so called ASMP ). It seems there is no tools around to do that in automatic way ( I mean supporting multiple kernels in one flash file ). So I need to know how is u-boot flash file structured to make my own and pass it to qemu emulating am versatilepb.

qemu-system-arm -M versatilepb -m 128M -nographic -kernel myflashfile
csstudent
  • 155
  • 1
  • 8

1 Answers1

1

So the answer here depends in part on the board you are emulating with QEMU. Next, unfortunately the versatilepb has been dropped from mainline U-Boot some time ago (and being ARM926EJS it is not the ideal core for ASMP, you may wish to try vexpress a9 instead). Now, all of that said, you want -pflash to pass along a binary file you control the contents of as the parallel flash device used by the machine. And you lay that out however you like since you're still using -kernel u-boot.bin to boot the machine. You may however find it easier to use -tftp /some/dir and load the files via the network instead.

Tom Rini
  • 2,058
  • 8
  • 11
  • I know about QEMU not supporting in latest version this board. You mean vexpress a9 has better propeties for implementing ASMP or ARM926EJS is lacking some functionality? I know that I can use network, but it's not related to the question. I don't get what you mean in sentence between that two things mentioned - a9 and network. – csstudent May 04 '16 at 21:03
  • 1
    @csstudent What Tom means is that it's usually less effort to run a TFTP server on your host machine and transfer files directly via the emulated network interface, than the bother of packing them into images to then attach to emulated disk/flash/whatever storage devices. And secondly that if you're looking to try running 2 OSes simultaneously then an inherently uniprocessor machine probably isn't the best choice of target - the specific functionality that Versatile PB/ARM9 lack is _any kind of multiprocessing_ ;) – Notlikethat May 04 '16 at 23:33