[OE-core] [PATCH 1/2] busybox: Add support for busybox-init

Denys Dmytriyenko denis at denix.org
Fri Mar 2 21:19:38 UTC 2018


On Mon, May 02, 2016 at 12:43:58PM -0400, Denys Dmytriyenko wrote:
> On Tue, Feb 02, 2016 at 03:29:43PM +0000, Richard Purdie wrote:
> > On Tue, 2016-02-02 at 16:00 +0100, Patrick Ohly wrote:
> > > On Mon, 2016-02-01 at 08:57 -0800, Khem Raj wrote:
> > > > On Mon, Feb 1, 2016 at 12:14 AM, Patrick Ohly <
> > > > patrick.ohly at intel.com> wrote:
> > > > > On Mon, 2016-01-25 at 11:39 -0800, Andre McCurdy wrote:
> > > > > > > +        if grep "CONFIG_INIT=y" ${B}/.config; then
> > > > > > > +                install -D -m 0777 ${WORKDIR}/rcS
> > > > > > ${D}${sysconfdir}/init.d/rcS
> > > > > > > +                install -D -m 0777 ${WORKDIR}/rcK
> > > > > > ${D}${sysconfdir}/init.d/rcK
> > > > > > > +                install -D -m 0755 ${WORKDIR}/runlevel
> > > > > > ${D}${base_sbindir}/runlevel
> > > > > > > +                if grep "CONFIG_FEATURE_USE_INITTAB=y"
> > > > > > ${B}/.config; then
> > > > > > > +                        install -D -m 0777
> > > > > > > ${WORKDIR}/inittab
> > > > > > ${D}${sysconfdir}/inittab
> > > > > > > +                        tmp="${SERIAL_CONSOLES}"
> > > > > > > +                        for i in $tmp
> > > > > > > +                        do
> > > > > > > +                                j=`echo ${i} | sed s/\;/\
> > > > > > > /g`
> > > > > > > +                                label=`echo ${i} | sed -e
> > > > > > > 's/tty//'
> > > > > > -e 's/^.*;//' -e 's/;.*//'`
> > > > > > > +                                echo "tty$label::respawn:
> > > > > > ${base_sbindir}/getty ${j}" >> ${D}${sysconfdir}/inittab
> > > > > > > +                        done
> > > > > > > +                fi
> > > > > > > +        fi
> > > > > 
> > > > > SERIAL_CONSOLES is typically set differently for different
> > > > > machines. But
> > > > > busybox is not machine-specific, therefore using SERIAL_CONSOLE
> > > > > like
> > > > > this prevents sstate/package reuse or worse, causes package
> > > > > versioning
> > > > > problems.
> > > > 
> > > > when busybox is used as init system then it becomes machine
> > > > specific and we have
> > > > a choice to do so which is disabled by default.
> > > 
> > > In my case, busybox is not the init system and the recipe is
> > > therefore
> > > not machine specific. But the code above is active and thus
> > > introduces a
> > > sstate dependency on the machine-specific SERIAL_CONSOLES anyway,
> > > even
> > > though the code is dead (if check never reaches it).
> > > 
> > > The code would have to be added conditionally, and only when it is
> > > okay
> > > to reference ${SERIAL_CONSOLES}.
> > 
> > I think we should split this init piece out into a separate recipe,
> > which busybox can depend on if/as/when needed.
> 
> What is the status of this request? Currently busybox is wreaking havoc in our 
> multi-machine builds due to SERIAL_CONSOLE reference...

2 years later this is still an issue...

-- 
Denys



More information about the Openembedded-core mailing list