[Buildroot] [PATCH v2 1/1] boot/systemd-boot: new package

Yann E. MORIN yann.morin.1998 at free.fr
Sat Dec 15 11:00:35 UTC 2018


James, All,

On 2018-12-15 03:43 -0700, James Hilliard spake thusly:
> On Sat, Dec 15, 2018 at 3:27 AM Yann E. MORIN <yann.morin.1998 at free.fr> wrote:
> > On 2018-12-15 02:12 -0700, James Hilliard spake thusly:
[--SNIP--]
> > > I did it this way so that it's clear that systemd-boot can be built
> > > without a systemd init system.
> >
> > There, _that_ is the reason for all this complexity.
> >
> > So, let me suggest two alternative options that avoid all this mess:
> >
> >  1- make systemd-boot available only for systemd-based init,
> >
> >  2- just do a systemd-boot package (in boot/) that is a whole package on
> >     its own, and just happens to build just the systemd-boot part of
> >     systemd.
> >
> > I would very much favour the first option, because it is very simple, as
> > it just requires a *few* tweaks in the existing sytemd.mk, i.e.
> > basically:
> >
> >     ifeq ($()BR2_PACKAGES_SYSTEMD_BOOT,y)
> >     SYSTEMD_CONF_OPTS += \
> >         -Defi=true \
> >         -Dgnu-efi=true \
> >         -Dcc-efi=blabla \
> >         [...]
> >     else
> >     SYSTEMD_CONF_OPTS += -Defi=false -Dgnu-efi=false
> >     endif
> it would also need the SYSTEMD_INSTALL_IMAGES_CMDS part.

Yes, obviously my code snippet was there just as a seed for a proper,
complete change...

> > Also, I wonder if it ever makes sense to provide systemd-boot to
> > non-systemd init systems to begin with.
> I think it does,

Yes, Peter provided a good use-case, indeed.

> systemd-boot is even designed to boot operating
> systems without systemd, including windows.

Aha, you almost got me there, I almost thought you were serious (in the
Buildroot context, I mean). ;-)

> > Baring that, option 2 is pretty simple as well. It's a separate package
> > that just happens to share its source code with another one, like we
> > have with mesa3d and mesa3d-headers (just as an example).
> I tried that approach first in my v1 patch, I abandoned it since

Yet, I think we should really go that route.

> systemd-boot needed to be built at the same time as the userspace
> tools for systems that have a systemd init system for the integration
> to work properly.

OK, so we need to think it a bit, then. Is it the boot part that needs
the userland part, of the userland that needs the boot part, of they
both need to know each other?

One option I can think of quickly, is that we could have a systemd-boot
package that is only available when systemd is not enabled, and an option
in systemd to install the boot part when systemd is enabled.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list