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. r~