Note that there are some explanatory texts on larger screens.

plurals
  1. POIs my bootloader doing enough to boot Linux Image
    primarykey
    data
    text
    <p>I am new to bootloader and Linux kernel. I have been working on a project where we have to replace booting QNX kernel with Linux kernel .Our current bootloader code has a support for booting QNX kernel.It seems like bootloader also has support for booting Linux(NOT sure) and I need to know is it doing enough to boot Linux Kernel.</p> <p>Below is what our Bootloader is doing.</p> <p>Bootloader is calling start_kernel function which have two argument passed to it one is kernel entry point and second is pointer to boot line </p> <p>1.Address 0X90000ULL which is type casted to boot_params structure.</p> <p>2.Relocate initrd </p> <p>3.Copy boot sector ,Set up data and commad line to final resting place</p> <p>4.Initialize Linux GDT</p> <p>5.Jump to Kernel entry point</p> <p>6.Disable interrupt </p> <p>7.Lunch_kernel()</p> <p>Now in above code two tricky things which doubted support for Linux kernel booting.</p> <p>The first thing is the way Jump to kernel entry point, normally I see jumping to kernel entry in uboot or Linux source is in assembly but in our bootloader it simply filing a structure .</p> <pre><code>struct { long Kery; long kernel_code_segment; } jumpv; void *jump_s; jumpv.kery=first argument pass to start_kernel; jumpv.kernel_code_segment=0x10; jump_s=(void *)&amp;jumpv; </code></pre> <p>Second thing is the Lunch_kernel() for which definition is not present at all in code base. </p> <p>Now is above stuff enough to pass control to Linux image or what else I can add/modified to boot the Linux image in our current bootloader code.</p> <p>We are on working X86 architecture.</p> <p>Due to some reason we can't do hit and trial on our board until we are sure about things.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload