[OE-core] Embed initramfs into kernel

Yevhen Kyriukha kirgene at gmail.com
Mon Apr 22 17:45:59 UTC 2013


2013/4/22 Bruce Ashfield <bruce.ashfield at gmail.com>
>
> On Mon, Apr 22, 2013 at 10:11 AM, Yevhen Kyriukha <kirgene at gmail.com> wrote:
> > Thanks!
> >
> > I was trying to build the kernel and I got the following error:
> > Aborted dependency loops search after 10 matches.
> >
> > I copied core-image-minimal-initramfs and changed IMAGE_INSTALL:
> > IMAGE_INSTALL = "initramfs-live-boot busybox udev base-passwd".
> > Also I added
> > INITRAMFS_IMAGE = "custom-initramfs"
> > to my kernel recipe.
> >
> > As far as I understand initramfs image depends on the kernel that depends on
> > initramfs image.
>
> Correct. That's something that commonly happens in my experience. You can't have
> anything in your dependency chain that causes that circular depend .. which is
> what the boot tasks will pull in.
>
> We are working to enhance / fix this in yocto 1.5, but for now, that
> is the restriction.
>
> Have you looked at: classes/image-live.bbclass ? Which is a current user of
> core-image-minimal-initramfs and gets around the circular dependency problem.
>
> Cheers,
>
> Bruce
>
> >
> >
> > Best regards,
> > Yevhen
> >
> >
> > 2013/4/22 Bruce Ashfield <bruce.ashfield at gmail.com>
> >>
> >> On Mon, Apr 22, 2013 at 9:14 AM, Yevhen Kyriukha <kirgene at gmail.com>
> >> wrote:
> >> > Hi!
> >> >
> >> > I have a custom kernel recipe and initramfs image recipe.
> >> > How can I embed initramfs into kernel?
> >> > Is there any example available?
> >>
> >> The support is in oe-core, so checking the yocto docs is a good starting
> >> point:
> >>
> >> http://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html
> >>
> >> And in particular:
> >>
> >> "core-image-minimal-initramfs: A core-image-minimal image that has the
> >> Minimal RAM-based Initial Root Filesystem (initramfs) as part of the
> >> kernel, which allows the system to find the first “init” program more
> >> efficiently."
> >>
> >> There is also meta-initramfs:
> >>
> >> https://github.com/openembedded/meta-oe/tree/master/meta-initramfs
> >>
> >> Cheers,
> >>
> >> Bruce
> >>
> >> >
> >> > Best regards,
> >> > Yevhen
> >> >
> >> > _______________________________________________
> >> > Openembedded-core mailing list
> >> > Openembedded-core at lists.openembedded.org
> >> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> >> >
> >>
> >>
> >>
> >> --
> >> "Thou shalt not follow the NULL pointer, for chaos and madness await
> >> thee at its end"
> >
> >
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end"

I looked at image-live class but it's only image class without any dependencies.
As far as I understand if for example we building busybox than we have
to build kernel first.
Is there any chance to accomplish this task if we'll have 2 kernel
recipes - one for bootstrap (for compilation of initramfs) and the
second with embedded initramfs?

Best regards,
Yevhen




More information about the Openembedded-core mailing list