From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Patches and discussions about the oe-core layer
<openembedded-core@lists.openembedded.org>
Subject: Re: [Draft design][RFC] Running postinst at rootfs generation time
Date: Tue, 28 Jun 2011 14:18:13 +0100 [thread overview]
Message-ID: <1309267093.20015.293.camel@rex> (raw)
In-Reply-To: <1865303E0DED764181A9D882DEF65FB6A167F0C70B@shsmsx502.ccr.corp.intel.com>
Hi Dexuan,
On Tue, 2011-06-28 at 10:09 +0800, Cui, Dexuan wrote:
> Hi all, below is an initial investigation about the task and we'll
> continue to further look into it.
>
> In poky we have 2 types of postinst scripts: one (type-1) can be (and
> has already been) run at rootfs generation time and the other (type-2)
> has to be delayed to the first-boot of target device. Type-2 makes
> target device's first-boot slow and it would be great if we can fix it
> and convert it to type-1.
>
> We can instrument a first-boot with minimal/sato first to see which
> postinstalls take the most time and then prioritise those ones to fix.
>
> I figurerd out a list of 33 recipes in total(recipes with the same
> name but with different versions are counted once) we possibly need to
> fix.
> For the recipes, we need try to find recipe-specific ways(use
> appropriately modified native utilities to generate caches, files, etc
> as necessary on the target filesystem).
Out of interest, how long were these different groups of postinstall
taking on the target device?
> 11 recipes: these could be easily fixed if we add the properly-adjusted utilities "adduser, addgroup, pwconv, etc". Scott is actually adding the utilites: http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=sgarman/useradd-rebased&id=99e54d9696104ed38ec1e3464e17aa1f9b8d98ac
> meta/recipes-devtools/distcc/distcc_2.18.3.bb
> meta/recipes-extended/cronie/cronie_1.4.7.bb
> meta/recipes-extended/at/at_3.1.12.bb:47
> meta/recipes-support/hal/hal.inc:45
> meta/recipes-core/dbus/dbus.inc:49
> meta/recipes-connectivity/openssh/openssh_5.8p2.bb
> meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb
> meta/recipes-graphics/x11-common/xserver-nodm-init.bb
> meta/recipes-multimedia/pulseaudio/pulseaudio.inc:87
> meta/recipes-extended/shadow/shadow_4.1.4.3.bb:125
> meta/classes/libc-package.bbclass
We should definitely fix these now we have the user code.
> 6 recipes: these should be easily fixed since the scripts are not related to special native utilites.
> meta/recipes-extended/sudo/sudo.inc
> meta/recipes-extended/sysklogd/sysklogd.inc
> meta/classes/update-rc.d.bbclass
> meta/recipes-connectivity/ppp/ppp_2.4.5.bb
> meta/recipes-graphics/pango/pango.inc
> meta/recipes-gnome/gtk+/gtk+.inc
>
> 4 recipes: we may need to add gtk-update-icon-cache-native.
> meta/classes/gtk-icon-cache.bbclass
> meta/recipes-gnome/librsvg/librsvg_2.32.1.bb
> meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.22.1.bb
> meta/recipes-sato/sato-icon-theme/sato-icon-theme.inc
>
> 3 recipes: need to add gconftool-2-native?
> meta/classes/gconf.bbclass
> meta/recipes-graphics/mutter/mutter.inc
> meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb
I suspect this category and the once above (icon-cache) are the slowest
on the target device?
> 3 recipes: "dpkg --configure, opkg-cl configure": looks it's possible to fix them if we specify proper parematers?
> meta/recipes-devtools/dpkg/dpkg.inc
> meta/recipes-devtools/opkg/opkg_svn.bb
> meta/recipes-devtools/opkg/opkg_0.1.8.bb
>
> 1 recipe: prelink: we could propablly fix it, but I'm not sure yet.
> meta/recipes-devtools/prelink/prelink_git.bb
>
> 1 recipe: "/etc/init.d/populate-volatile.sh update ; DBUSPID=`pidof dbus-daemon`": We can't fix this one.
> meta/recipes-connectivity/wpa-supplicant/wpa-supplicant-0.7.inc
>
> The below 4 recipes need the related utilities and need more investigation.
>
> 1 recipe: update-modules
> meta/recipes-kernel/update-modules/update-modules_1.0.bb
>
> 1 recipe: systemctl
> meta/recipes-connectivity/avahi/avahi.inc
>
> 1 recipe: fc-cache
> meta/recipes-graphics/ttf-fonts/liberation-fonts_1.04.bb:37
>
> 1 recipe: gtk-query-immodules-2.0
> meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb
This looks like a good start to me but I'd be interested to see the
relative lengths of time these postinstalls take...
Cheers,
Richard
next prev parent reply other threads:[~2011-06-28 13:47 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-28 2:09 [Draft design][RFC] Running postinst at rootfs generation time Cui, Dexuan
2011-06-28 4:11 ` Mark Hatle
2011-06-28 13:15 ` Richard Purdie
2011-06-28 14:44 ` Mark Hatle
2011-06-28 16:58 ` Hauser, Wolfgang (external)
2011-07-04 0:23 ` Cui, Dexuan
2011-07-05 8:42 ` Tom Parkin
2011-07-05 10:06 ` Hauser, Wolfgang (external)
2011-07-05 10:22 ` Phil Blundell
2011-07-05 10:30 ` Hauser, Wolfgang (external)
2011-07-05 10:36 ` Phil Blundell
2011-07-12 17:07 ` Mark Hatle
2011-07-13 7:58 ` Hauser, Wolfgang (external)
2011-07-13 10:04 ` Phil Blundell
2011-06-28 13:18 ` Richard Purdie [this message]
2011-06-28 20:31 ` Saul Wold
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=1309267093.20015.293.camel@rex \
--to=richard.purdie@linuxfoundation.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.