Heads build qemu-coreboot vs qemu-linuxboot & project linuxboot build
Nobody has claimed this yet.
- Dominant language
- Makefile
- Stars
- 1.6k
- Forks
- 211
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 6
Description
Hi Team,
Couple of doubts. Wondering if I am trying things differently and if my expectations/understanding is wrong. Please let me know so that I can stop being side tracked and proceed with the working model.
First, I am able to build and run heads qemu-coreboot with full graphics support on a couple of images I found ( debian, kali ). However, all other things being the same, qemu-linuxboot does not behave the same. The problem is that with qemu-linuxboot, the qemu window stays blank. Outputs come on the terminal --serial dev/stty and all boot options also come on it. With qemu-coreboot the graphics load on the qemu window.
Second, another experiment I did was to use the heads qemu-coreboot and qemu-linuxboot output files to build project linuxboot. i.e. point the KERNEL and INITRD paths to the heads qemu builds. One thing I notice is this make is very fast, kind of looks like some packaging is done and does not do any long running build. Then using qemu to load the linuxboot.rom image under the ~/linuxboot/build/qemu folder crashes with
qemu-system-x86_64: Trying to execute code outside RAM or ROM at 0x00000000000a0000
This usually means one of the following happened:
(1) You told QEMU to execute a kernel for the wrong machine type, and it crashed on startup (eg trying to run a raspberry pi kernel on a versatilepb QEMU machine)
(2) You didn't give QEMU a kernel or BIOS filename at all, and QEMU executed a ROM full of no-op instructions until it fell off the end
(3) Your guest kernel has a bug and crashed by jumping off into nowhere
This is almost always one of the first two, so check your command line and that you are using the right type of kernel for this machine.
If you think option (3) is likely then you can try debugging your guest with the -d debug options; in particular -d guest_errors will cause the log to include a dump of the guest register state at this point.
Execution cannot continue; stopping here.
Thanks and Regards,
Madhan.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by comparing the qemu-coreboot and qemu-linuxboot launch paths and the serial output described in the issue. Then inspect how KERNEL and INITRD are used to create linuxboot.rom under ~/linuxboot/build/qemu, and reproduce the reported QEMU crash. Done means explaining the blank graphics behavior and identifying why the generated ROM executes outside RAM or ROM.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- build-system, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100