[OE-core] Wic and "live" images

Ed Bartosh ed.bartosh at linux.intel.com
Tue May 24 20:16:00 UTC 2016


On Tue, May 24, 2016 at 12:56:39PM -0700, Christopher Larson wrote:
> On Tue, May 24, 2016 at 12:51 PM, Ed Bartosh <ed.bartosh at linux.intel.com>
> wrote:
> 
> > On Mon, May 23, 2016 at 08:13:28AM -0400, Ian Geiser wrote:
> > >  > On Thu, May 19, 2016 at 05:52:45AM -0400, Ian Geiser wrote:
> > >  > > Greetings, I am trying to learn "wic" and have been confused as how
> > to create a "live" style image.  I am following "
> > http://www.yoctoproject.org/docs/1.5.2/dev-manual/dev-manual.html#creating-partitioned-images"
> > but am getting confused on the target to use to create the a file system
> > that has a single squashfs file containing my root file system.
> > >  > >
> > >  > > My desired partition layout is as follows:
> > >  > >       40MiB                 40MiB               300MiB
> > >  > >
> > +--------------------+-----------------+-----------------------------+
> > >  > > |      BOOT (esp)    |    DATA (fat)   |          ROOT (live)
> >   |
> > >  > >
> > +--------------------+-----------------+-----------------------------+
> > >  > >
> > >  > > BOOT - efi boot partition with kernel and initramfs
> > >  > > DATA - generic fat filesystem to hold configuration files
> > >  > > ROOT - an ext4 filesystem that contains a single os.img, which is a
> > squashfs file.
> > >  > >
> > >  > > I have ROOT and DATA figured out but I am at a loss as how to
> > generate the os.img file and copy it into ROOT.  If I generate the os.img
> > file with bitbake and then use the "-r" option to manually supply a
> > directory structure it works, but I would rather have it done from a wks
> > file for automation reasons.
> > >  > >
> > >  > > Any hints?
> > >  > I'd suggest to use wic image type and generate your image by bitbake.
> > >  > You can find example wic-image-minimal.bb and wic-image-minimal.wks
> > in ../meta-selftest/recipes-test/images/
> > >  >
> > > This is where I started.  I was able to make it work but not with my
> > configuration above.  It looks like I can use a type of "fsimage" for my
> > "ROOT" partition, but I have not been able to figure out the syntax there
> > yet.  For "BOOT" I am at a complete loss.  In theory "bootimg-efi" but
> > there doesn't seem to be a way to provide an initramfs.
> >
> > How about creating recipe to prepare content or your boot partition and
> > then using --source rootfs --rootfs-dir=<your recipe> ?
> > This is much more generic way of creating partitioned images from my
> > point of view. Image recipes should take care of content and wic takes
> > care of
> > putting that content into partitions according to the partitioning
> > scheme described in .wks
> >
> > Does it make sense for you?
> >
> > >
> > >  > You can probably do the same by using wic plugins, but I'd not suggest
> > >  > to go this way. Using wic image type is simpler, more consistent,
> > easier to do and provides higher level of automation.
> > >
> > > Is using the wic image type and a plugin mutually exclusive?
> > No, not at all. However, I personally found the way I described above
> > more consistent, flexible and easy to implement and maintain.
> >
> 
> The thing is, it's likely the machine/bsp setting the WKS_FILE, yet in
> OE/yocto we prefer machine/distro/image to be orthogonal. If you're
> injecting machine specific logic into an image, that image isn't going to
> be generally useful for all machines, and so violates our philosophy.

I'm not sure I understand why it has to be machine-dependent setting in
the .wks Can you give some example?

--
Regards,
Ed



More information about the Openembedded-core mailing list