1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-25 23:21:33 +03:00
Commit Graph

573 Commits

Author SHA1 Message Date
Kay Sievers
26cbf29c52 delete plymouth units; moved to plymouth 2012-06-07 19:27:17 +02:00
Michal Schmidt
ed061a8dc2 units: add systemd-debug-shell.service
If enabled, the service provides a root shell from an early boot. It also
remains active late into shutdown. It is useful for debugging startup and
shutdown problems.

This is the unit referenced in
http://freedesktop.org/wiki/Software/systemd/Debugging#early_debug_shell
2012-06-07 16:33:45 +02:00
Kay Sievers
a2368a3f37 udev: systemd-udev-settle.service fix After=
https://bugs.freedesktop.org/show_bug.cgi?id=50779
2012-06-06 14:30:16 +02:00
Michal Schmidt
3305d6806d units: avoid redundant VT clearing by agetty
TTYVTDisallocate=yes already clears the VT. agetty does not need to do
it again. Run it with --noclear.

Felix Miata found the double clearing confusing in this bugreport:
https://bugzilla.redhat.com/show_bug.cgi?id=828007
Add a comment explaining what clears the VT.
2012-06-06 11:33:18 +02:00
Lennart Poettering
63cb20a28b units: fix man section 2012-06-01 17:27:16 +02:00
Lennart Poettering
01cf0ca850 man: document systemd-journal 2012-06-01 17:27:15 +02:00
Lennart Poettering
af3bccd6d8 man: write man page for systemd-logind 2012-06-01 17:27:15 +02:00
Lennart Poettering
9393a8774c man: add documentation for the binfmt, modules-load, sysctl services 2012-05-31 16:00:34 +02:00
Lennart Poettering
88f8ffbd63 units: add Documentation= field to console-getty.service 2012-05-31 14:51:17 +02:00
Kay Sievers
b5d22f5ebe plymouth: use systemd-udev-settle.service 2012-05-29 22:32:41 +02:00
Kay Sievers
3e920c7164 udev: man - mention systemd-udevd(8) 2012-05-29 00:54:40 +02:00
Lennart Poettering
659635ab22 units: fix file syntax 2012-05-23 12:49:49 +02:00
Lennart Poettering
8d59c9b490 readahead: use Conflicts= instead of masking to get rid of readahead units 2012-05-23 04:02:56 +02:00
Lennart Poettering
08231e5142 readahead: avoid running of readahead services if readahead is already done 2012-05-23 03:51:25 +02:00
Lennart Poettering
1897573598 readahead: when doing a system update drop readahead file 2012-05-23 03:50:15 +02:00
Lennart Poettering
d360705f0f system-update: add system update generator
http://freedesktop.org/wiki/Software/systemd/SystemUpdates
2012-05-22 19:48:51 +02:00
Lennart Poettering
49e7f02774 rescue: don't pull in sockets
In rescue mode let's not establish all sockets, so that we don't end up
starting a lot of additional services automatically.

Instead of pulling in basic.target we now only pull in sysinit.target
which pulls in local-fs.target and swap.target. That way rescue mode has
all the really basic setup around, but normal services are not started
and not autostarted either.
2012-05-22 16:12:25 +02:00
Lennart Poettering
49dbfa7b2b units: introduce new Documentation= field and make use of it everywhere
This should help making the boot process a bit easier to explore and
understand for the administrator. The simple idea is that "systemctl
status" now shows a link to documentation alongside the other status and
decriptionary information of a service.

This patch adds the necessary fields to all our shipped units if we have
proper documentation for them.
2012-05-21 15:14:51 +02:00
Michal Schmidt
7c99edf85b units: do not quit plymouth too early 2012-05-14 14:29:53 +02:00
Lennart Poettering
6edd7d0a09 sleep: implement suspend/hibernate as first class targets 2012-05-08 13:54:23 +02:00
Lennart Poettering
4019a16d5b units: use OOMScoreAdjust= in the unit files to set OOM score adjust 2012-05-04 00:15:21 +02:00
Lennart Poettering
c374339916 units: explicit Type=dbus is now redundant 2012-05-03 14:48:35 +02:00
Lennart Poettering
86fff24864 units: make sure /var is writable before initializing random seed 2012-04-30 10:56:46 +02:00
Lennart Poettering
7c8fa05c4d unit: add new dependency type RequiresMountsFor=
RequiresMountsFor= is a shortcut for adding requires and after
dependencies to all mount units neeed for the specified paths.

This solves a couple of issues regarding dep loop cycles for encrypted
swap.
2012-04-30 10:52:07 +02:00
Lennart Poettering
e2875c4693 timedated: introduce systemd-timedated-ntp.target which is controlled by timedated's NTP setting
We shouldn't hardcode the name of the NTP implementation in the
timedated mechanism, especially since Fedora currently switched from NTP
to chrony.

This patch introduces a new target that is enabled/disabled instead of
the actual NTP implementation. The various NTP implementations should
then add .wants/ symlinks to their services and BindTo back to the
target, so that their implementations are started/stopped jointly with
the target.

https://bugzilla.redhat.com/show_bug.cgi?id=815748
2012-04-25 16:49:02 +02:00
Lennart Poettering
2b93b027d3 remount: consolidate remount-api-vfs and remount-rootfs into one
This has the advantage of removing a confusing warning by mount if the
root directory is not listed in fstab.
2012-04-24 16:42:42 +02:00
Lennart Poettering
f2b6878955 service: introduce Type=idle and use it for gettys
Type=idle is much like Type=simple, however between the fork() and the
exec() in the child we wait until PID 1 informs us that no jobs are
left.

This is mostly a cosmetic fix to make gettys appear only after all boot
output is finished and complete.

Note that this does not impact the normal job logic as we do not delay
the completion of any jobs. We just delay the invocation of the actual
binary, and only for services that otherwise would be of Type=simple.
2012-04-24 14:42:24 +02:00
Lennart Poettering
3b2d5b02ae readahead: rather than checking for virtualization in the C code, use ConditionVirtualization= in the unit 2012-04-24 13:14:40 +02:00
Lennart Poettering
e3f7277c6e units: remount file systems only if /etc/fstab actually exists 2012-04-22 15:35:35 +02:00
Lennart Poettering
5cd6eef69b units: don't try to load kernel modules if CAP_SYS_MODULE is missing 2012-04-22 14:11:32 +02:00
Lennart Poettering
2c8049f3d3 units: skip root fsck if the root directory is writable 2012-04-22 14:11:32 +02:00
Lennart Poettering
acda6a054f default to v102 everywhere, instead of vt100, to synchronize with agetty 2012-04-22 02:45:39 +02:00
Lennart Poettering
337eebb936 container: spawn a getty instead of a sulogin in a container 2012-04-22 02:41:18 +02:00
Kay Sievers
180bd81280 udev: units - reference systemd-* units 2012-04-18 16:29:43 +02:00
Kay Sievers
f13b388f97 udev: install udevd as /usr/lib/systemd/systemd-udevd 2012-04-17 00:18:30 +02:00
Lennart Poettering
186b97d99f units: drop audit reference from description of utmp units since that is build-time optional 2012-04-13 19:46:51 +02:00
Lennart Poettering
fb316903b8 units: add CAP_MKNOD condition to the other two udev services too 2012-04-13 19:46:51 +02:00
Lennart Poettering
41807efb15 units: do binfmt magic only when /proc/sys is writable 2012-04-13 18:52:53 +02:00
Lennart Poettering
8ef58b3efc getty: skip VC gettys if the VC subsystem is not available 2012-04-12 17:31:26 +02:00
Lennart Poettering
88e995fd72 getty: VC devices are always available, we don't need to wait until they show up 2012-04-12 17:29:42 +02:00
Lennart Poettering
1d7f3f5cc8 units: start vconsole-setup only if there's actually a virtual console device 2012-04-12 12:58:19 +02:00
Lennart Poettering
f2a46f8da5 units: run sysctl stuff only when /proc/sys is actually writable, to quieten container boots a little 2012-04-12 12:58:19 +02:00
Lennart Poettering
5430f7f2bc relicense to LGPLv2.1 (with exceptions)
We finally got the OK from all contributors with non-trivial commits to
relicense systemd from GPL2+ to LGPL2.1+.

Some udev bits continue to be GPL2+ for now, but we are looking into
relicensing them too, to allow free copy/paste of all code within
systemd.

The bits that used to be MIT continue to be MIT.

The big benefit of the relicensing is that closed source code may now
link against libsystemd-login.so and friends.
2012-04-12 00:24:39 +02:00
Lennart Poettering
4771148bb9 units: exclude gettys from isolate requests
gettys are nowadays mostly autospawned and hence usually subject to
being shut down on isolate requests, since they are no dependency of any
other unit. This is a bad idea if the user isolates between
multi-user.graphical and graphical.target, hence exclude them from the
isolation.

This has the effect that gettys no longer cleaned up when
emergency.target is isolated, which might actualy be considered a
feature, even though it is a change from previous behaviour...

Note that the one getty that really matters (the one on tty1) is still
removed when isolating to emergency.target since it conflicts with
emergency.service.
2012-04-11 22:37:48 +02:00
Kay Sievers
635f7d8ca7 enable proper access timestamps on all tmpfs mounts 2012-04-11 22:18:55 +02:00
Lennart Poettering
082694b75f units: introduce nss-user-lookup.target
This separates user/group NSS lookups from host/network NSS lookups.

By default order all network mounts after host/network NSS lookups now,
and logind execution after user/group NSS lookups.
2012-04-11 00:11:18 +02:00
Lennart Poettering
704179d839 units: direct users to the journal for logs when entering rescue mode 2012-04-04 13:52:02 +02:00
Dave Reisner
9cf2578683 units/: use @SYSTEMCTL@ instead of hardcoded paths
Especially in the case of --enable-split-usr, several units will point
to the wrong location for systemctl. Use @SYSTEMCTL@ which will always
contain the proper path.
2012-04-04 06:46:35 +02:00
Kay Sievers
3672af61aa udev: fix path in udev.service 2012-04-04 06:21:23 +02:00
Kay Sievers
3e2147858f move imported udev into place 2012-04-04 05:05:07 +02:00
Kay Sievers
623ac9d2fc units: mount /tmp as tmpfs
The default setups should be a stateless as possible. /tmp as tmpfs is
the intended default for general purpose systems.

Small temporary files should not be stored on disk; lager files, or
files which should potentially survive a reboot, belong into /var/tmp.

Also catch up with some good old UNIX history.

More details are here:
  https://fedoraproject.org/wiki/Features/tmp-on-tmpfs
2012-03-27 17:30:41 +02:00
Lennart Poettering
55d029addf units: get rid of var-run.mount and var-lock.mount
Since a number of distribitions don't need this compat glue anymore drop
it from systemd upstream. Distributions which still haven't converted
to /run can steal these unit files from the git history if they need to.
2012-03-27 17:11:00 +02:00
Lennart Poettering
231931ffba units: don't mount tmpfs on /media anymore
udisks2 doesn't use /media anymore, instead mounts removable media in a
user-private directory beneath /run. /media is hence mostly obsolete and
hence it makes little sense to continue to mount a tmpfs to it.

Distributions should consider dropping the mount point entirely since
nothing uses it anymore.
2012-03-27 17:04:22 +02:00
Roberto Sassu
160481f68d systemd: mount the securityfs filesystem at early stage
This is an S/MIME signed message

The mount of the securityfs filesystem is now performed in the main systemd
executable as it is used by IMA to provide the interface for loading custom
policies. The unit file 'units/sys-kernel-security.mount' has been removed
because it is not longer necessary.

Signed-off-by: Roberto Sassu <roberto.sassu@polito.it>
Acked-by: Gianluca Ramunno <ramunno@polito.it>
2012-03-22 00:20:48 +01:00
Lennart Poettering
54ecda32c6 socket: add option for SO_PASSEC
https://bugzilla.redhat.com/show_bug.cgi?id=798760

(Note that this work is not complete yet, as the kernel seems to send us
useless data with SCM_SECURITY enabled)
2012-03-13 00:00:27 +01:00
Lennart Poettering
eb91400c68 units: reword rescue/emergency mode message to fit in 80chars 2012-02-15 20:06:14 +01:00
Lennart Poettering
cabca20b1a journal: add CAP_SETUID and CAP_SETGID to capabilities for journald, so that we can fake SCM_CREDENTIALS 2012-02-10 15:46:24 +01:00
Lennart Poettering
353e12c2f4 service: ignore SIGPIPE by default 2012-02-09 03:18:04 +01:00
Lennart Poettering
ccd07a083e journal: limit caps we pass to journald 2012-02-09 02:06:13 +01:00
Kay Sievers
e0d25329b2 move /usr/bin/systemd to /usr/lib/systemd/systemd 2012-02-08 00:08:10 +01:00
Mike Kazantsev
9c07474c6f logind: add sys_tty_config capability, to let it use VT_ACTIVATE ioctl on "activate" action 2012-01-27 21:14:01 +01:00
Lennart Poettering
bb99a35a87 log: increase socket buffers for logging by default 2012-01-27 18:57:37 +01:00
Lennart Poettering
4cfa2c999d core: switch all log targets to go directly to the journal, instead via syslog 2012-01-12 05:09:06 +01:00
Lennart Poettering
ead51eb4ed units: make sure syslog socket goes away early during shutdown 2012-01-12 04:34:50 +01:00
Lennart Poettering
6342c8eaaf units: remove left-over unit file 2012-01-06 03:20:22 +01:00
Lennart Poettering
ba1d559635 journald: start the journal after the syslog socket, so that the syslog socket queues syslog messages from early boot on 2012-01-06 03:11:56 +01:00
Lennart Poettering
4c0bebc335 kmsg-syslogd: remove kmsg-syslogd, since it's entirely obsoleted and replaced by journald 2012-01-06 03:11:17 +01:00
Lennart Poettering
db5973704b stdout: remove stdout-syslog-bridge since it is now obsoleted by journald 2012-01-06 02:48:38 +01:00
Lennart Poettering
259d2e7620 journal: move sockets into their own subdir 2012-01-05 20:24:16 +01:00
Lennart Poettering
271b032a05 socket: rename the PassCred= option to PassCredentials=, since we don't want to needlessly abbreviate options unless they are very well established 2011-12-31 01:07:49 +01:00
Lennart Poettering
dc1ecd78e9 Merge branch 'journal' 2011-12-31 00:59:37 +01:00
Lennart Poettering
8b18eb674c journald: forward all syslog messages to syslogd 2011-12-30 19:05:43 +01:00
Lennart Poettering
4b2d99d9f4 journal: add unit files and shared library glue 2011-12-30 17:50:37 +01:00
Michal Schmidt
91b684c730 rc-local: order after network.target
As suggested by Bill Nottingham: rc.local is often used for frobbing the
network.

https://bugzilla.redhat.com/show_bug.cgi?id=754789
2011-12-02 11:32:52 +01:00
Michal Schmidt
e951701a4d rc-local: no need to check if the script is executable
rc-local.service is pulled in by a generator only if the script is
executable. No need to check again.
2011-12-02 11:32:04 +01:00
Michal Schmidt
1567308317 add a generator to pull rc-local.service in
rc-local.service acts as an ordering barrier even if its condition is
false, because conditions are evaluated when the service is about to be
started.

To avoid the ordering barrier in a legacy-free system, add a generator
to pull rc-local.service into the transaction only if the script is
executable.

If/when we rewrite SysV compatibility into a generator, this one can become
a part of it.
2011-12-02 11:29:48 +01:00
Michal Schmidt
1a2801529e syslog: use PassCred=yes for the /dev/log socket
Both kmsg-syslogd and the real syslog service want to receive
SCM_CREDENTIALS. With socket activation it is too late to set
SO_PASSCRED in the services.
2011-11-30 11:00:28 +01:00
Michal Schmidt
75d3fc60f8 shutdownd: use PassCred=yes in the socket unit
Since Linux 3.2 in order to receive SCM_CREDENTIALS it is not sufficient
to set SO_PASSCRED just before recvmsg(). The option has to be already
set when the sender sends the message.

With socket activation it is too late to set the option in the service.
It must be set on the socket right from the start.

See the kernel commit:
16e57262 af_unix: dont send SCM_CREDENTIALS by default

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=757628
2011-11-30 10:12:59 +01:00
Michal Schmidt
42c3673e63 units/suse: let rc-local.service log to syslog
Same change as the previous commit did for Fedora. fcrozat agreed.
2011-11-09 10:10:38 +01:00
Michal Schmidt
9d7286112d units/fedora: let rc-local.service log to syslog
rc-local.service should not be excluded from the default stdout logging.

Missing logs were noticed by Andrew McNabb in
 https://bugzilla.redhat.com/show_bug.cgi?id=750032#c3
2011-11-09 09:22:30 +01:00
Michal Schmidt
c99e42c1db units: drop unnecessary 'StandardOutput=syslog'
DefaultStandardOutput is syslog anyway. There's no reason to assume that
the administrator would want these units to be excluded when he configures
a different DefaultStandardOutput.
2011-11-09 08:48:25 +01:00
Dexter Morgan
6fdae8a6a4 Add Mageia support
This patch adds support for the Mageia Linux distribution:
 http://www.mageia.org/

Mageia is a fork of Mandriva although some divergence has already occured
and thus inclusion of these changes upstream allow us to (hopefully)
migrate more rapidly to the new standard approaches systemd offers.
Indeed, we already use the preferred mechanism of OS identification via
the /etc/os-release file rather than a distro specific variation.

This patch mostly mirrors the patch added previously for Mandriva
support. In addition to those original authors, this patch was mostly
written by Dexter Morgan with help from Colin Guthrie and Eugeni Dodonov.
2011-11-02 02:16:39 +01:00
Lennart Poettering
fc8f0b5c9c units: drop [Install] section from remote-fs-pre.target
remote-fs-pre.target is not a unit a user should ever explicitly enable.
Instead services which need to hook before network mounts should pull it
in.
2011-11-01 22:29:48 +01:00
Lennart Poettering
822b18599d units: forgot target units 2011-10-11 14:26:20 +02:00
Lennart Poettering
f84aea434f units: increase LimitNOFILE a bit
since we need one fd per session (for logind) and one fd per service
(for stdout-syslog-bridge) increase the default rlimit a bit.
2011-10-11 04:43:29 +02:00
Lennart Poettering
8266f984df units: remount root and API FS before all mount units are applied
In order to ensure that bind mounts copy the final mount settings to the
new bind mount make the root and API FS mount options are applied before
the other file systems are mounted.

https://bugzilla.redhat.com/show_bug.cgi?id=718464
2011-10-11 03:41:04 +02:00
Lennart Poettering
a966a504e8 readahead: opt out of bridge logging for readahead in order not to delay things unnecessarily 2011-09-23 17:42:54 +02:00
Michal Schmidt
0fe9972f3c units: fix rescue.service race with plymouth
It was possible for the "ExecStartPre=-/bin/plymouth quit" to race
with plymouth-start.service which is pulled in indirectly by
basic.target -> sysinit.target.

The race left plymouth running on the terminal, making it unusable for
rescue purposes.

https://bugzilla.redhat.com/show_bug.cgi?id=710487
2011-09-22 23:59:50 +02:00
Lennart Poettering
7ef5875d14 units: introduce unit file for FUSE fs
FUSE and configfs is very very similar, so handle both the same way.
2011-09-22 03:00:04 +02:00
Marko Saukko
d418f857f8 units: In MeeGo there was more than one ExecStart lines present that caused systemd to refuse the rescue.service 2011-09-21 21:38:46 +02:00
Lennart Poettering
4f38cd85f6 units: we don't need to check whether /sys/kernel/security is already mounted since we'll enumerate that fact anyway 2011-09-21 18:06:24 +02:00
Lennart Poettering
ac0a983ac6 units: drop automount unit for /dev/hugepages
Since hugetlbfs cannot be compiled as kernel module there's little point
in doing on-demand mounting via autofs for it.
2011-09-21 03:56:56 +02:00
Lennart Poettering
1f2c94a487 units: drop automount unit for /dev/mqueue
Since the mqueue support cannot be built as a module there's little
benefit in having an autofs mount point set up for this.
2011-09-21 03:56:56 +02:00
Lennart Poettering
77f81d8b30 units: drop automount unit for /sys/kernel/security
Since securityfs cannot be build as module there's little value in
having an on-demand autofs mount point for it.
2011-09-21 03:56:56 +02:00
Lennart Poettering
e124e7a4a1 units: drop automount unit for /sys/kernel/debug
Since debugfs cannot be compiled as module there's little benefit in
having it as autofs mount point.
2011-09-21 03:56:55 +02:00
Lennart Poettering
0286cc1551 units: drop /sys/kernel/config automount unit
The mount point directory /sys/kernel/config is only created after the
module is loaded, hence there's little value in having this an automount
unit: the runtime penalty for mounting an autofs here should be the same
as for a real mount.
2011-09-21 03:56:55 +02:00
Michal Schmidt
0d60602c3b condition: add ConditionPathIsSymbolicLink 2011-09-21 01:42:02 +02:00
Lennart Poettering
b1db68fa60 units: don't initialize automount point for securityfs if the initrd already mounted the directory 2011-09-21 00:50:41 +02:00
Michal Schmidt
cbe8269481 units: direct stdout/stderr of rescue shells to tty
With output of services going to syslog by default now, the rescue shell
units need to direct their output to tty explicitly.
Specify stderr too, just in case.
2011-09-20 12:15:48 +02:00
Bill Nottingham
d6bca18e28 units: Add support for automounting configfs, ala debugfs, etc. 2011-09-20 03:35:09 +02:00
Lennart Poettering
07bceef2a9 locale: support $LANGUAGE too
$LANGUAGE is a GNU extension that is probably worth supporting, since it
allows specifiying an order of languages.

https://bugs.freedesktop.org/show_bug.cgi?id=40510
2011-08-31 14:10:50 +02:00
Lennart Poettering
4b7b2efb69 man: don't recommend After=syslog.target anymore since we don't support non-socket-activatable syslogs anymore where that was ncessary 2011-08-31 01:35:43 +02:00
Lennart Poettering
346bce1f4c stdout-bridge: rename logger to stdout-syslog-bridge to make it more descriptive 2011-08-30 22:42:49 +02:00
Lennart Poettering
6b3fd98f7a untis: allow both console and plymouth ask password agents in boot transaction to allow dynamically disabled plymouth 2011-08-29 21:48:51 +02:00
Lennart Poettering
8e4fb44ab0 plymouth: don't enable ask-password agent of plymouth is disabled 2011-08-29 19:45:47 +02:00
Lennart Poettering
1d6702e8d3 umask: set umask of a number of sockets by default, even though we check creds on connections 2011-08-01 22:42:07 +02:00
Lennart Poettering
82e487c56d unit: introduce ConditionFileIsExecutable= and use it where we check for a binary we'll spawn 2011-07-12 04:25:02 +02:00
Frederic Crozat
a268a6a38f units: add units for boot.local/halt.local on SUSE distributions. 2011-07-12 00:15:35 +02:00
Lennart Poettering
26b8e979c8 units: enable dev-hugepages.automount and dev-mqueue.automount only when enabled in kernel 2011-07-02 01:00:00 +02:00
Lennart Poettering
bde7f90721 logind: temporarily hack right user bus address into unit file 2011-07-01 22:36:15 +02:00
Lennart Poettering
d42d27ead9 logind: add service for per-user shared systemd daemon 2011-06-30 02:18:01 +02:00
Lennart Poettering
d0a522eb31 logind: autospawn gettys when necessary 2011-06-28 00:26:10 +02:00
Bill Nottingham
1616acbba4 units: Use /etc/rc.d/rc.local as the path to rc.local in Fedora.
/etc/rc.local is a symlink.
2011-06-27 14:25:33 +02:00
Lennart Poettering
3084a7c453 logind: add more necessary caps to the service 2011-06-24 23:52:02 +02:00
Lennart Poettering
094062918c logind: fix set of capabilities 2011-06-24 22:55:51 +02:00
Lennart Poettering
91f9dcaf92 dbus: add dbus introspection extraction 2011-06-21 19:29:45 +02:00
Lennart Poettering
f401e48c2d mechanisms: add mechanisms to change system locale and clock 2011-06-21 19:29:45 +02:00
Tom Gundersen
54763e1266 remote-fs.target: do not order after network.target
remote-fs.target is ordered after the {auto,}mount units. In case of automount
we do not want to wait for the network to come up before proceeding. In case
of a regular mount unit, the unit will be ordered after network.target
so the behavior is unchanged.

This speeds up boot quite a bit for me when having some services needing
NetworkManager-wait-online.service, and having my home partition on nfs
under an automountpoint.
2011-06-14 17:30:46 +02:00
Kay Sievers
da26173785 drop hwclock-save.service
We don't want to fiddle around changing the RTC, not on bootup, not
on shutdown.

If we don't run NTP, we have absolutely no clue what's the current
time to store in the RTC. If we run NTP, the kernel syncs the system
time every 11 minutes to the RTC.

Especially in multi-boot environents we must not call hwclock(8)
which tries to be smart with calculating/storing/applying drifts
and such.

Live-CDs must never touch the RTC, because we don't know if it is
running in UTC or locatime.
2011-05-25 18:21:36 +02:00
Kay Sievers
7948c4dfbe rtc in localtime: use settimeofday(NULL, tz) instead of hwclock(8)
We check for LOCAL in /etc/adjtime and if needed, ask the kernel to
apply the timezone delta to the system clock.

The very first call of settimeofday() without a time, but a timezone
warps the system clock, so that it properly runs in UTC.
2011-05-24 20:23:07 +02:00
Lennart Poettering
6ea832a207 exec: hangup/reset/deallocate VTs in gettys
Explicitly disconnect all clients from a VT when a getty starts/finishes
(requires TIOCVHANGUP, available in 2.6.29).

Explicitly deallocate getty VTs in order to flush scrollback buffer.

Explicitly reset terminals to a defined state before spawning getty.
2011-05-18 01:07:36 +02:00
Miklos Vajna
34a852e6f9 units: Enable plymouth for Frugalware 2011-05-09 22:41:02 +02:00
Lennart Poettering
7ec75dc70f units: enable automount units only if the kernel supports them 2011-05-02 17:43:18 +02:00
Kay Sievers
adf70c5e4e binfmt, modules-load, sysctl, tmpfiles: add missing ConditionDirectoryNotEmpty= 2011-04-30 23:08:15 +02:00
Lennart Poettering
24a73f5157 plymouth: introduce plymouth.enable=0 kernel command line switch 2011-04-30 04:23:36 +02:00
Lennart Poettering
9534ce5485 units: set capability bounding set for syslog services 2011-04-20 03:34:58 +02:00
Chris E Ferron
54e4fdef80 MeeGo support
This commit consists of the initial work to include MeeGo as a ported
distribution for systemd.

The majority of the changes are small configuration additions to auto
tools, so that MeeGo is identified as a valid distribution option.

Some small deviations will be noticed between the configuration of MeeGo
and other distributions. As MeeGo is a distribution striving for
compliancy to support its near embedded attributes and target users,
there is less user configuration options available by default. Most
services will be enabled by systemd as part of the distribution
requirements, and as such most links and service files will be pre-setup
for the MeeGo distribution. As much of this is going to be done within
the MeeGo distribution packaging this is still noteworthy to mention, as
it explains why in systemd you will observe configuration differences
where the MeeGo distribution removes all links in the pkgsysconfdir for
instance.  MeeGo will be user configurable if there is desire, but most
services will be enabled by the distribution as designated by the MeeGo
compliancy standards.

Other changes are in source to add such areas as meego-release defined
in utils, and hostname in hostname-setup, defining vconsole-setup,
localizations and rescue additions as needed.

As this is all ground work, MeeGo will continue to strive for complete
compatibility.
2011-04-20 01:05:30 +02:00
Lennart Poettering
f67c572a7d fsck: don't fsck against basic.target in order to properly allow automount /home 2011-04-20 00:44:37 +02:00
Lennart Poettering
2286fdf7c5 hostnamed: drop all caps but CAP_SYS_ADMIN 2011-04-19 06:07:29 +02:00
Lennart Poettering
7640a5de1b hostnamed: introduce systemd-hostnamed
http://www.freedesktop.org/wiki/Software/systemd/hostnamed
2011-04-16 02:03:35 +02:00
Lennart Poettering
25e3655a00 units: wording fix 2011-04-16 02:03:35 +02:00
Lennart Poettering
42549a5a6a units: order quotacheck after remount-rootfs 2011-04-16 02:03:35 +02:00
Lennart Poettering
c8f4d7642b manager: introduce IgnoreOnIsolate flag so that we can keep systemd-logger around when isolating 2011-04-16 02:03:34 +02:00
Lennart Poettering
cfcab43508 units: never pull in sysinit from utmp, so that we can shutdown from emergency mode without pulling in sysinit 2011-04-16 02:03:34 +02:00
Lennart Poettering
57bd42336e units: require syslog.socket from the logger because we simply fail if we don't have it 2011-04-16 02:03:33 +02:00
Lennart Poettering
530add9d62 logger: adjust socket description to match service 2011-04-16 02:03:33 +02:00
Lennart Poettering
1b5e66919d units: set stdout of kmsg syslogd to /dev/null 2011-04-16 02:03:33 +02:00
Lennart Poettering
7f62e3774c units: add --no-block when starting normal service after shell exited 2011-04-16 02:03:33 +02:00
Lennart Poettering
090bf7cbc4 units: isolate emergency.target instead of emergency.service when we fail to mount all file systems 2011-04-13 04:35:07 +02:00
Lennart Poettering
b9a2a36b51 local-fs: invoke emergency.service mounting at boot fails 2011-04-10 01:42:48 +02:00
Lennart Poettering
0e456f9781 path: optionally, create watched directories in .path units 2011-04-10 01:30:14 +02:00
Lennart Poettering
4466194c43 units: rename rtc-set.target to time-sync.target and pull it in by hwclock-load.service
On request of Miroslav Lichvar, rename rtc-set.target to
time-sync.target since usually the RTC chip isn't involved at all in NTP
syncs.

Also, pull it in by hwclock-load.service.
2011-04-06 19:18:17 +02:00
Lennart Poettering
33bd08a97a units: call the logger a bridge too 2011-04-05 23:22:35 +02:00
Lennart Poettering
f1159d7c78 logger: name socket like service 2011-04-04 15:27:35 +02:00
Lennart Poettering
30d6500340 units: improve logger descriptions 2011-04-04 04:06:24 +02:00
Lennart Poettering
151b190e79 binfmt: add binfmt tool to set up binfmt_misc at boot 2011-04-04 03:36:42 +02:00
Lennart Poettering
99ee2e9295 initctl: /dev/initctl is a named pipe, not a socket 2011-04-03 22:15:14 +02:00
Lennart Poettering
9408a2d295 plymouth: use PID file to detect whether ply is running 2011-03-31 04:26:40 +02:00
Lennart Poettering
39366bacda plymouth: don't explicitly enable status message when plymouth is up
https://bugzilla.redhat.com/show_bug.cgi?id=676302

systemd now watches /run/initramfs/plymouth and generates messages
exactly when that file exists. Hence we don't need the sending of the
signals anymore.
2011-03-30 03:03:35 +02:00
Lennart Poettering
cd25cce98f exec: drop process group kill mode since it has little use and confuses the user 2011-03-29 23:31:38 +02:00
Lennart Poettering
1ead1cad4b man: really fix all LC_MESSAGE to LC_MESSAGES
https://bugs.freedesktop.org/show_bug.cgi?id=35534
2011-03-29 12:12:31 +02:00
William Jon McCann
c20deda415 plymouth: Remove the calls to plymouth message
* messages aren't translated
 * console text is ugly
 * they are jargonny
 * they really aren't needed

https://bugs.freedesktop.org/show_bug.cgi?id=35711
2011-03-29 01:21:54 +02:00
Kay Sievers
2b583ce657 use /run instead of /dev/.run
Instead of the /dev/.run trick we have currently implemented, we decided
to move the early-boot runtime dir to /run.

An existing /var/run directory is bind-mounted to /run. If /var/run is
already a symlink, no action is taken.

An existing /var/lock directory is bind-mounted to /run/lock.
If /var/lock is already a symlink, no action is taken.

To implement the directory vs. symlink logic, we have a:
  ConditionPathIsDirectory=
now, which is used in the mount units.

Skipped mount unit in case of symlink:
  $ systemctl status var-run.mount
  var-run.mount - Runtime Directory
    Loaded: loaded (/lib/systemd/system/var-run.mount)
    Active: inactive (dead)
            start condition failed at Fri, 25 Mar 2011 04:51:41 +0100; 6min ago
     Where: /var/run
      What: /run
    CGroup: name=systemd:/system/var-run.mount

The systemd rpm needs to make sure to add something like:
  %pre
  mkdir -p -m0755 /run >/dev/null 2>&1 || :
or it needs to be added to filesystem.rpm.

Udev -git already uses /run if that exists, and is writable at bootup.
Otherwise it falls back to the current /dev/.udev.

Dracut and plymouth need to be adopted to switch from /dev/.run to run
too.

Cheers,
Kay
2011-03-28 23:00:00 +02:00
Andrey Borzenkov
8c944383c2 units: replace Names=dm.service with symlink for mandriva prefdm 2011-03-18 19:32:49 +03:00
Andrey Borzenkov
0c380104cf mount: pull in quota services from local mountpoints with usr/grpquota options 2011-03-18 19:12:58 +03:00
Lennart Poettering
a0e155d440 units: pull in syslog.target from syslog.socket 2011-03-18 05:17:02 +01:00
Lennart Poettering
d94ac66d32 units: don't ever pull in SysV targets from other SysV targets 2011-03-18 05:13:06 +01:00
Lennart Poettering
1c7c17ea61 units: document that some targets exists only for compat with SysV 2011-03-18 05:12:34 +01:00
Lennart Poettering
6699c857a2 units: we don't need to generate syslog.target with sed anymore 2011-03-18 05:01:30 +01:00
Lennart Poettering
db25d1d765 units: we no longer need m4 to build graphical.target or multi-user.taregt 2011-03-18 04:59:05 +01:00
Lennart Poettering
b1c66c44ef units: on mandriva/fedora create single.service alias via symlink, not Names= 2011-03-18 04:53:31 +01:00
Lennart Poettering
97df13c0ac units: get rid of runlevel Names=, the symlinks in /lib/systemd/system are much more useful 2011-03-18 04:53:31 +01:00
Lennart Poettering
997a624029 units: get rid of empty units/suse/ subdir 2011-03-18 04:53:31 +01:00
Lennart Poettering
f1dd0c3f9b syslog: rework syslog detection so that we need no compile-time option what the name of the syslog implementation is 2011-03-18 04:53:31 +01:00
Lennart Poettering
177b3ffedb special: get rid of dbus.target 2011-03-18 04:53:12 +01:00
Miklos Vajna
196e3fa74a Add Frugalware display-manager service 2011-03-16 03:53:55 +01:00
Lennart Poettering
1063dc3a52 units: add console-shell.service which can be used insted of the gettys to get a shell on /dev/console 2011-03-14 21:00:53 +01:00
Lennart Poettering
91b22f21f3 core: move abstract namespace sockets to /dev/.run
Now that we have /dev/.run there's no need to use abstract namespace
sockets. So, let's move things to /dev/.run, to make things more easily
discoverable and improve compat with chroot() and fs namespacing.
2011-03-14 03:12:25 +01:00
Lennart Poettering
7d640cdf66 units: move the last flag files to /dev/.run 2011-03-11 01:06:53 +01:00
Lennart Poettering
b925e72633 dev: use /dev/.run/systemd as runtime directory, instead of /dev/.systemd 2011-03-09 22:45:47 +01:00
Lennart Poettering
cc5524ecc6 mount: use /dev/.run as an early boot alias for /var/run
During early boot, mount a tmpfs to /dev/.run and then bind mount it to
/var/run as soon as /var is available.

This makes it possible for programs involved in early boot to put
runtime data in /dev/.run which later on will show up in /var/run like
any other.

This can be used to solve the early-boot D-Bus problem: D-Bus may start
up with its socket bound to /dev/.run/dbus/system_bus_socket and after
/var it will also be available under the traditional name
/var/run/dbus/system_bus_socket.

This also is intended to be used as a better place for systemd, mount,
mdadm, blkid, plymouth, bootchart and dracut runtime data, which is
currently stored in various places in /dev/.xxx.
2011-03-09 02:51:45 +01:00
Andrey Borzenkov
1de4d79bf5 build-sys: add Mandriva distribution support
This merges several separate patches that I carry as part of
Mandriva systemd RPM. They touch those parts that are very
unlikely to be changed in near future and do not impose any
functionality change for systemd core. I also think it is
useful for troubleshooting to have real distribution name in
system logs, espicially when someone reports problem upstream.

The patch looks bigger than sum of replaced patches because

- previous patches were applied on top of distro=fedora, now
I need to add all those bits for distro=mandriva as well

- part of patch was done as spec file magic, but it seems more
logical to ship all these bits together
2011-03-08 19:47:36 +01:00
Lennart Poettering
267632f0ab unit: distuingish mandatory from triggering conditions 2011-03-08 03:04:47 +01:00
Lennart Poettering
c4b5a3d66f mount: make /media a tmpfs 2011-03-07 17:38:15 +01:00
53bdb7c186 build-sys: update ALTLinux support
Please apply patch for update ALTLinux support.
2011-02-28 22:10:13 +01:00
Lennart Poettering
aa2e211587 units: synchronize gettys to plymouth even if plymouth is killed by gdm 2011-02-24 02:32:50 +01:00
Lennart Poettering
be12dd0cb8 rescue: terminate plymouth entirely when going into rescue mode 2011-02-23 18:42:08 +01:00
Lennart Poettering
3642d1c988 plymouth: don't wait forever for plymouth in case it is stuck 2011-02-22 18:51:44 +01:00
Lennart Poettering
b7ff1e47da plymouth: ensure we start not a single getty before plymouth is gone because we never know which ttys plymouth still controls 2011-02-21 23:55:17 +01:00
Lennart Poettering
80f7378c5d unit: don't timeout fsck 2011-02-20 20:27:59 +01:00
Lennart Poettering
783bd61209 units: order fsck@.service before basic.target instead of local-fs.target to relax things a little 2011-02-18 12:39:30 +01:00
Lennart Poettering
70db8e3a0b rescue: make 'systemctl default' fail if there is already something running when the shell exited 2011-02-16 19:34:38 +01:00
Lennart Poettering
0a494f1ff3 exec: introduce global defaults for the standard output of services 2011-02-15 11:52:29 +01:00
Lennart Poettering
48774cf60f fsck: output to /dev/console by default in addition to syslog 2011-02-15 01:28:31 +01:00
Lennart Poettering
7a57b332d0 fsck: skip root fsck if dracut already did it 2011-02-14 11:42:47 +01:00
Lennart Poettering
74ce487daf tmpfiles: move binary to /bin to make it publicly available 2011-02-13 14:04:57 +01:00
Lennart Poettering
88dfa2938a units: introduce and hook up sound.target 2011-02-09 21:07:53 +01:00
Lennart Poettering
e1b2b49465 systemd: show status when run with plymouth, and don't start plymouth a second time when it is already running 2011-02-09 14:17:52 +01:00
Jeff Mahoney
cd3f8b7ddb plymouth: move plymouth out of TARGET_FEDORA 2011-02-08 18:47:32 +01:00
a338bab5d0 build-sys: initial support ALTLinux
Hi all!
I added basic support for ALTLinux.
Please see patch or
http://git.altlinux.org/people/shaba/packages/systemd.git?p=systemd.git;a=shortlog;h=refs/heads/altlinux
Thanks.
2011-02-08 12:52:06 +01:00
Lennart Poettering
63c862b051 cryptsetup: fix ordering loop when dealing with encrypted swap devices
https://bugzilla.redhat.com/show_bug.cgi?id=657234
2011-01-21 03:30:18 +01:00
Lennart Poettering
c32e0c40f7 serial-getty: invoking /sbin/securetty is no longer necessary since pam_securetty can now look for console= in /proc/cmdline 2011-01-18 23:51:06 +01:00
Tom Gundersen
dda9be8a99 arch: remove rc-local.service
This is now shipped downstream.
2011-01-17 22:41:28 +01:00
Lennart Poettering
1640944a84 getty: unset locale before execution
On the console indian characters cannot be displayed, hence it is
advisable to disable indian locales on the console, which most
distributions traditionally did from a shell fragment executed post
login. If getty gets started with locale settings passed it would itself
however be translated without the no-indian-on-console fixup applied.

Hence, for now don't pass any locale settings to getty/login, and thus
rely on the classic post-login script fragment to set and fix the
locale.

Eventually we probably want to drop this again since the system locale
should be read and set at one place, and not at multiple, and that one
place should be PID 1.

https://bugzilla.redhat.com/show_bug.cgi?id=663900
2011-01-06 20:38:06 +01:00
Lennart Poettering
60b4f27794 serial: use TERM=vt100 instead of TERM=vt100-nav
TERM=vt100-nav was necessary for compat with some ppc hvc devices, a
long time ago. Unfortunately vt100-nav terminfo is not installed by
default on most distros, hence change the default to v100 which is
available universally and still should be a relatively safe and
conservative default.

Should it turn out that vt100 is not really the best choice we can
revert this change again and then ask distros to move vt100-nav into
their default install.
2011-01-04 21:45:52 +01:00
Miklos Vajna
01c3a63e17 Fix misspellings in os-release manpage and hwclock-load.service 2010-12-20 16:30:59 +01:00
Miklos Vajna
6279e1f014 Frugalware: start gettys after local.service 2010-12-16 15:02:19 +01:00
Gustavo Sverzut Barbieri
d2ffe6deac units: Remove Gentoo specific xdm.service
That unity pulls in OpenRC which in turn pulls in most of legacy
system that causes lots of troubles as it is too smart, thus not
recommended.

Moreover, SystemD developers seems to agree that a service file per DM
is the best approach, so having gdm.service, kdm.service, slim.service
is better than a single wrapper for them.
2010-11-25 00:30:16 +01:00
Lennart Poettering
d4a80c1243 units: simplify shutdown scripts 2010-11-23 01:37:18 +01:00
Lennart Poettering
e096bf2f95 units: move a couple of units from base.target to sysinit.target 2010-11-19 16:24:21 +01:00