Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Feb 2019 19:18:52 +0100
From:      "D. Ebdrup" <debdrup@gmail.com>
To:        freebsd-hackers <freebsd-hackers@freebsd.org>
Subject:   Re: nosh init system
Message-ID:  <CANtgGBpo-_%2BB6k86ZLEh71O%2BJ3QyTeRzwLc1OV-F__vbjNAhvQ@mail.gmail.com>
In-Reply-To: <CF8D2DCD-F63A-4E79-9CBC-CD45D5D596DD@gmail.com>
References:  <c8sxY3L8OrRosQ0UdftF6FrqHGRs_uJal0l7YlID7b_xwVG05yeU8DGoS78wo5089zww5pDdvbM_gwCkXxCVjaPYiDS-kNJLxN7b9iGwfxk=@sidju.se> <CAG6CVpXy4q16QhG1ycFnVZ8cgEfb%2BpS8tmPJykv8Wa-GthginQ@mail.gmail.com> <alpine.BSF.2.20.1902091830490.45199@puchar.net> <CF8D2DCD-F63A-4E79-9CBC-CD45D5D596DD@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2/9/19, Enji Cooper <yaneurabeya@gmail.com> wrote:
> On Feb 9, 2019, at 09:32, Wojciech Puchar <wojtek@puchar.net> wrote:
>
>>> pid 2 and reap zombies.  We're missing a half-decent service
>>> management system.  On Linux, systemd performs both roles.  On
>>> FreeBSD, init(8) serves one role, and rc(8) is a tiny subset of a real
>>> service management system like systemd.
>>
>> systemd is overcomplex crap. And a reason many people migrated to FreeBS=
D
>> from linux.
>>
>>>
>>> (I think the piece we would consider replacing or supplementing would
>>> be rc(8).  Part of that might be migrating some responsibilities from
>>> pid 1 to pid 2, such as spawning gettys.  I don't hold strong opinions
>>> about that.)
>>
>> this make sense but with spawning gettys left to init.
>>
>>
>> what do you want to improve in rc? starting services in parallel doesn't
>> seem to be major problem to make i think.
>
> Starting and stopping services based on logical events and =E2=80=9Crun l=
evels=E2=80=9D,
> apart from what devd handles with hardware events is what comes to mind f=
or
> me.
>
> rc(8) is also incredibly fragile when it comes to starting or stopping
> services beyond first boot, or when dealing with =E2=80=9Coptional=E2=80=
=9D services, like
> nis/yp. I tried to clean this up a few years ago, but it=E2=80=99s not cl=
ose to my
> ideal design (it feels like  a bubblegum and duct tape solution).
>
> Cheers,
> -Enji
>
>> _______________________________________________
>> freebsd-hackers@freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
>> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.or=
g"
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org=
"
>
It seems to me that while there isn't that much to be gained from the
base system being parallel, trasz@ effort to get rcorder -p (which is
ready for review at [1]) is still something that can massively improve
startup when you're running a lot of jails that don't necessarily have
any or very little interdependence.

I've also heard talk of improving devd to make it react to a lot more
hardware events, which I think is a laudible goal if anyone uses
FreeBSD on a desktop or laptop as I do.

As I see it, FreeBSD already has the basis for something similar to
SMF or systemd - and while I'd prefer whatever FreeBSD gets to be
closer to SMF, I still think there are valuable lessons to be learned
from both systemd and launchd with regard to what's missing.

I also find it a little interesting that not a lot of people seem to
know about the 6th paragraph of init(8) [2]. Since I found out about
it, I've referred often enough to it that I can probably paraphrase it
pretty accurately: "The init utility can also be used to keep
arbitrary daemons running, automatically restarting them if they die."

Also, not to toot my own horn here, but in editing the latest batch of
status reports, I noticed that nosh has a section that people might
wanna read.

[1] https://reviews.freebsd.org/D3715
[2] https://man.freebsd.org/init(8)
--=20
Daniel Ebdrup aka. D. Ebdrup.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANtgGBpo-_%2BB6k86ZLEh71O%2BJ3QyTeRzwLc1OV-F__vbjNAhvQ>