Add nosh entry from Jonathan de Boyne Pollard

This commit is contained in:
Benjamin Kaduk 2016-01-19 00:55:39 +00:00
parent fdcfd42f0e
commit f3e4c83b32
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48062

View file

@ -4109,4 +4109,120 @@
</task>
</help>
</project>
<project cat="proj">
<title>The nosh Project</title>
<contact>
<person>
<name>
<given>Jonathan</given>
<common>de Boyne Pollard</common>
</name>
<email>J.deBoynePollard-newsgroups@NTLWorld.COM</email>
</person>
</contact>
<links>
<url href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh.html">Introduction</url>
<url href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/FreeBSD-binary-packages.html">&os; binary packages</url>
<url href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/timorous-admin-installation-how-to.html">Installation How-To</url>
<url href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/roadmap.html">Roadmap</url>
<url href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/commands.html">Commands</url>
<url href="http://homepage.ntlworld.com./jonathan.deboynepollard/Softwares/nosh/guide/index.html">A Slightly Outdated User Guide</url>
<url href="https://www.mail-archive.com/supervision@list.skarnet.org/">The Supervision Mailing List</url>
</links>
<body>
<p>The nosh project is a suite of system-level utilities for
initializing, running, and shutting down BSD systems, and for
managing daemons, terminals, and logging. It supersedes BSD
<tt>init</tt> and the NetBSD <tt>rc.d</tt> system, drawing
inspiration from Solaris SMF for named milestones,
daemontools-encore for service control/status mechanisms,
UCSPI, and IBM AIX for separated service and system
management. It comprises a range of compatibility mechanisms,
including shims for familiar commands from other systems, and
an automatic import mechanism that takes existing
configuration data from <tt>/etc/fstab</tt>,
<tt>/etc/rc.conf{,.local}</tt>, <tt>/etc/ttys</tt>, and
elsewhere, applying them to its native service definitions and
creating additional native services. It is portable
(including to Linux) and composable, it provides a migration
path from the world of systemd Linux, and it does not require new
kernel APIs. It provides clean service environments,
orderings and dependencies between services, parallelized
startup and shutdown (including <tt>fsck</tt>), strictly
size-capped and autorotated logging, the service manager as a
&quot;subreaper&quot;, and uses <tt>kevent(2)</tt> for
event-driven parallelism.</p>
<p>Since the last status report, in October 2015, the project
has seen: the complete replacement of its event-handling subsystem
on Linux; the introduction of tools for exporting cyclog/multilog
logs via RFC 5426 to remote log handlers (such as logstash); and
the switching of the user-mode virtual terminal subsystem on BSD
to using USB devices directly, a more powerful device interface
than sysmouse et al. because it permits directly positioning touch
devices for mice and other things (thus permitting &quot;mouse
integration&quot; under VirtualBox for those who run PC-BSD/&os;
on VirtualBox virtual machines), but sysmouse et al. can still be
used if desired.</p>
<p>In version 1.24, released shortly before publication of
this report, there are extensive additions for supporting a
purely-ZFS system with an empty <tt>/etc/fstab</tt> (as the PC-BSD
10.2 system installer creates), and the ability to convert
<tt>systemd</tt> unit files' process priority settings to BSD's
rtprio/idprio. </p>
<p>Version 1.24 also sees a large chunk taken out of the
remainder of the on-going project to create enough native service
bundles and ancillary utilities to entirely supplant the rc.d
system. The progress of this project has been open from the
start, and can be followed on the nosh roadmap web page. As of
version 1.24, there are a mere 27 items remaining out of the
original target list of 157, with a 28th and a 29th (from PC-BSD
10.2) added. Items crossed off by version 1.24 include (amongst
others) <tt>mfs</tt> support for <tt>/tmp</tt>, static ARP and
networking, persistent &quot;entropy&quot; for the randomness
subsystem, <tt>pefs</tt>, and <tt>hald</tt>.</p>
<p>The remaining items in the task list are mostly aimed at
making the overall system integration cleaner and friendlier to
modern systems. We're also interested in receiving suggestions,
bug reports, and other feedback from users; try following the
how-to guide and see how things go!</p>
</body>
<help>
<task>
<p>Add kernel support for passing a <tt>-b</tt> option to
pid 1, and support for a <tt>boot_bare</tt> variable in the loader,
to allow &quot;emergency&quot; (where even no shell dotfiles
are loaded) and &quot;rescue&quot; mode bootstraps, akin to
Linux. (History: The <tt>-b</tt> mechanism and idea date
back to version 2.57d of Miquel van Smoorenburg's System 5
init clone, dated 1995-12-03, and was already known as
"emergency boot" by 1997.)</p>
</task>
<task>
<p>Add support to &os;'s <tt>fsck(8)</tt> for outputting
machine-readable progress reports to a designated file
descriptor, so that <tt>nosh</tt> can provide progress bars
for multiple <tt>fsck</tt>s running in parallel.
<tt>nosh</tt> already provides this functionality on Linux,
where <tt>fsck(8)</tt> does provide machine-readable
output.</p>
</task>
<task>
<p>Identify when the configuration import system needs to be
triggered, such as when <tt>bsdconfig</tt> alters
configuration files, and create the necessary hooks to
import external configuration changes into nosh.</p>
</task>
</help>
</project>
</report>