summaryrefslogtreecommitdiffstats
path: root/DISTRO_PORTING
blob: 51a244389dc036645993beb49fa1f3e89deb0699 (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
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:

            --with-rootprefix=
            --with-sysvinit-path=
            --with-sysvrcnd-path=
            --with-rc-local-script-path-start=
            --with-rc-local-script-path-stop=
            --with-kbd-loadkeys=
            --with-kbd-setfont=
            --with-tty-gid=
            --with-ntp-servers=
            --with-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, timesyncd uses the Google NTP servers
        time[1-4].google.com. They serve time that is not standards
        compliant, and can be up to .5s off. Google does not
        officially support these servers for the broader
        audience. Distributions and vendors really should not ship
        OSes or devices with these NTP servers configured. Instead,
        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

        Again, if you ship your software or device with the default
        NTP servers, then you will get served wrong time, and will
        rely on services that might not be supported for long.

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 --with-pamconfdir=no to ./configure 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.