public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Robert David <robert.david.public@gmail.com>
To: gentoo-dev@lists.gentoo.org
Cc: mgorny@gentoo.org, lu_zero@gentoo.org
Subject: Re: [gentoo-dev] eselect init
Date: Sun, 26 May 2013 10:58:23 +0200	[thread overview]
Message-ID: <20130526105823.4d191bc7@gmail.com> (raw)
In-Reply-To: <20130526084332.1a8afa69@gentoo.org>

On Sun, 26 May 2013 08:43:32 +0200
Michał Górny <mgorny@gentoo.org> wrote:

> On Sat, 25 May 2013 11:54:48 +0200
> Luca Barbato <lu_zero@gentoo.org> wrote:
> 
> > - /sbin/init (or whatever linux currently calls by default with top
> > priority) should be either a symlink to the actual implementation
> > or a wrapper such as our gcc one. I like better the latter since it
> > is overall safer. The former might or might work since linux has
> > some fallback capabilities but hadn't been tested.
> 
> Increased complexity is never safer. And a wrapper means the
> additional complexity gets there every boot. And considering how the
> discussion goes, the wrapper will grow openrc-size in a few months...
> 
> Symlinks are simple. They're filesystem feature, they're handled
> by kernel. The worst thing that could happen is symlink target
> disappearing -- but then it's:
> 
> a) our responsibility to make sure to call eselect-init (if applies)
> when uninstalling an init system,
> 
> b) something that would fail anyway if user did that by hand.
> 
> Linux fallback mechanism is *good enough*. You may think that fallback
> to sysvinit is good but it's not. *If* I have my system set up to boot
> X, at some point the config for Y will get seriously outdated.
> 
> I use systemd for a few months now, and last time I checked openrc
> boots somehow. But considering the general complexity of it, I
> wouldn't be much surprised if it failed in funny ways (like not being
> able to handle automounts properly), caused cruft on the filesystem
> or even caused *damage*.
> 
> And since you've been failing long at keeping init.d scripts simple
> and reasonable, the damage potential is not something purely
> theoretical.
> 
> That said, switching /sbin/init is the reasonable way. If it fails,
> Linux runs /bin/sh. EOT. You broke, you fix, any way you like. Without
> unexpectedly switching init system to something else just because it
> was around.

I agree with this. But changing symlinks is not as easy on running
system (since it can cause inconsistence during rebooot). I think that
safest way not using wrapper is to stop all services and keep only
mounted /, than change things (symlinks,configuration update) and
reboot. 

Thus this "eselect init" will let the user confirm and then trigger
reboot. I do not think that users will change init all the time, thus
make it better safe and more complex in this change is better than
check and wrap in all the boots.

Otherwise interesting is preinit handler in OpenWrt:
http://wiki.openwrt.org/doc/techref/process.boot
http://wiki.openwrt.org/doc/howto/notuci.config#etcpreinit
http://wiki.openwrt.org/doc/techref/preinit_mount

Robert.

> 
> > - init gets effectively switched only at boot/reboot, eselect init
> > must keep track of the current active init and make sure the
> > current init configuration is used till the system reboots, if we
> > use the wrapper approach, it would pick up what's the new init at
> > boot and that would be enough for simple cases, hooks on reboot are
> > still needed for more complex ones.
> 
> Pointless and overcomplex. If an init system actually fails to work
> when /sbin/init doesn't point to it, it is seriously broken by design.
> And because of that breakage, we keep stuff like 'telinit' or 'reboot'
> intact, and because of it systemd has 'pass-through' mode when linked
> to /sbin/init.
> 
> > - we could try to not have the changes to the current init systems
> > ebuild or reduce them to the bare minimum (e.g. not
> > overwrite /sbin/init)
> 
> Which means the kernel fallback will be dangerously active
> as I explained before. Just don't do it.
> 
> > # FOCUS
> > 
> > My interest is mostly if not all on bb-init-openrc and slightly on
> > runit-openrc.
> > 
> > There are enough people involved in systemd and since I still
> > consider it a dangerously frail implementation of a bad idea is
> > better if I do not touch it at all.
> 
> You've been able to keep this thread on topic very long. Good job!
> 



  reply	other threads:[~2013-05-26  8:59 UTC|newest]

Thread overview: 139+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-25  9:54 [gentoo-dev] eselect init Luca Barbato
2013-05-25 10:25 ` Peter Stuge
2013-05-25 11:57   ` Tom Wijsman
2013-05-26  1:52     ` Walter Dnes
2013-05-26  8:50       ` Tom Wijsman
2013-05-26  2:02     ` Peter Stuge
2013-05-26  8:56       ` Tom Wijsman
2013-05-25 19:08   ` Matthew Thode
2013-05-26 14:13     ` Ian Stakenvicius
2013-05-26 23:54       ` Luca Barbato
2013-05-25 11:13 ` Pacho Ramos
2013-05-25 12:03   ` Tom Wijsman
2013-05-25 12:25     ` Pacho Ramos
2013-05-25 15:42   ` Luca Barbato
2013-05-25 11:29 ` Sergei Trofimovich
2013-05-25 12:12   ` Tom Wijsman
2013-05-25 13:15   ` Luca Barbato
2013-05-25 17:35     ` Sergei Trofimovich
2013-05-25 19:49   ` Chí-Thanh Christopher Nguyễn
2013-05-25 12:13 ` hasufell
2013-05-25 15:51   ` Luca Barbato
2013-05-25 13:38 ` Tom Wijsman
2013-05-25 19:09   ` J. Roeleveld
2013-05-25 19:55     ` Tom Wijsman
2013-05-25 20:07       ` Alex Xu
2013-05-25 20:59         ` Tom Wijsman
2013-05-26 12:59       ` J. Roeleveld
2013-05-26 13:58         ` Tom Wijsman
2013-05-26 14:54         ` Ian Stakenvicius
2013-05-26 13:15       ` Michał Górny
2013-05-26 14:07         ` Tom Wijsman
2013-05-26 14:44           ` Rich Freeman
2013-05-26  6:43 ` Michał Górny
2013-05-26  8:58   ` Robert David [this message]
2013-05-26  9:20     ` Michał Górny
2013-05-26  9:32       ` Robert David
2013-05-26  9:45       ` Tom Wijsman
2013-05-26 10:09         ` Michał Górny
2013-05-26 11:45           ` Tom Wijsman
2013-05-26 12:01             ` Michał Górny
2013-05-26  9:21     ` Tom Wijsman
2013-05-26 10:01       ` Robert David
2013-05-26 10:11         ` Rich Freeman
2013-05-26 10:18           ` Chí-Thanh Christopher Nguyễn
2013-05-26 11:28           ` hasufell
2013-05-26 12:10         ` Tom Wijsman
2013-05-26  9:55   ` Luca Barbato
2013-05-26 10:39     ` Tom Wijsman
2013-05-26 10:57     ` Michał Górny
2013-05-26 11:40       ` Luca Barbato
2013-05-26 12:08         ` Michał Górny
2013-05-26 12:24           ` Luca Barbato
2013-05-26 14:58         ` Ian Stakenvicius
2013-05-27 10:36           ` [gentoo-dev] Switchup-mode and boottime selector? Was: " Duncan
2013-05-27 20:26             ` Alex Xu
2013-05-27 22:40             ` Walter Dnes
2013-05-28  9:56               ` [gentoo-dev] " Duncan
2013-05-28 11:56                 ` Tom Wijsman
2013-05-29  0:36                   ` Duncan
2013-05-29  8:52                     ` Tom Wijsman
2013-05-29 18:15                       ` Walter Dnes
2013-05-29 19:56                         ` Tom Wijsman
2013-05-29 20:55                           ` William Hubbs
2013-05-30  0:06                             ` Tom Wijsman
2013-05-30  0:22                               ` William Hubbs
2013-05-30  1:36                                 ` Duncan
2013-05-30  6:35                                 ` Tom Wijsman
2013-05-30 20:41                                   ` William Hubbs
2013-05-30  6:46                                 ` Ciaran McCreesh
2013-05-30 13:54                                   ` Ian Stakenvicius
2013-05-31  6:21                                     ` Ciaran McCreesh
2013-05-30  6:30                             ` Luca Barbato
2013-06-22 19:35                             ` Markos Chandras
2013-05-30  2:52                           ` Walter Dnes
2013-05-30  6:19                             ` Tom Wijsman
2013-05-30  6:36                               ` Dale
2013-05-30  6:31                             ` Ciaran McCreesh
2013-05-28  3:55           ` [gentoo-dev] " Luca Barbato
2013-05-28  4:19             ` Michał Górny
2013-05-28  4:43               ` Luca Barbato
2013-05-28 12:15                 ` Ian Stakenvicius
2013-05-28 12:15                 ` Ian Stakenvicius
2013-05-26 11:58       ` Tom Wijsman
2013-05-26 14:52         ` Luca Barbato
2013-05-26 15:39           ` Tom Wijsman
2013-05-26 16:41     ` William Hubbs
2013-05-26 16:48       ` William Hubbs
2013-05-26 16:55         ` Michał Górny
2013-05-26 22:58           ` William Hubbs
2013-05-26 23:47             ` Luca Barbato
2013-05-27 23:45               ` [gentoo-dev] Separate boot/root already [WAS: eselect init] Walter Dnes
2013-05-28 15:07                 ` Luca Barbato
2013-06-01  9:23 ` [gentoo-dev] Re: eselect init Steven J. Long
2013-06-01 11:43   ` Steven J. Long
2013-06-02  9:15   ` Luca Barbato
2013-06-02 18:20     ` [gentoo-dev] " Steven J. Long
2013-06-02 18:48       ` Fabio Erculiani
2013-06-08 13:37         ` [gentoo-dev] " Steven J. Long
2013-06-02 22:35       ` [gentoo-dev] " Luca Barbato
2013-06-03  0:37         ` Walter Dnes
2013-06-03  0:57           ` Rich Freeman
2013-06-03  7:03           ` Tom Wijsman
2013-06-03  9:42           ` Luca Barbato
2013-06-03  6:19         ` [gentoo-dev] " Duncan
2013-06-03  6:26         ` [gentoo-dev] " Pacho Ramos
2013-06-04 18:55         ` William Hubbs
2013-06-04 19:09           ` Rich Freeman
2013-06-08 13:28         ` [gentoo-dev] " Steven J. Long
2013-06-20 10:16 ` [gentoo-dev] " Fabio Erculiani
2013-06-20 17:10   ` [gentoo-dev] " Steven J. Long
2013-06-20 20:48     ` William Hubbs
2013-06-25  4:53       ` [gentoo-dev] " Steven J. Long
2013-06-20 20:56   ` [gentoo-dev] " William Hubbs
2013-06-21  2:39     ` Michał Górny
2013-06-21  4:16       ` William Hubbs
2013-06-21 10:23         ` Michał Górny
2013-06-21 15:16           ` William Hubbs
2013-06-21 15:23             ` Fabio Erculiani
2013-06-21 16:42               ` William Hubbs
2013-06-22 11:23                 ` Jason A. Donenfeld
2013-06-22 11:57                   ` hasufell
2013-06-21 19:34               ` Luca Barbato
2013-06-22  1:27                 ` Ulrich Mueller
2013-06-22  1:48                   ` Michael Weber
2013-06-21 15:29             ` Michał Górny
2013-06-21 16:13               ` Markos Chandras
2013-06-21 16:50                 ` William Hubbs
2013-06-21 19:36                   ` Luca Barbato
2013-06-21 10:30       ` Michael Weber
2013-06-21 11:19         ` Fabio Erculiani
2013-06-21 11:26           ` Pacho Ramos
2013-06-21 11:50             ` Luca Barbato
2013-06-21 14:36               ` William Hubbs
2013-06-21 15:48                 ` Pacho Ramos
2013-06-22  6:59                   ` [gentoo-dev] " Duncan
2013-06-22 10:07                     ` Pacho Ramos
2013-06-22 11:13                       ` Michael Weber
2013-06-22 11:26                         ` Rich Freeman
2013-06-22 17:05                       ` Luca Barbato

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=20130526105823.4d191bc7@gmail.com \
    --to=robert.david.public@gmail.com \
    --cc=gentoo-dev@lists.gentoo.org \
    --cc=lu_zero@gentoo.org \
    --cc=mgorny@gentoo.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox