[yocto] Need help for building kernel image with embedded initramfs.cpio

Andrea Adami andrea.adami at gmail.com
Thu May 3 05:40:08 PDT 2012


On Thu, May 3, 2012 at 12:22 PM,  <giovanni.pavoni at exorint.it> wrote:
> Dear Sirs,
>
> for my cortex A8 based system, I am in the need to deploy
> a sort of "safe mode image" that should bootstrap only
> in case of system recovery.
>
> This image fits particularily well the model of a ramfs based system
> with contents such as core-image-minimal-mtdutils plus some tools addition.
>
> I defined a "myimage.bb" recipe for this image that generates a
> "myimage.cpio"
>
> However I am in the need to:
>
> 1. establish in myimage.bb a relation with virtual/kernel and ask to
> generate
> kernel modules only.
>
> 2. retrieve modules only from the kernel staging area and made them part of
> "myimage.cpio"
>
> 3. change the config of my kernel to add CONFIG_INITRAMFS_SOURCE =
> "myimage.cpio"
> and copy myimage.cpio from staging area to kernel build location.
>
> 4. build kernel and deploy the emitted uImage as "mykernel+myimage"
>
> Anyone can help with suggestions/guidelines and/or codesnips?
>
Hi Giovanni,

we have already done something similar for kexecboot project.
You need:

1) set in your $machine.conf :
INITRAMFS_FSTYPES ?= "cpio.gz cpio.lzma"
KERNEL_IMAGETYPE ?= "uImage"

2) a XYZ-image.bb recipe for the image which will be the cpio containing:
IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
and custom  IMAGE_INSTALL = "your list of packages and modules"
For the modules you can use kernel-modules meta-package or the single
kernel-module xyz.

3) a recipe for the kernel containing the line:
INITRAMFS_IMAGE = "XYZ-image"

This will be embedded in the kernel.


> Kind regards
>

Cheers
Andrea


>
> Giovanni Pavoni
> R&D Department
>
> Exor International S.p.A.
> Via Monte Fiorino,9
> I-37057 San Giovanni Lupatoto (VR)
> Phone:+390458774839 - Fax:+390458779023
>
> giovanni.pavoni at exorint.it - www.exorint.net - www.exorint.it
>
>
> ATTENZIONE: Privacy Policy – D.Lgs. 196/2003
>  Le informazioni contenute in questo messaggio di posta elettronica sono di
> carattere privato e confidenziale ed esclusivamente rivolte al destinatario
> sopra indicato. Nel caso aveste ricevuto questo messaggio di posta
> elettronica per errore, vi comunichiamo che ai sensi del suddetto decreto è
> vietato l’uso, la diffusione, distribuzione o riproduzione da parte di ogni
> altra persona. Siete pregati di segnalarlo immediatamente rispondendo al
> mittente e di distruggere quanto ricevuto (compresi i file allegati) senza
> farne copia o leggerne il contenuto.
>
> This e-mail transmission contains information that is confidential and may
> be privileged. It is intended only for the addressee(s) named above. If you
> receive this e-mail in error, please do not read, copy or disseminate it in
> any manner. If you are not the intended recipient, any disclosure, copying,
> distribution or use of the contents of this information is prohibited.
> Please reply to the message immediately by informing the sender that the
> message was misdirected. After replying, please erase it from your computer
> system. Your assistance in correcting this error is appreciated.
>
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>



More information about the yocto mailing list