From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 00/24 v2] system: properly handle systemd as init system (branch yem/systemd-skeleton)
Date: Sun, 17 Jul 2016 10:49:26 +0200 [thread overview]
Message-ID: <20160717084926.GB3614@free.fr> (raw)
In-Reply-To: <20160706223431.GG3763@free.fr>
Thomas, All,
On 2016-07-07 00:34 +0200, Yann E. MORIN spake thusly:
> On 2016-07-06 23:49 +0200, Thomas Petazzoni spake thusly:
> > On Wed, 22 Jun 2016 21:07:41 +0200, Yann E. MORIN wrote:
> > > package/skeleton: split into sysv and custom skeleton
> > > package/skeleton: make it a virtual package
> > > package/skeleton-sysv: split into skeleton-common
> > > system: split skeleton
> > > package/skeleton-systemd: new package
> > > system/systemd: needs timezone
> >
> > OK, so this is the first big thing that remains: splitting the skeleton
> > into multiple parts. If I summarize your solution, it consists in
> > splitting the skeleton in several parts:
[--SNIP--]
> > At the very least, I believe:
> >
> > - the skeleton-net thing should be moved into a ifupdown-config package
> >
> > - the skeleton-systemd should be simplified to not create directories
> > that already exist in skeleton-common
> >
> > - the /etc/resolv.conf file should be kept in the common skeleton
> >
> > Once this is done, I continue to wonder if this multiple skeleton
> > mechanism is really needed:
> >
> > - the skeleton-systemd package does essentially nothing, except
> > creating the fstab, which the systemd package could do.
> >
> > - the skeleton-sysv package also doesn't do much, and it could be done
> > in the existing initscripts package.
> >
> > Really, the only thing that bothers me is that "initscripts" isn't a
> > very good name for a package that also installs other things than init
> > scripts. Perhaps naming it "sysv-base" or something would be clearer.
> >
> > But maybe before taking a decision on this we simply need to see a
> > respin that does the first cleanups suggested above, so that we can
> > have a clearer vision of where things are going. The idea of skeleton
> > as a virtual package is also not bad, especially if we can get rid of
> > the weird skeleton-net situation, and really have
> > skeleton-{common,sysv,custom,} be real packages.
>
> I'm not going to do any change right now, to let the dust settle.
> Once others have commented one way or another, I'll do the requested
> changes.
Since no one commented, I'll go with Thomas' suggestion.
> > > fs: add pre- and post-command hooks
> > > system: make systemd work on a read-only rootfs
> > > system: allow DHCP interface with systemd-networkd
> >
> > This is the second big thing: allow a systemd rootfs to be read-only.
> > The crux of the problem is that when /var is read-only, systemd
> > automatically mounts a tmpfs on /var, which defeats our traditional
> > mechanism to handle read-only rootfs.
[--SNIP--]
> > I am a bit annoyed by the complexity of this, and the "black magic"
> > involved, but on the other hand, I don't really see a better solution.
Since there was no comment or counter-proposal, I'll keep this as-is, as
a follow-up to the above series.
> > Another thing that bothers me is that then the solution to handle the
> > read-only rootfs problem then becomes radically different between the
> > sysv case and the systemd case. Maybe this is expected since the init
> > systems are so different.
> >
> > But on the other hand, our existing mechanism to handle a read-only
> > rootfs in sysv land is not great: we create /var/log as a symlink
> > to /tmp, and /tmp is mounted as a tmpfs. This works fines if
> > applications just create files in /var/log. But if an application at
> > build time create a directory in /var/log, such as /var/log/daemond, it
> > might expect to find it at runtime, which will not be the case.
> > The /usr/share/factory solution solves this problem.
> >
> > So, should we move to this /usr/share/factory solution also for sysv
> > init ?
>
> I'm OK with that, except we'd have to provide that mechanism ourselves
> fot sysv init.
Sicne there was no comment for or against, I'll go to implementing the
factory stuff for both cases, sysv-init and systemd alike.
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. |
'------------------------------^-------^------------------^--------------------'
prev parent reply other threads:[~2016-07-17 8:49 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-22 19:07 [Buildroot] [PATCH 00/24 v2] system: properly handle systemd as init system (branch yem/systemd-skeleton) Yann E. MORIN
2016-06-22 19:07 ` [Buildroot] [PATCH 01/24 v2] package/skeleton: remove useless .empty file Yann E. MORIN
2016-07-04 7:28 ` Arnout Vandecappelle
2016-07-05 13:57 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 02/24 v2] system: sysvinit only selects busybox-show-others if busybox is enabled Yann E. MORIN
2016-07-03 7:53 ` Romain Naour
2016-07-04 16:49 ` Yann E. MORIN
2016-07-05 13:59 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 03/24 v2] package/skeleton: respect variables namespace Yann E. MORIN
2016-07-03 8:15 ` Romain Naour
2016-07-05 13:28 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 04/24 v2] system/skeleton: update etc/mtab with a more sensible link Yann E. MORIN
2016-07-03 8:28 ` Romain Naour
2016-07-04 7:27 ` Arnout Vandecappelle
2016-07-05 13:28 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 05/24 v2] system: systemd only really supports a R/W rootfs Yann E. MORIN
2016-07-03 8:31 ` Romain Naour
2016-07-05 13:29 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 06/24 v2] package/systemd: disabling tty1 getty is a post-install hook Yann E. MORIN
2016-07-03 8:37 ` Romain Naour
2016-07-04 17:13 ` Yann E. MORIN
2016-07-05 13:41 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 07/24 v2] system: provide no default for custom skeleton path Yann E. MORIN
2016-07-03 8:42 ` Romain Naour
2016-07-04 7:30 ` Arnout Vandecappelle
2016-07-04 17:21 ` Yann E. MORIN
2016-07-05 13:59 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 08/24 v2] system: move the rootfs skeleton choice Yann E. MORIN
2016-07-03 8:50 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 09/24 v2] system: do not handle network settings for custom skeleton Yann E. MORIN
2016-07-03 9:00 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 10/24 v2] package/perl: use dummy hostname Yann E. MORIN
2016-07-03 9:05 ` Romain Naour
2016-07-05 13:59 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 11/24 v2] system: do not set hostname and issue for custom skeleton Yann E. MORIN
2016-07-03 9:11 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 12/24 v2] core/pkg-generic: add variable to skip skeleton dependency Yann E. MORIN
2016-07-03 9:30 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 13/24 v2] package/skeleton: add macro to rsync skeleton directory Yann E. MORIN
2016-07-03 9:39 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 14/24 v2] core/pkg-generic: allow packages to declare target-finalize hooks Yann E. MORIN
2016-07-03 9:53 ` Romain Naour
2016-07-05 14:00 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 15/24 v2] packages: use the <PKG>_TARGET_FINALIZE_HOOKS Yann E. MORIN
2016-07-03 10:02 ` Romain Naour
2016-07-04 18:05 ` Yann E. MORIN
2016-07-05 14:01 ` Thomas Petazzoni
2016-06-22 19:07 ` [Buildroot] [PATCH 16/24 v2] package/skeleton: split into sysv and custom skeleton Yann E. MORIN
2016-07-03 10:27 ` Romain Naour
2016-07-05 7:26 ` Yann E. MORIN
2016-06-22 19:07 ` [Buildroot] [PATCH 17/24 v2] package/skeleton: make it a virtual package Yann E. MORIN
2016-07-03 10:47 ` Romain Naour
2016-07-05 7:45 ` Yann E. MORIN
2016-06-22 19:07 ` [Buildroot] [PATCH 18/24 v2] package/skeleton-sysv: split into skeleton-common Yann E. MORIN
2016-07-03 11:05 ` Romain Naour
2016-07-05 7:49 ` Yann E. MORIN
2016-06-22 19:07 ` [Buildroot] [PATCH 19/24 v2] system: split skeleton Yann E. MORIN
2016-07-03 11:22 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 20/24 v2] package/skeleton-systemd: new package Yann E. MORIN
2016-07-03 11:34 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 21/24 v2] system/systemd: needs timezone Yann E. MORIN
2016-07-03 11:41 ` Romain Naour
2016-07-05 8:03 ` Yann E. MORIN
2016-06-22 19:07 ` [Buildroot] [PATCH 22/24 v2] fs: add pre- and post-command hooks Yann E. MORIN
2016-07-03 11:49 ` Romain Naour
2016-06-22 19:07 ` [Buildroot] [PATCH 23/24 v2] system: make systemd work on a read-only rootfs Yann E. MORIN
2016-07-03 12:54 ` Romain Naour
2016-07-05 8:12 ` Yann E. MORIN
2016-06-22 19:07 ` [Buildroot] [PATCH 24/24 v2] system: allow DHCP interface with systemd-networkd Yann E. MORIN
2016-07-03 12:59 ` Romain Naour
2016-07-06 21:49 ` [Buildroot] [PATCH 00/24 v2] system: properly handle systemd as init system (branch yem/systemd-skeleton) Thomas Petazzoni
2016-07-06 22:34 ` Yann E. MORIN
2016-07-17 8:49 ` Yann E. MORIN [this message]
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=20160717084926.GB3614@free.fr \
--to=yann.morin.1998@free.fr \
--cc=buildroot@busybox.net \
/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