How does boot loader tell the kernel, the location of initrd?
am 15.03.2007 07:58:19 von Rajat Jain
Hi,
I am experimenting with initrd and my initrd fails to mount. My
bootloader (U-BOOT) coorectly loads the initrd into RAM as I can see.
I am wondering how does the kernel get to know the address at which
the initrd is loaded by boot loader? How does the boot loader
communicate this to the kernel?
Any code references will be appreciated.
Thanks,
Rajat
PS: I am not using initramfs (emebedding root filesystem into kernel image).
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs
Re: How does boot loader tell the kernel, the location of initrd?
am 15.03.2007 09:26:25 von Rajendra
Every bootloader has different mechanism for loading the kernel
image. I am talking of Grub boot loader here. Grub uses something
called a multiboot specification. The specification documents the
mechanism for passing data to and from the kernel image.
Search for multiboot specification and i think u will get all ur answers.
U can also look at arch/i386/boot/bootsect.S for the linux kernel
multiboot header related info.
regards,
~rpm
Rajat Jain wrote:
> Hi,
>
> I am experimenting with initrd and my initrd fails to mount. My
> bootloader (U-BOOT) coorectly loads the initrd into RAM as I can see.
>
> I am wondering how does the kernel get to know the address at which
> the initrd is loaded by boot loader? How does the boot loader
> communicate this to the kernel?
>
> Any code references will be appreciated.
>
> Thanks,
>
> Rajat
>
> PS: I am not using initramfs (emebedding root filesystem into kernel
> image).
> -
> To unsubscribe from this list: send the line "unsubscribe
> linux-newbie" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.linux-learn.org/faqs
>
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@nl.linux.org
Please read the FAQ at http://kernelnewbies.org/FAQ
Re: How does boot loader tell the kernel, the location of initrd?
am 16.03.2007 06:12:30 von Rajat Jain
> > I am experimenting with initrd and my initrd fails to mount. My
> > bootloader (U-BOOT) coorectly loads the initrd into RAM as I can see.
> >
> > I am wondering how does the kernel get to know the address at which
> > the initrd is loaded by boot loader? How does the boot loader
> > communicate this to the kernel?
> >
> > Any code references will be appreciated.
>
> Perhaps lib_mips/mips_linux.c in the U-Boot tree is what you are looking for.
> That code sets up environment parameters that are parsed by the Linux kernel
> later on (see rd_start_early() and friends in arch/mips/kernel/setup.c in the
> Linux tree).
Thanks! That is exactly what I was looking for. However, I noticed
that U-BOOT passes these parameters in environment variables, where as
Linux kernel expects them as command l ine arguments. It wasn't
working for me untill I made changes in U-BOOT to pass them in command
line arguments.
Why is this discrepancy in U-BOOT and the kernel? Are other people
working on the (linux+U-BOOT) combo making the changes that I did?
Thanks,,
Rajat
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs