[Buildroot] [PATCH v2 1/1] boot/systemd-boot: new package
James Hilliard
james.hilliard1 at gmail.com
Sat Dec 15 11:09:54 UTC 2018
On Sat, Dec 15, 2018 at 4:00 AM Yann E. MORIN <yann.morin.1998 at free.fr> wrote:
>
> 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). ;-)
Heh, was just making a point that it wasn't dependent on a systemd userspace.
>
> > > 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?
Mostly userland that needs to know the boot part, the boot part itself
doesn't really care what OS it is booting.
>
> 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.
I was trying to avoid having fully separate packages since that would
create a lot of maintenance overhead keeping both up to date as well.
Is there something wrong with having a fake boot package that
configures the appropriate options in the primary systemd package?
>
> 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