e4449940 | 23-Feb-2017 |
David van Moolenbroek <david@minix3.org> |
No longer auto-start pkgsrc packages
In order to comply with the pkgsrc standards, pkgsrc packages are no longer auto-started. Instead, we require that users follow the common pkgsrc procedure: to
No longer auto-start pkgsrc packages
In order to comply with the pkgsrc standards, pkgsrc packages are no longer auto-started. Instead, we require that users follow the common pkgsrc procedure: to start a pkgsrc package as part of system startup, copy its startup script from /usr/pkg/etc/rc.d to /etc/rc.d, and make the appropriate changes to /etc/rc.conf.
This change affects in particular the openssh package, of which its ssh daemon is no longer auto-started. However, installing this package also no longer causes all kinds of Kerberos-related warnings to be reported at boot time now.
Also remove a leftover reference to the defunct ddekit usb package.
Change-Id: I4d42f6ca1ab5e3bc2ec296bc7c0e3056964ae451
show more ...
|
325ce30b | 13-Feb-2017 |
David van Moolenbroek <david@minix3.org> |
Initial import of NetBSD rc system
IMPORTANT: this change has a docs/UPDATING entry!
This patch performs an initial import of the infrastructure and a subset of the NetBSD set of rc startup and shu
Initial import of NetBSD rc system
IMPORTANT: this change has a docs/UPDATING entry!
This patch performs an initial import of the infrastructure and a subset of the NetBSD set of rc startup and shutdown scripts. The "initial" refers to the fact that this is not yet a full switch to the NetBSD rc system: the MINIX ramdisk rc script, which (typically) runs as the first thing, is kept as is. After mounting the root file system, the ramdisk rc script will start the NetBSD rc infrastructure by invoking /etc/rc, however. The regular MINIX startup-and-shutdown script has been moved from /etc/rc to /etc/rc.minix, and is now invoked as part of the NetBSD rc infrastructure through a bridge rc script /etc/rc.d/minixrc. /etc/rc.minix invokes /usr/etc/rc as before.
Switching over the ramdisk to the NetBSD system and decomposing the MINIX rc.minix script into smaller components are left to future work. Also, the current pkgsrc etc/rc.d auto-start functionality is left as is, even though it should be removed (see the etc/usr/rc comment).
Change-Id: Ia96cae7c426e94b85c67978dc1307dacc4b09fc5
show more ...
|
77e79d33 | 17-Feb-2017 |
David van Moolenbroek <david@minix3.org> |
etc: synchronize master.password, group to NetBSD
IMPORTANT: this change has a docs/UPDATING entry!
This change is a long overdue switch-over from the old MINIX set of user and group accounts to th
etc: synchronize master.password, group to NetBSD
IMPORTANT: this change has a docs/UPDATING entry!
This change is a long overdue switch-over from the old MINIX set of user and group accounts to the NetBSD set. This switch-over is increasingly important now that we are importing more and more utilities from NetBSD, several of which expect various user accounts to exist. By switching over in one go, we save ourselves various headaches in the long run, even if the switch-over itself is a bit painful for existing MINIX users.
The newly imported master.passwd and group files have three exceptions compared to their NetBSD originals:
1. There is a custom "service" account for MINIX 3 services. This account is used to limit run-time privileges of various system services, and is not used for any files on disk. Its user ID may be changed later, but should always correspond to whatever the SERVICE_UID definition is set to. 2. The user "bin" has its shell set to /bin/sh, instead of NetBSD's /sbin/nologin. The reason for this is that the test set in /usr/tests/minix-posix will not be able to run otherwise. 3. The group "operator" has been set to group ID 0, to match its old value. This tweak is purely for transitioning purposes: as of writing, pkgsrc packages are still using root:operator as owner and group for most installed files. Sometime later, we can change back "operator" to group ID 5 without breaking anything, because it does not appear that this group name is used for anything important.
Change-Id: I689bcfff4cf7ba85c27d1ae579057fa3f8019c68
show more ...
|
6f3e0bcd | 23-Apr-2016 |
David van Moolenbroek <david@minix3.org> |
MIB/libsys: support for remote MIB (RMIB) subtrees
Most of the nodes in the general sysctl tree will be managed directly by the MIB service, which obtains the necessary information as needed. Howeve
MIB/libsys: support for remote MIB (RMIB) subtrees
Most of the nodes in the general sysctl tree will be managed directly by the MIB service, which obtains the necessary information as needed. However, in certain cases, it makes more sense to let another service manage a part of the sysctl tree itself, in order to avoid replicating part of that other service in the MIB service. This patch adds the basic support for such delegation: remote services may now register their own subtrees within the full sysctl tree with the MIB service, which will then forward any sysctl(2) requests on such subtrees to the remote services.
The system works much like mounting a file system, but in addition to support for shadowing an existing node, the MIB service also supports creating temporary mount point nodes. Each have their own use cases. A remote "kern.ipc" would use the former, because even when such a subtree were not mounted, userland would still expect some of its children to exist and return default values. A remote "net.inet" would use the latter, as there is no reason to precreate nodes for all possible supported networking protocols in the MIB "net" subtree.
A standard remote MIB (RMIB) implementation is provided for services that wish to make use of this functionality. It is essentially a simplified and somewhat more lightweight version of the MIB service's internals, and works more or less the same from a programmer's point of view. The most important difference is the "rmib" prefix instead of the "mib" prefix. Documentation will hopefully follow later.
Overall, the RMIB functionality should not be used lightly, for several reasons. First, despite being more lightweight than the MIB service, the RMIB module still adds substantially to the code footprint of the containing service. Second, the RMIB protocol not only adds extra IPC for sysctl(2), but has also not been optimized for performance in other ways. Third, and most importantly, the RMIB implementation also several limitations. The main limitation is that remote MIB subtrees must be fully static. Not only may the user not create or destroy nodes, the service itself may not either, as this would clash with the simplified remote node versioning system and the cached subtree root node child counts. Other limitations exist, such as the fact that the root of a remote subtree may only be a node-type node, and a stricter limit on the highest node identifier of any child in this subtree root (currently 4095).
The current implementation was born out of necessity, and therefore it leaves several improvements to future work. Most importantly, support for exit and crash notification is missing, primarily in the MIB service. This means that remote subtrees may not be cleaned up immediately, but instead only when the MIB service attempts to talk to the dead remote service. In addition, if the MIB service itself crashes, re-registration of remote subtrees is currently left up to the individual RMIB users. Finally, the MIB service uses synchronous (sendrec-based) calls to the remote services, which while convenient may cause cascading service hangs. The underlying protocol is ready for conversion to an asynchronous implementation already, though.
A new test set, testrmib.sh, tests the basic RMIB functionality. To this end it uses a test service, rmibtest, and also reuses part of the existing test87 MIB service test.
Change-Id: I3378fe04f2e090ab231705bde7e13d6289a9183e
show more ...
|
2d6bbeb0 | 16-Sep-2015 |
Jean-Baptiste Boric <jblbeurope@gmail.com> |
Split minix distribution set
The minix set is now divided into minix-base, minix-comp, minix-games, minix-kernel, minix-man and minix-tests.
This allows massive space savings on the installlation C
Split minix distribution set
The minix set is now divided into minix-base, minix-comp, minix-games, minix-kernel, minix-man and minix-tests.
This allows massive space savings on the installlation CD because only the base system used for installation is stored uncompressed. Also, it makes the system more modular.
Change-Id: Ic8d168b4c3112204013170f07245aef98aaa51e7
show more ...
|