-
-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kernel/x86: Bake the Prekernel and the Kernel into one image #24280
Kernel/x86: Bake the Prekernel and the Kernel into one image #24280
Conversation
83c31d8
to
64d67bc
Compare
7a41034
to
b730cc9
Compare
b730cc9
to
db5ccad
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Boots fine now on my system (which had issues with the previous revision of the patch). This was already massaged once before (and therefore still looks fine now), so I only have some small things to point out.
db5ccad
to
e74fc41
Compare
I suspect the crashing in the previous iteration was happening because I aligned the physical address according to the mapping base of the kernel and it was incorrect? I don't really know, but this should work OK. Anyway, I sent a fix to resolve what you asked to change, so if it passes CI, it should be good to go :) |
The new baked image is a Prekernel and a Kernel baked together now, so essentially we no longer need to pass the Prekernel as -kernel and the actual kernel image as -initrd to QEMU, leaving the option to pass an actual initrd or initramfs module later on with multiboot.
e74fc41
to
428efc2
Compare
When merged, this should close #18558. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems to work fine, let's reland this.
The new baked image is a Prekernel and a Kernel baked together now, so essentially we no longer need to pass the Prekernel as -kernel and the actual kernel image as -initrd to QEMU, leaving the option to pass an actual initrd or initramfs module later on with multiboot.
This tries to revive the work from #18027 after it was reverted in #18556. I tried to change things the least I could this time (also, I don't try to iterate on the modules' array anymore, and only pass the physical address and bytes count of the first module to the kernel so it can reserve that range for now).
cc @timschumi @ADKaster