Commit graph

215 commits

Author SHA1 Message Date
Thomas Hindoe Paaboel Andersen c2e0d600ed analyze: plot the time spent setting up security modules 2013-11-10 23:21:15 +01:00
Lukas Nykryn 3f41e1e595 manager: configurable StartLimit default values
https://bugzilla.redhat.com/show_bug.cgi?id=821723
2013-11-08 17:00:01 +01:00
Kay Sievers 8be28fb1e0 core: fix require $XDG_RUNTIME_DIR
$ sudo dracut -f
  Trying to run as user instance, but $XDG_RUNTIME_DIR is not set.
  /usr/lib/dracut/modules.d/98systemd/module-setup.sh: line 10:
    ((: >= 198 : syntax error: operand expected (error token is ">= 198 ")
2013-11-07 14:14:22 +01:00
Zbigniew Jędrzejewski-Szmek 86198b2788 udevadm-settle: add missing brace 2013-11-07 01:34:19 -05:00
Mantas Mikulėnas 3f6da75bce core: require $XDG_RUNTIME_DIR to be set for user instances
It seems that some places use /run otherwise, which isn't going to work.
2013-11-07 01:27:15 -05:00
Lennart Poettering 74df0fca09 util: unify reading of /proc/cmdline
Instead of individually checking for containers in each user do this
once in a new call proc_cmdline() that read the file only if we are not
in a container.
2013-11-06 03:15:16 +01:00
Oleksii Shevchuk 1f19a534ea Configurable Timeouts/Restarts default values
https://bugs.freedesktop.org/show_bug.cgi?id=71132

Patch adds DefaultTimeoutStartSec, DefaultTimeoutStopSec, DefaultRestartSec
configuration options to manager configuration file.
2013-11-05 19:57:22 +01:00
Kay Sievers ca2871d9b0 bus: remove static introspection file export 2013-10-21 00:41:26 +02:00
Lennart Poettering 6c081276dc main: don't free fds array twice 2013-10-01 00:17:21 +02:00
Mike Gilbert 90dc8c2ea2 main: set umask before creating any files
This avoids a problem when we inherit a non-zero umask from the
initramfs. This would cause /run/systemd to be created with the wrong
mode.
2013-09-26 20:39:44 +02:00
Harald Hoyer 31c885e9ae main: drop capabilities of userhelpers before ours
First drop the capabilities of the userhelpers before dropping our own,
otherwise we might not be allowed to drop the capabilities of the
userhelpers. Especially, if we want to drop CAP_SYS_MODULE.

Credits: Matteo Sasso
2013-08-30 10:26:49 +02:00
Kay Sievers bd6d296339 log to kmsg when "debug" is used on the kernel command line 2013-08-27 18:25:06 +02:00
Kay Sievers ce8aba5681 do not pass-along the environment from the kernel or initrd 2013-07-30 02:07:50 +02:00
Kay Sievers e21fea24ae rework systemd's own process environment handling/passing
Stop importing non-sensical kernel-exported variables. All
parameters in the kernel command line are exported to the
initial environment of PID1, but suppressed if they are
recognized by kernel built-in code. The EFI booted kernel
will add further kernel-internal things which do not belong
into userspace.

The passed original environ data of the process is not touched
and preserved across re-execution, to allow external reading of
/proc/self/environ for process properties like container*=.
2013-07-26 18:40:40 +02:00
Kay Sievers 21bf2ab082 remove left-over initrd time stamp handling 2013-07-23 12:26:59 +02:00
Harald Hoyer c72aadd185 remove RD_TIMESTAMP import
If you want timing information from the initramfs, use systemd in the
initramfs.
2013-07-17 11:33:07 +02:00
Lennart Poettering befb5b6a71 core: rearrange if blocks a bit 2013-07-11 00:48:52 +02:00
Lennart Poettering 66713f77e8 core: uninstall cgroup agent only if we are running outside of a container
Since the cgroupfs is currently not virtualized for containers we
shouldn't reset the hosts agent from the container.
2013-07-10 23:50:28 +02:00
Lennart Poettering 71445ae75b core: send out "Reloading" signal before and after doing a full reload/reexec of PID 1
Since we'll unload all units/job during a reload, and then readd them it
is really useful for clients to be aware of this phase hence sent a
signal out before and after. This signal is called "Reloading" (despite
the fact that it is also sent out during reexecution, which we consider
a special case in this context) and has one boolean parameter which is
true for the signal sent before the reload, and false for the signal
after the reload. The UnitRemoved/JobRremoved and UnitNew/JobNew due to
the reloading are guranteed to be between the pair of Reloading
messages.
2013-07-10 23:41:03 +02:00
Lennart Poettering 6fa4853328 core: serialize/deserialize bus subscribers 2013-07-10 23:41:03 +02:00
Kay Sievers ec26be514f suppress status message output at shutdown when 'quiet' is given 2013-07-05 00:32:05 +02:00
Kay Sievers ad929bcc27 disable the cgroups release agent when shutting down
During shutdown, when we try to clean up all remaining processes, the
kernel will fork new agents every time a cgroup runs empty. These
new processes cause delays in the final SIGTERM, SIGKILL logic.

Apart from that, this should also avoid that the kernel-forked binaries
cause unpredictably timed access to the filesystem which we might need to
unmount.
2013-07-04 20:31:18 +02:00
Jason St. John e9dd9f9547 man: improve grammar and word formatting in numerous man pages
Use proper grammar, word usage, adjective hyphenation, commas,
capitalization, spelling, etc.

To improve readability, some run-on sentences or sentence fragments were
revised.

[zj: remove the space from 'file name', 'host name', and 'time zone'.]
2013-07-02 23:06:22 -04:00
Lennart Poettering 11ddb6f48e main: fix loading of default target 2013-06-28 18:37:15 +02:00
Lennart Poettering c2756a6840 core: add transient units
Transient units can be created via the bus API. They are configured via
the method call parameters rather than on-disk files. They are subject
to normal GC. Transient units currently may only be created for
services (however, we will extend this), and currently only ExecStart=
and the cgroup parameters can be configured (also to be extended).

Transient units require a unique name, that previously had no
configuration file on disk.

A tool systemd-run is added that makes use of this functionality to run
arbitrary command lines as transient services:

$ systemd-run /bin/ping www.heise.de

Will cause systemd to create a new transient service and run ping in it.
2013-06-28 04:12:58 +02:00
Lennart Poettering 4ad490007b core: general cgroup rework
Replace the very generic cgroup hookup with a much simpler one. With
this change only the high-level cgroup settings remain, the ability to
set arbitrary cgroup attributes is removed, so is support for adding
units to arbitrary cgroup controllers or setting arbitrary paths for
them (especially paths that are different for the various controllers).

This also introduces a new -.slice root slice, that is the parent of
system.slice and friends. This enables easy admin configuration of
root-level cgrouo properties.

This replaces DeviceDeny= by DevicePolicy=, and implicitly adds in
/dev/null, /dev/zero and friends if DeviceAllow= is used (unless this is
turned off by DevicePolicy=).
2013-06-27 04:17:34 +02:00
Lennart Poettering abb26902e4 core: don't do runaway fork()s if we hit a segfault from our segfault handler 2013-06-27 04:17:33 +02:00
Umut Tezduyar 97d0e5f83b manager: add DefaultEnvironment option
This complements existing functionality of setting variables
through 'systemctl set-environment', the kernel command line,
and through normal environment variables for systemd in session
mode.
2013-06-20 16:27:45 -04:00
Chengwei Yang 1cce5d639c manager: Do not handle SIGKILL since we can not
This is a minor fix because it's not a major issue, this fix just avoid
to get EINVAL error from sigaction(2).

There are two signals can not handled at user space, SIGKILL and
SIGSTOP even we're PID 1, trying to handle these two signals will get
EINVAL error.

There are two kinds of systemd instance, running as system manager or
user session manager, apparently, the latter is a general user space
process which can not handle SIGKILL. The special pid 1 also can not
do that refer to kernel/signal.c:do_sigaction().

However, pid 1 is unkillable because the kernel did attach
SIGNAL_UNKILLABLE to it at system boot up, refer to
init/main.c:start_kernel()
    --> rest_init()
        --> kernel_thread()
            --> kernel_init()
                --> init_post()
                    current->signal->flags |= SIGNAL_UNKILLABLE
2013-06-06 08:58:58 +02:00
Lukas Nykryn 9749cd77bc core: read "debug" from kernel commandline and set log level 2013-05-30 00:43:39 -04:00
Zachary Cook 4f8d551ff0 systemd: record efi timestamps after /sys is mounted
This partially reverts commit c3a170f3, which moved
efi_get_boot_timestamps too early in main(), before
/sys is assured to be mounted

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=64371

[tomegun: in particular /sys/firmware/efi/efivars needs to be
mounted, which is not a problem if a systemd-initramfs containing
the correct module is being used. But not everyone uses an
initramfs...]
2013-05-29 15:36:05 +02:00
Zbigniew Jędrzejewski-Szmek 19adb8a320 systemd-sleep: add support for freeze and standby
A new config file /etc/systemd/sleep.conf is added.
It is parsed by systemd-sleep and logind. The strings written
to /sys/power/disk and /sys/power/state can be configured.
This allows people to use different modes of suspend on
systems with broken or special hardware.

Configuration is shared between systemd-sleep and logind
to enable logind to answer the question "can the system be
put to sleep" as correctly as possible without actually
invoking the action. If the user configured systemd-sleep
to only use 'freeze', but current kernel does not support it,
logind will properly report that the system cannot be put
to sleep.

https://bugs.freedesktop.org/show_bug.cgi?id=57793
https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=commit;h=7e73c5ae6e7991a6c01f6d096ff8afaef4458c36
http://lists.freedesktop.org/archives/systemd-devel/2013-February/009238.html

SYSTEM_CONFIG_FILE and USER_CONFIG_FILE defines were removed
since they were used in only a few places and with the
addition of /etc/systemd/sleep.conf it becomes easier to just
append the name of each file to the dir name.
2013-05-06 22:51:57 +02:00
Harald Hoyer c3a170f3d3 systemd: record the timestamps as early as possible
The time for systemd initialization and selinux policy loading
is accounted to the initrd or the kernel, which is wrong.

Instead of:

Startup finished in 5.559s (firmware) + 36ms (loader) + 665ms (kernel) +
975ms (initrd) + 1.410s (userspace) = 8.647s

the more correct output is:

Startup finished in 5.559s (firmware) + 36ms (loader) + 665ms (kernel) +
475ms (initrd) + 1.910s (userspace) = 8.647s
2013-04-25 09:13:05 +02:00
Lennart Poettering db5c012285 conf-parser: restrict .include usage
Disallow recursive .include, and make it unavailable in anything but
unit files.
2013-04-25 00:05:14 -03:00
Zbigniew Jędrzejewski-Szmek a6b26d9011 Small cleanup 2013-04-24 00:25:04 -04:00
Lennart Poettering cd8f53ab16 core: there's no point to complain so loudly about non-isolatable boot targets 2013-04-22 23:14:12 -03:00
Harald Hoyer 7fd1b19bc9 move _cleanup_ attribute in front of the type
http://lists.freedesktop.org/archives/systemd-devel/2013-April/010510.html
2013-04-18 09:11:22 +02:00
Simon Peeters 449101fce2 Move bus_error to dbus-common and remove bus_error_message_or_strerror
bus_error and bus_error_message_or_strerror dit almost exactly the same,
so use only one of them and place it in dbus-common.
2013-04-18 02:54:58 +02:00
Zbigniew Jędrzejewski-Szmek 543295ad36 core/main: use _cleanup_ 2013-04-17 00:09:16 -04:00
Zbigniew Jędrzejewski-Szmek e8e581bf25 Report about syntax errors with metadata
The information about the unit for which files are being parsed
is passed all the way down. This way messages land in the journal
with proper UNIT=... or USER_UNIT=... attribution.

'systemctl status' and 'journalctl -u' not displaying those messages
has been a source of confusion for users, since the journal entry for
a misspelt setting was often logged quite a bit earlier than the
failure to start a unit.

Based-on-a-patch-by: Oleksii Shevchuk <alxchk@gmail.com>
2013-04-17 00:09:16 -04:00
Zbigniew Jędrzejewski-Szmek 799de03f51 core/main: generate 4 parsing functions from a macro 2013-04-17 00:09:15 -04:00
Harald Hoyer b3680f49e2 Do not serialize environment, when switching root
When switching root, i.e. LANG can be set to the locale of the initramfs
or "C", if it was unset. When systemd deserializes LANG in the real root
this would overwrite the setting previously gathered by locale_set().

To reproduce, boot with an initramfs without locale.conf or change
/etc/locale.conf to a different language than the initramfs and check a
daemon started by systemd:

$ tr "$\000" '\n' </proc/$(pidof sshd)/environ | grep LANG
LANG=C

To prevent that, serialization of environment variables is skipped, when
serializing for switching root.

https://bugzilla.redhat.com/show_bug.cgi?id=949525
2013-04-08 14:45:19 +02:00
Zbigniew Jędrzejewski-Szmek 245802dd89 Use _cleanup_ when reading config files 2013-04-05 20:00:55 -04:00
Zbigniew Jędrzejewski-Szmek b92bea5d2a Use initalization instead of explicit zeroing
Before, we would initialize many fields twice: first
by filling the structure with zeros, and then a second
time with the real values. We can let the compiler do
the job for us, avoiding one copy.

A downside of this patch is that text gets slightly
bigger. This is because all zero() calls are effectively
inlined:

$ size build/.libs/systemd
         text    data     bss     dec     hex filename
before 897737  107300    2560 1007597   f5fed build/.libs/systemd
after  897873  107300    2560 1007733   f6075 build/.libs/systemd

… actually less than 1‰.

A few asserts that the parameter is not null had to be removed. I
don't think this changes much, because first, it is quite unlikely
for the assert to fail, and second, an immediate SEGV is almost as
good as an assert.
2013-04-05 19:50:57 -04:00
Lennart Poettering 2fa4092c28 util: make time formatting a bit smarter
Instead of outputting "5h 55s 50ms 3us" we'll now output "5h
55.050003s". Also, while outputting the accuracy is configurable.

Basically we now try use "dot notation" for all time values > 1min. For
>= 1s we use 's' as unit, otherwise for >= 1ms we use 'ms' as unit, and
finally 'us'.

This should give reasonably values in most cases.
2013-04-04 02:56:56 +02:00
Lennart Poettering 7f602784de util: rename parse_usec() to parse_sec() sinds the default unit is seconds
Internally we store all time values in usec_t, however parse_usec()
actually was used mostly to parse values in seconds (unless explicit
units were specified to define a different unit). Hence, be clear about
this and name the function about what we pass into it, not what we get
out of it.
2013-04-03 20:12:57 +02:00
Zbigniew Jędrzejewski-Szmek 7989e1f2d7 Partially revert e62d8c3944
The ~80 chars per line part wasn't well received.
2013-03-31 19:50:30 -04:00
Zbigniew Jędrzejewski-Szmek e62d8c3944 Modernization
Use _cleanup_ and wrap lines to ~80 chars and such.
2013-03-31 14:36:12 -04:00
Lennart Poettering ab4224458b main: minor simplification 2013-03-22 21:04:28 +01:00
Lennart Poettering db813c2a91 main: use strv_find() where we can 2013-03-22 04:43:28 +01:00
Lennart Poettering e2b1eb2661 main: don't mount cgroup controller unless PID == 1
This completes c1dae1b3c9 in a way.
2013-03-22 04:43:27 +01:00
Lennart Poettering c1dae1b3c9 main: don't mount /sys, /dev and friends when we run with PID != 1
Back from old times when we developed systemd on non-systemd hosts we
still mounted the missing directories such as the cgroup stuff even when
running with a PID != 1. There's no point for that anymore, so let's
just do that if we are actually PID 1, and never otherwise.

https://bugs.freedesktop.org/show_bug.cgi?id=62354
2013-03-14 21:39:07 +01:00
Lennart Poettering ab17a050b7 core: if we cannot JOB_ISOLATE the default target JOB_REPLACE it instead
In order to maintain compatibility with older initrds which do not have
AllowIsolate=yes set for their target units, fallback to JOB_REPLACE if
JOB_ISOLATE doesn't work, but complain about it.
2013-03-07 22:18:34 +01:00
Nathaniel Chen ffbd2c4d45 core: mount and initialize Smack
SMACK is the Simple Mandatory Access Control Kernel, a minimal
approach to Access Control implemented as a kernel LSM.

The kernel exposes the smackfs filesystem API through which access
rules can be loaded. At boot time, we want to load the access rules
as early as possible to ensure all early boot steps are checked by Smack.

This patch mounts smackfs at the new location at /sys/fs/smackfs for
kernels 3.8 and above. The /smack mountpoint is not supported.
After mounting smackfs, rules are loaded from the usual location.

For more information about Smack see:
  http://www.kernel.org/doc/Documentation/security/Smack.txt
2013-03-07 20:53:14 +01:00
Nathaniel Chen 8f838d8aab core: move mount_setup_early() to main.c
move mount_setup_early() call to main.c, before security module setup,
so there are no more repeat calls.
2013-03-07 20:53:14 +01:00
Lennart Poettering dd7c30c36a core: don't complain about systemd.journald.xxx kernel command line arguments in PID 1
https://bugzilla.redhat.com/show_bug.cgi?id=880025
2013-03-07 18:39:06 +01:00
Tom Gundersen 95f1b47d27 main: ISOLATE rather than REPLACE default.target
This allows switch-root to work correctly if a unit is active both before and
after the switch-root, but its dependencies change. Before the patch, any
dependencies added to active units by switch-root will not be pulled, in
particular filesystems configured in /etc/fstab would not be activated if
local-fs.target was active in the initrd.

It is not clear to me if there is a bug in the REPLACE handling, or if it is
working as expected and that we really want to use ISOLATE instead as this patch
does.
2013-03-06 16:24:49 +01:00
Harald Hoyer a5c32cff1f honor SELinux labels, when creating and writing config files
Also split out some fileio functions to fileio.c and provide a SELinux
aware pendant in fileio-label.c

see https://bugzilla.redhat.com/show_bug.cgi?id=881577
2013-02-14 16:19:38 +01:00
Lennart Poettering 0c4025d142 core: don't accept invalid environment assignments from the kernel cmdline 2013-02-11 23:17:32 +01:00
Lennart Poettering bc2708414b build-sys: drop all distribution specfic checks
Yay, we now have a completely generic systemd. No distribution specific checks anymore!
2013-01-04 23:26:21 +01:00
Lennart Poettering 01e10de3c2 socket: support socket activation of containers 2012-12-22 22:17:58 +01:00
Tom Gundersen e30431623a build-sys: make loadable module support optional
kmod is unecessary if loadable module support is disabled in the kernel,
so make the dependency optional.
2012-11-20 19:35:27 +01:00
Kay Sievers 19e6561356 hwclock: do not seal the kernel's time-warp call from inside the initrd 2012-10-27 16:31:10 +02:00
Thomas Bächler 6bae23a038 core: Refuse to run a user instance when the system hasn't been booted with systemd.
Running as a user instance won't work at all if systemd isn't running as system
manager, so refuse to start in that case.
2012-10-16 02:17:46 +02:00
Lennart Poettering a07fdfa376 main: don't try to mout cpuset with cpu+cpuacct anymore
Turns out cpuset needs explicit initialization before we could make use
of it. Thus mounting cpuset with cpu/cpuacct would make it impossible to
just create a group in "cpu" and start it.
2012-09-24 11:35:51 +02:00
Zbigniew Jędrzejewski-Szmek 67445f4e22 core: move ManagerRunningAs to shared
Note: I did s/MANAGER/SYSTEMD/ everywhere, even though it makes the
patch quite verbose. Nevertheless, keeping MANAGER prefix in some
places, and SYSTEMD prefix in others would just lead to confusion down
the road. Better to rip off the band-aid now.
2012-09-18 19:53:34 +02:00
Lennart Poettering a866073d35 main: when transitioning from initrd to the main system log to kmsg
When the new PID is invoked the journal socket from the initrd might
still be around. Due to the default log target being journal we'd log to
that initially when the new main systemd initializes even if the kernel
command line included a directive to redirect systemd's logging
elsewhere.

With this fix we initially always log to kmsg now, if we are PID1, and
only after parsing the kernel cmdline try to open the journal if that's
desired.

(The effective benefit of this is that SELinux performance data is now
logged again to kmsg like it used to be.)
2012-09-17 17:47:47 +02:00
Kay Sievers 72edcff5db hwclock: always set the kernel's timezone
Properly tell the kernel at bootup, and any later time zone changes,
the actual system time zone.

Things like the kernel's FAT filesystem driver needs the actual time
zone to calculate the proper local time to use for the on-disk time
stamps.

https://bugzilla.redhat.com/show_bug.cgi?id=802198
2012-09-17 16:56:26 +02:00
Lennart Poettering 4096d6f587 main: bump up RLIMIT_NOFILE for systemd itself
For setups with many listening sockets the default kernel resource limit
of 1024 fds is not enough. Bump this up to 64K to avoid any limitations
in this regard. We are careful to pass on the kernel default to daemons
however, since normally resource limits are a good to enforce,
especially since select() can't handle fds > 1023.
2012-09-17 16:35:59 +02:00
Lennart Poettering 2f6f1bc30c selinux: close stdin/stdout/stderr before loading selinux policy
Let's make sure libselinux doesn't spew to stderr
2012-09-10 13:14:56 +02:00
Lennart Poettering ac59a798f2 main: fix syntax of net_prio cgroup controller 2012-09-07 22:22:15 +02:00
Lennart Poettering be5412d854 main: jointly mount more controllers
After talking to the cgroup kernel folks at LPC we came to the
conclusion that it is probably a good idea to mount all CPU related
resp. all network related cgroup controllers together, both because they
are good defaults for admins and because this might prepare
for eventual kernel cleanups where the ability to mount them separately
is removed.
2012-09-03 18:59:05 -07:00
Lukas Nykryn 032f81645b core: free word later in parse_proc_cmdline 2012-08-23 13:53:30 +02:00
Lennart Poettering ddfa5101a2 main: fix PR_SET_CHILD_SUBREAPER warning version 2012-08-21 23:07:21 +02:00
Lennart Poettering 8b8ffe6828 core: fix error checking for PR_SET_CHILD_SUBREAPER 2012-08-21 16:48:02 +02:00
Lennart Poettering 6afa301b8d main: fix typo 2012-08-06 16:41:29 +02:00
Shawn Landden 1421211924 continue work with error messages, log_oom()
Adds messages for formally silent errors: new "Failed on cmdline argument %s: %s".

Removes some specific error messages for -ENOMEM in mount-setup.c. A few specific
ones have been left in other binaries.
2012-08-06 16:37:01 +02:00
Auke Kok d4447f4d95 main: set PR_SET_CHILD_REAPER for MANAGER_USER
Become the reaper for all children part of the user session. Tested
with several forking services.
2012-07-25 00:17:30 +02:00
Lennart Poettering 6b78f9b435 unit: don't serialize job state, only unit state across switch-root 2012-07-18 01:46:52 +02:00
Lennart Poettering cee530bb23 switch-root: don't wait for processes
When we transition from the initrd to the main system, don't reap
processes, so that they can be handled normally after deserialization.
2012-07-17 17:44:26 +02:00
Zbigniew Jędrzejewski-Szmek 9ba0bc4e0f systemd: add --version option
systemd --version mirrors systemctl --version:

$ ./systemd --version
systemd 186
other
+PAM +LIBWRAP +AUDIT +SELINUX +IMA +SYSVINIT -LIBCRYPTSETUP

This information can be retrieved by other means (systemctl, etc.),
but it's easier for a newbie if 'systemd --version' says something
useful. And 'systemd --help' is already there, so let's complement
that with '--version'.
2012-07-17 16:34:23 +02:00
Harald Hoyer a504223d9a main: only reopen /dev/console if we switch-root to a custom init
There's no point in reopening /dev/console if we reopen it anyway
afterwards.
2012-07-13 14:46:14 +02:00
Lennart Poettering bd3fa1d243 core: go on a killing spree when transitioning from initrd to main system 2012-07-13 14:41:57 +02:00
Lennart Poettering cd3bd60a2e switch-root: reopen /dev/console before we switch root 2012-07-10 19:19:59 +02:00
Lennart Poettering 26a1efdf61 core: mention if we are run from an initial RAM disk 2012-07-02 11:38:32 +02:00
Lennart Poettering c20f5ac765 main: print detected virtualiaztion at boot 2012-06-28 14:05:17 +02:00
Lennart Poettering af6da548aa core: make systemd.confirm_spawn=1 actually work
This adds a timeout if the TTY cannot be acquired and makes sure we
always output the question to the console, never to the TTY of the
respective service.
2012-06-26 12:21:43 +02:00
Lennart Poettering d081dffbd3 core: remove sysv_console option
This option never made much sense. It was originally intended to make
sure that the usual startup output of sysv scripts goes to the terminal.
However, since SysV scripts started from a terminal would not output to
that terminal, but rather /dev/console this effect was more often than
not actually taking place. Nowadays systemd has much nicer boot time
status output than SysV which makes the sysv output redundant. Finally,
all output of services goes to the journal anyway, and is not lost.

Hence, let's drop this option, and simplify things a bit.
2012-06-22 13:16:28 +02:00
Lennart Poettering 66a78c2b95 cryptsetup: allow configuration of LUKS disks via the kernel cmdline
This generalizes a bit of the functionality already available in dracut.
2012-06-22 10:11:06 +02:00
Lennart Poettering c66e7bc7a1 man: document all kernel command line options we understand 2012-06-22 01:35:52 +02:00
Lennart Poettering aa0f64ac85 main: allow setting of timer slack for PID 1 2012-05-31 04:36:08 +02:00
Lennart Poettering 939b8f14dc capabilities: when dropping capabilities system-wide also drop them from usermode helpers
This hooks things up with /proc/sys/kernel/usermodehelper/bset and
/proc/sys/kernel/usermodehelper/inheritable.
2012-05-29 23:35:17 +02:00
Lennart Poettering ec8927ca59 main: add configuration option to alter capability bounding set for PID 1
This also ensures that caps dropped from the bounding set are also
dropped from the inheritable set, to be extra-secure. Usually that should
change very little though as the inheritable set is empty for all our uses
anyway.
2012-05-24 04:00:56 +02:00
Kay Sievers 745e2fb79a main: only fall back to /bin/sh in case /sbin/init does not exist 2012-05-22 19:17:40 +02:00
Lennart Poettering bf4df7c3b6 main: properly queue default.target after switched root
This also introduces rd.systemd.unit= to specify the unit to boot into
in the initrd.
2012-05-22 13:22:00 +02:00
Frederic Crozat c93ff2e913 main: allow system wide limits for services 2012-05-21 21:13:27 +02:00
Lennart Poettering 2660882b52 main: rename a few fix to follow general naming style 2012-05-21 19:48:04 +02:00
Lennart Poettering 416693175b switch-root: move switch_root() call into its own .c file 2012-05-21 19:33:39 +02:00
Harald Hoyer 97a66e9470 main: do_switch_root() do not recursively remove across device boundaries 2012-05-21 18:53:02 +02:00
Harald Hoyer c3ba62509e core/main.c: handle the initrd timestamp differently, if in the initrd
If systemd is in the initrd/initramfs, set the initrd timestamp and do
not try to read it from the RD_TIMESTAMP environment variable.
2012-05-21 18:51:05 +02:00
Harald Hoyer e148ac5a6c core/main.c: do_switch_root(): do not remove the old root if not in initrd
Only recursively remove the old root, if we have been in an
initrd/initramfs.
2012-05-21 18:50:29 +02:00
Harald Hoyer d03bc1b814 core/main.c: add "--switchedroot" parameter
If systemd serializes from a switch_root, it adds "--switchedroot" to
the systemd in the real root.

If "--switchedroot" is found, then we do not skip all the stuff, which
is skipped for normal rexecs.
2012-05-21 18:50:06 +02:00
Harald Hoyer f67cc036ba main: corrected do_switch_root()
do_switch_root now mount moves "/dev", "/proc", "/sys", "/run" and
removes the old root recursively.
2012-05-21 18:45:10 +02:00
Lennart Poettering b8f8323268 main: try a bit harder to find an init process to execute after reexec/switch-root 2012-05-21 17:26:19 +02:00
Michal Schmidt b809bd0940 main: fix uninitialized variable 2012-05-09 11:20:35 +02:00
Michal Schmidt e564a98237 main: fix assertion failure due to use of ELEMENTSOF on a non-array 2012-05-09 11:13:26 +02:00
Lennart Poettering 664f88a7e6 manager: introduce SwitchRoot bus call for initrd/main transition 2012-05-09 01:24:50 +02:00
Lennart Poettering a5d87bf0ea main: simplify+unify logic for parsing runtime booleans 2012-05-08 23:36:55 +02:00
Kay Sievers bbc98d3256 util: split-out hwclock.[ch] 2012-05-08 01:57:17 +02:00
Lennart Poettering 8d8e945624 manager: drop MountAuto= and SwapAuto= options
The ability to set MountAuto=no and SwapAuto=no was useful during the
adoption phase of systemd, so that distributions could stick to their
classic mount scripts a bit longer. It is about time to get rid of it
now.
2012-04-24 13:53:34 +02:00
Lennart Poettering a0a3844815 main: log to the journal in container mode, by default 2012-04-20 12:40:01 +02:00
Kay Sievers e9a5ef7cdd selinux: unify systemd and udev code 2012-04-17 16:05:28 +02:00
Lennart Poettering 9f28b98ec6 main: unset some more env vars 2012-04-13 18:52:53 +02:00
Lennart Poettering b6e661357c main: we want all setup functions to be in files called xxx-setup.[ch] 2012-04-12 14:29:29 +02:00
Kay Sievers 78a825f216 rename machine-id-main.c tomacht the binary and move main.c to core/ 2012-04-12 13:12:06 +02:00
Renamed from src/main.c (Browse further)