Re: retain mounted initrd after booting?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 29, 2009 at 05:34:58AM -0400, Robert P. J. Day wrote:
> On Tue, 29 Sep 2009, Luciano Rocha wrote:
> 
> > On Tue, Sep 29, 2009 at 04:39:48AM -0400, Robert P. J. Day wrote:
> > >
> > >   i'm still looking for how to keep the initrd mounted after
> > > booting on my x86_64 system.  can't you do that anymore?  it's
> > > been a while since i tried that, and i thought the kernel parm
> > > "retain_initrd" would do it, and leave it mounted at /initrd.
> > > apparently not.  am i misremembering?  is there a way?  thanks.
> >
> > You're not misremembering, but you're also not considering that
> > current distributions don't boot the system using initrd, only
> > initramfs. The boot process then differs significantly.
> 
>   i don't agree.  while all recent kernels will have an embedded
> initramfs (the topic of my very next kernel newbie column, in fact),
> unless you specifically populate that internal initramfs, it's going
> to be virtually empty and you'll still end up using the external
> initrd image supplied by grub.  which means that you should still have
> the ability to retain the initrd filesystem if you want.

No. The initrd option in grub, and the similar one in other boot
loaders, passes a binary image to the kernel.

Then the kernel identifies it as an initramfs or as an initrd. When the
kernel boots, you can see this message:
  Trying to unpack rootfs image as initramfs...

Or similar, I think it was different in older kernels. I got this in an
older one:
  checking if image is initramfs... it is

The initrams contents are decompressed over the ones included in the
kernel. Then the kernel checks if /init exists (or another one, passed
with the option rdinit=path) and if it exists and is runnable, passes
control to it even before trying to mount the root partition.

Then the system is booted, and the /init binary is responsible for
booting the rest of the system. The original image is no longer
available, unless /init decides to do keep it somewhere else.

If there's no executable /init, then the kernel continues as in the old
case.


-- 
Luciano Rocha <luciano@xxxxxxxxxxx>
Eurotux Informática, S.A. <http://www.eurotux.com/>

Attachment: pgpKpJTLfHHJt.pgp
Description: PGP signature


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux