summaryrefslogtreecommitdiff
path: root/doc/DISTRO_PORTING
blob: d1a187aa41b22a427169ccac24842f20a790f151 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
Porting systemd To New Distributions

HOWTO:
        You need to make the follow changes to adapt systemd to your
        distribution:

        1) Find the right configure parameters for:

            -D rootprefix=
            -D sysvinit-path=
            -D sysvrcnd-path=
            -D rc-local=
            -D halt-local=
            -D loadkeys-path=
            -D setfont-path=
            -D tty-gid=
            -D ntp-servers=
            -D dns-servers=
            -D support-url=

        2) Try it out. Play around (as an ordinary user) with
        '/usr/lib/systemd/systemd --test --system' for a test run
        of systemd without booting. This will read the unit files and
        print the initial transaction it would execute during boot-up.
        This will also inform you about ordering loops and suchlike.

NTP POOL:
        By default, systemd-timesyncd uses the Google Public NTP servers
        time[1-4].google.com, if no other NTP configuration is available. They
        serve time that uses a leap second smear, and can be up to .5s off from
        servers that use stepped leap seconds.

        https://developers.google.com/time/smear

        If you prefer to use leap second steps, please register your own
        vendor pool at ntp.org and make it the built-in default by
        passing --with-ntp-servers= to configure. Registering vendor
        pools is free:

        http://www.pool.ntp.org/en/vendors.html

        Use -D ntp-servers= to direct systemd-timesyncd to different fallback
        NTP servers.

DNS SERVERS:
        By default, systemd-resolved uses the Google Public DNS servers
        8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844 as
        fallback, if no other DNS configuration is available.

        Use -D dns-servers= to direct systemd-resolved to different fallback
        DNS servers.

PAM:
        The default PAM config shipped by systemd is really bare bones.
        It does not include many modules your distro might want to enable
        to provide a more seamless experience. For example, limits set in
        /etc/security/limits.conf will not be read unless you load pam_limits.
        Make sure you add modules your distro expects from user services.

        Pass -D pamconfdir=no to meson to avoid installing this file and
        instead install your own.

CONTRIBUTING UPSTREAM:
        We generally do no longer accept distribution-specific patches to
        systemd upstream. If you have to make changes to systemd's source code
        to make it work on your distribution, unless your code is generic
        enough to be generally useful, we are unlikely to merge it. Please
        always consider adopting the upstream defaults. If that is not
        possible, please maintain the relevant patches downstream.

        Thank you for understanding.