Date: Wed, 19 Dec 2018 22:57:23 +0800 From: Martin Wilke <miwi@FreeBSD.org> To: Warner Losh <imp@bsdimp.com> Cc: "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>, Joe Maloney <jmaloney@ixsystems.com>, Marcelo Araujo <araujo@freebsd.org>, ken@ixsystems.com, Kris Moore <kmoore@freebsd.org>, Warren Block <wblock@freebsd.org> Subject: Re: OpenRC on FreeBSD Message-ID: <7BBA9943-7CA1-4349-9B48-1641BA11FCA3@FreeBSD.org> In-Reply-To: <CANCZdfp%2BQXngCRqevXT%2BDKgQj1S276PdpvqyZpiuOC%2BvMAP24A@mail.gmail.com> References: <397FBAFF-2575-4AE4-B2BC-2DFDA769040A@FreeBSD.org> <CANCZdfp%2BQXngCRqevXT%2BDKgQj1S276PdpvqyZpiuOC%2BvMAP24A@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, The missing bit was actually the flag for switching the rc=E2=80=99s = which have been resolved.=20 - Martin > On 19 Dec 2018, at 10:51 PM, Warner Losh <imp@bsdimp.com> wrote: >=20 >=20 >=20 > On Wed, Dec 19, 2018 at 7:39 AM Martin Wilke <miwi@freebsd.org = <mailto:miwi@freebsd.org>> wrote: > Hi >=20 > I'd like to reopen the discussion for OpenRC on FreeBSD. Basically = this is the second attempt to get it into FreeBSD. >=20 > I've opened a review here with a working patch for CURRENT, > https://reviews.freebsd.org/D18578 = <https://reviews.freebsd.org/D18578> >=20 >=20 > To recap the discussion > * First attempt of RFC in March of 2018: = https://lists.freebsd.org/pipermail/freebsd-hackers/2018-March/052358.html= = <https://lists.freebsd.org/pipermail/freebsd-hackers/2018-March/052358.htm= l> > * Working group at BSDCan: = https://wiki.freebsd.org/DevSummit/201806/OpenRC = <https://wiki.freebsd.org/DevSummit/201806/OpenRC> >=20 > Here some key points: >=20 > OpenRC provides additional features for service management without = requiring kernel changes or replacing pid 1, unlike launchd and other = solutions. All rc.d scripts have been converted with a few changes, = typically changing the shebang and making sure the start function is = named start(). Most service scripts are simplified, usually needing only = name, command, and, if required, depends statements. >=20 > History: > OpenRC started out as an init system by Roy Marples, developed for the = Gentoo Alt (FreeBSD) kernel branch. It was more widely adopted into = Gentoo as baselayout v2, and was then split off as a separate = BSD-licensed project. It is under active development, portable, and = remains BSD licensed today. >=20 > OpenRC and RC: > Both can coexist and be chosen with a setting in /boot/loader.conf. >=20 > OpenRC Features: >=20 > Service supervision and service monitoring: any service can be = supervised. Supervised services that crash are automatically restarted. = The rc-status command shows how many times a service has restarted. >=20 > Device hotplug support and event-driven service management: the = hotplug feature allows devd to take actions when devices are connected. = For example, a USB wifi adapter can create additional network services = when attached. The net-online service can, for example, detect when a = network connection is restored, and restart ntp. >=20 > Network profiles: using stacked runlevels, different profiles can be = established for different networking settings. For instance, different = profiles can be used for wired or wireless networking, or for differing = wireless networks, as well as dependency caching and parallel startup = speed up booting. >=20 > Interactive mode: > The boot process can be run interactively for more effective = debugging. >=20 > OpenRC uses the term =E2=80=9Crunlevels=E2=80=9D to refer to the = context in which a script is running. There are only three at present: > sysinit (the OpenRC system is starting), boot (start base services = when the computer is booting), and default (normal execution). >=20 > OpenRC, by default, provides a =E2=80=9Ccolorized=E2=80=9D text boot, = using ANSI color sequences. This can be disabled. >=20 > Ports: > As of July 2017, iXsystems has created OpenRC versions of port service = scripts for the entire ports tree. These scripts coexist with the rc.d = versions. >=20 > License: > OpenRC is a BSD licensed RC init system written in C. =46rom a user = perspective, it is very similar to the FreeBSD rc.d init system, making = it easy to use and learn. >=20 > Tested: OpenRC has been used as the init system for TrueOS since = October 2016. >=20 > Ken Moore has an OpenRC vs RC.d comparison which can be found here: > http://www.wonkity.com/~wblock/openrc/OpenRC_rc.d.pdf = <http://www.wonkity.com/~wblock/openrc/OpenRC_rc.d.pdf> = <http://www.wonkity.com/~wblock/openrc/OpenRC_rc.d.pdf = <http://www.wonkity.com/~wblock/openrc/OpenRC_rc.d.pdf>> > I look forward to discuss the features and capabilities of OpenRC. >=20 > This is cool technology. >=20 > However, what was missing last time was a written plan that could be = critiqued for fit with the project's needs. The result of the working = group was that this was to be produced, and we'd iterate through it to = ease the landing of openrc in the tree. I think there's wide agreement = this is cool, and that we'd like tot have both it and rc.d in the tree = for a transition period. Absent a plan, though, it's not really possible = to say 'go do it' or 'that's insane'. >=20 > So maybe start there? >=20 > Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7BBA9943-7CA1-4349-9B48-1641BA11FCA3>