On 1/21/20 11:23 AM, Philippe Mathieu-Daudé wrote:
4. There is difference between -bios and -kernel (arduino boars crash when
-bios is used, but this seems because I run avr6 on avr5 CPU). I would be happy
if you explained what is the difference between these two arguments.
qemu man page is not very helpful...
-bios file
Set the filename for the BIOS.
-kernel bzImage
Use bzImage as kernel image. The kernel can be either a
Linux kernel or in multiboot format.
Paolo, Peter, do you have a simple explanation?
It depends on your target board. They *can* do very different things.
E.g. for "pc" (x86) machine, -bios sets the seabios image to use, and -kernel
loads a kernel image that seabios will invoke.
E.g. for "dp264" (alpha) machine, -bios sets the palcode image to use and
-kernel loads a kernel image. Note that in this case, the alpha kernel relies
on palcode services, so both must be present for the system to work.
E.g. for "virt" (arm) machine, -bios loads a raw image at which the reset
vector will be pointed, whereas -kernel loads a linux kernel image and follows
the arm-linux kernel boot protocol. In other words the images are treated very
differently.
I don't know what, if anything, an avr kernel would require from boot services.
I suspect the two options *could* be treated identically.