Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Robert Yang <liezhi.yang@windriver.com>
To: Bruce Ashfield <bruce.ashfield@gmail.com>
Cc: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 1/1] linux-yocto 4.4: enable overlayfs by default
Date: Tue, 5 Apr 2016 17:06:24 +0800	[thread overview]
Message-ID: <57038010.8040501@windriver.com> (raw)
In-Reply-To: <CADkTA4Ojrn5DddPnAK2Ss6k0F2E+i5r0f68jN7F49WTAFa6pEg@mail.gmail.com>



On 04/05/2016 04:33 PM, Bruce Ashfield wrote:
>
>
> On Tue, Apr 5, 2016 at 2:42 AM, Robert Yang <liezhi.yang@windriver.com
> <mailto:liezhi.yang@windriver.com>> wrote:
>
>
>
>     On 04/05/2016 02:33 PM, Bruce Ashfield wrote:
>
>
>
>         On Mon, Apr 4, 2016 at 10:48 PM, Robert Yang <liezhi.yang@windriver.com
>         <mailto:liezhi.yang@windriver.com>
>         <mailto:liezhi.yang@windriver.com <mailto:liezhi.yang@windriver.com>>>
>         wrote:
>
>
>
>              On 04/05/2016 10:31 AM, Bruce Ashfield wrote:
>
>
>
>                  On Mon, Apr 4, 2016 at 9:53 PM, Robert Yang
>         <liezhi.yang@windriver.com <mailto:liezhi.yang@windriver.com>
>                  <mailto:liezhi.yang@windriver.com
>         <mailto:liezhi.yang@windriver.com>>
>                  <mailto:liezhi.yang@windriver.com
>         <mailto:liezhi.yang@windriver.com> <mailto:liezhi.yang@windriver.com
>         <mailto:liezhi.yang@windriver.com>>>>
>                  wrote:
>
>
>                       Hi Bruce,
>
>                       How many union fs on Linux, please? AFAIK:
>                       * unionfs: not supported by kernel any more.
>                       * aufs
>                       * overlayfs
>
>                       If aufs and overlayfs are conflicted, how about:
>
>                       KERNEL_UNION_FS ?= "features/overlayfs/overlayfs.scc"
>
>                       KERNEL_EXTRA_FEATURES ?= "[snip] ${KERNEL_UNION_FS}"
>
>                       I think that we really need a way to make iso/hddimg work
>         by default
>                       to enhance the OOBE.
>
>
>                  That sort of mechanism can work, but not if it is enabled by
>         default.
>                  out of box
>                  experience
>                  is one thing, but there are plenty of boot and image types that
>         don't need a
>                  unionfs, and
>                  we can't force these as =y for those image types.
>
>                  If we make a modular config, and a built-in config, we could
>         pick the
>                  modular
>                  config by
>                  default, and then have the package list for the images that
>         need them,
>                  rdepend
>                  on the
>                  appropriate modules.
>
>
>              Sounds good, so how about:
>
>              1) Update kernel to make overlayfs as module rather than builtin
>
>
>         Having two fragments make sense. one for built in, and one that is modules.
>         Since these are
>         distinct use case both sets of configuration are reasonable.
>
>
>     How about this:
>
>     diff --git a/ktypes/preempt-rt/preempt-rt.cfg b/ktypes/preempt-rt/preempt-rt.cfg
>     index 4c62804..28ad8cf 100644
>     --- a/ktypes/preempt-rt/preempt-rt.cfg
>     +++ b/ktypes/preempt-rt/preempt-rt.cfg
>     @@ -1116,3 +1116,5 @@ CONFIG_CRYPTO_TEST=m
>       #
>       CONFIG_LIBCRC32C=m
>       CONFIG_ZLIB_DEFLATE=m
>     +
>     +CONFIG_OVERLAY_FS=m
>     diff --git a/ktypes/standard/standard.cfg b/ktypes/standard/standard.cfg
>     index b3dbde5..3dabf49 100644
>     --- a/ktypes/standard/standard.cfg
>     +++ b/ktypes/standard/standard.cfg
>     @@ -1108,3 +1108,5 @@ CONFIG_LIBCRC32C=m
>       CONFIG_ZLIB_DEFLATE=m
>
>       CONFIG_SHMEM=y
>     +
>     +CONFIG_OVERLAY_FS=m
>
>
> Nope. See my follow up to the linux-yocto patch .. I was more detailed in my
> follow up
> there.

I read that just now, if we don't enable the module in oe-core layer or
builtin it, I'm fine to leave the live image (iso, hddimg) broken by
default and document that if you need a read write live image and fix
the errors, you can enable it from KERNEL_FEATURES ?

>
>
>
>              2) let core-image-minimal-initramfs RDEPENEDS on the module.
>
>
>         I'd still prefer that this be set in a distro or optional layer. Since why
>
>
>     The live/iso/hddimg is supported by oe-core, all of them are in oe-core layer,
>     I'm afraid that we can't add it in an extra layer or bbappend.
>
>
> Why not ? There are just as many image types that don't need this support. Why
> should
> it be universally build and enabled for a feature that is only used by some boot
> types.
>
> You are missing the point, and there's no justification to globally enable it.
>
> What about flash boot, what about boot from specific MTD devices, etc, etc, should
> they all be enabled by default in the base configs .. just in case someone boots
> that
> way ? We'll end up with a giant kernel with everything enabled or as modules if we
> cover all the cases. These need to be specifically requested and triggered.
>
> Just because you are concerned with live iso boot, doesn't mean that others are,
> and that we should have the overhead everywhere.
>
>
>         should core image
>         minimal be the target for this ? There are any number of targets that
>         might be
>         used for
>         live boot.
>
>
>     All of them are in oe-core layer, core-image-minimal-initramfs.bb
>     <http://core-image-minimal-initramfs.bb> is the
>     default live image in oe-core, I think that add kerne-module-overlay to
>     its INSTALL is reasonable.
>
>
> But that shouldn't need overlayfs for all configs. I boot initramfs kernels all
> the time, I have no need
> for overlay filesystems on those boards.
>
> But yes, if you enable a module based overlayfs fragment, and then install the
> module via an install, it should be ok, since it can be overridden.

Did you mean it in oe-core or out of oe-core such as an external layer or
bbappend, please ?

>
> I hope you are seeing the point of not enabling kernel options "just in case",
> and why
> this sort of thing needs to be only built and installed when it is truly needed.

I'm sorry, but I don't think that this is a "just in case" issue, live image
is officially supported by oe-core, I think that we should release a workable
image to the user rather than a half-finished one, currently, for example,
the obvious errors when boot:

Populating dev cache
/etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create 
/etc/volatile.cache.build: Read-only file system
/etc/rcS.d/S36udev-cache: line 73: can't create /etc/udev-cache.tar.gz: 
Read-only file system
udev-cache: update failed!
/etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create 
/etc/volatile.cache.build: Read-only file system
rm: can't remove '/etc/udev/cache.data': Read-only file system
/etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create 
/etc/volatile.cache.build: Read-only file system
/etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create 
/etc/volatile.cache.build: Read-only file system
/etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create 
/etc/volatile.cache.build: Read-only file system
/etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create 
/etc/volatile.cache.build: Read-only file system
/etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create 
/etc/volatile.cache.build: Read-only file system
/etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create 
/etc/volatile.cache.build: Read-only file system
/etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create 
/etc/volatile.cache.build: Read-only file system
rm: can't remove '/tmp': Read-only file system
ln: /tmp/tmp: Read-only file system
/etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create 
/etc/volatile.cache.build: Read-only file system
/etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create 
/etc/volatile.cache.build: Read-only file system
/etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create 
/etc/volatile.cache.build: Read-only file system
ln: /etc/resolv.conf: Read-only file system
/etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create 
/etc/volatile.cache.build: Read-only file system
/etc/init.d/rc: /etc/rcS.d/S37populate-volatile.sh: line 1: can't create 
/etc/volatile.cache.build: Read-only file system

And it's readonly, the user can change nothing on the system when debug.

// Robert

>
> Bruce
>
>
>     If there are other layers which have their own live image, then they can add
>     it to their INSTALL.
>
>
>     // Robert
>
>
>         Bruce
>
>              // Robert
>
>
>                  Bruce
>
>
>                       // Robert
>
>                       On 04/04/2016 07:56 AM, Bruce Ashfield wrote:
>
>
>
>                           On Sun, Apr 3, 2016 at 5:46 PM, Richard Purdie
>                           <richard.purdie@linuxfoundation.org
>         <mailto:richard.purdie@linuxfoundation.org>
>                  <mailto:richard.purdie@linuxfoundation.org
>         <mailto:richard.purdie@linuxfoundation.org>>
>                           <mailto:richard.purdie@linuxfoundation.org
>         <mailto:richard.purdie@linuxfoundation.org>
>                  <mailto:richard.purdie@linuxfoundation.org
>         <mailto:richard.purdie@linuxfoundation.org>>>
>                           <mailto:richard.purdie@linuxfoundation.org
>         <mailto:richard.purdie@linuxfoundation.org>
>                  <mailto:richard.purdie@linuxfoundation.org
>         <mailto:richard.purdie@linuxfoundation.org>>
>                           <mailto:richard.purdie@linuxfoundation.org
>         <mailto:richard.purdie@linuxfoundation.org>
>                  <mailto:richard.purdie@linuxfoundation.org
>         <mailto:richard.purdie@linuxfoundation.org>>>>>
>                           wrote:
>
>                                On Sun, 2016-04-03 at 06:11 -0400, Bruce Ashfield
>         wrote:
>                                >
>                                >
>                                > On Sun, Apr 3, 2016 at 5:58 AM, Robert Yang <
>                                >liezhi.yang@windriver.com
>         <mailto:liezhi.yang@windriver.com>
>                  <mailto:liezhi.yang@windriver.com
>         <mailto:liezhi.yang@windriver.com>> <mailto:liezhi.yang@windriver.com
>         <mailto:liezhi.yang@windriver.com>
>                  <mailto:liezhi.yang@windriver.com
>         <mailto:liezhi.yang@windriver.com>>>
>                           <mailto:liezhi.yang@windriver.com
>         <mailto:liezhi.yang@windriver.com>
>                  <mailto:liezhi.yang@windriver.com
>         <mailto:liezhi.yang@windriver.com>> <mailto:liezhi.yang@windriver.com
>         <mailto:liezhi.yang@windriver.com>
>                  <mailto:liezhi.yang@windriver.com
>         <mailto:liezhi.yang@windriver.com>>>>>
>
>                           wrote:
>                                > > So that iso can work well, otherwise the iso is
>                  readonly and there
>                                > > would
>                                > > be errors. The other way is aufs, but
>         overlayfs is
>                  more pupolar and
>                                > > had
>                                > > been merged by kernel mainline, we need make
>         iso work
>                  well by
>                                > > default.
>                                > Nope. As I mentioned before, this can't be a
>         always on
>                  default. It
>                                > will conflict
>                                > with other unionFS use cases.
>                                >
>                                > If you want overlayfs enabled, it needs to be
>         triggered
>                  from a
>                                > specific image
>                                > or distro feature.
>
>                                We can't change the kernel config from an image so it
>                  would have to be
>                                a distro setting. Is there a problem with
>         enabling both as
>                  modules btw?
>                                I assume they can coexist?
>
>
>                           I've always found it limiting that we can't trigger kernel
>                  features based on
>                           what an image'
>                           type actually needs, but I understand why/how it works
>         like this.
>
>                           If it can't be triggered by an image setting, then
>         just keeping
>                  a layer
>                           that is
>                           added
>                           to the build, that has a bbappend with the appropriate
>                  KERNEL_FEATURES would
>                           also work, and is the approach that I've also taken.
>
>                           Not that the existing configs are great in this
>         respect (they
>                  need a lot of
>                           streamlining),
>                           but building modules 'just in case' eventually leads to
>                  allmodconfig :)
>
>                           I'd imagine they could co-exist, but it isn't
>         something I've tried.
>
>                           Bruce
>
>
>                                Cheers,
>
>                                Richard
>
>
>
>
>                           --
>                           "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"
>
>
>
>
>         --
>         "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"


  reply	other threads:[~2016-04-05  9:06 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-03  9:58 [PATCH 0/1 V2] linux-yocto 4.4: enable overlayfs by default Robert Yang
2016-04-03  9:58 ` [PATCH 1/1] " Robert Yang
2016-04-03 10:11   ` Bruce Ashfield
2016-04-03 21:46     ` Richard Purdie
2016-04-03 23:56       ` Bruce Ashfield
2016-04-05  1:53         ` Robert Yang
2016-04-05  2:31           ` Bruce Ashfield
2016-04-05  2:48             ` Robert Yang
2016-04-05  6:33               ` Bruce Ashfield
2016-04-05  6:42                 ` Robert Yang
2016-04-05  8:33                   ` Bruce Ashfield
2016-04-05  9:06                     ` Robert Yang [this message]
2016-04-05 14:59                       ` Bruce Ashfield
2016-04-03 10:00 ` [PATCH 0/1 V2] " Robert Yang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57038010.8040501@windriver.com \
    --to=liezhi.yang@windriver.com \
    --cc=bruce.ashfield@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox