You need to make the follow changes to adapt systemd to your
distribution:
- 0) Make your distribution recognized via the autoconf checks
- in configure.ac. Grep for the word "fedora" (case
- insensitively) and you should be able to find the places where
- you need to add/change things.
-
- 1) Patch src/shared/hostname-setup.c so that systemd knows
- where to read your host name from. You might also want to
- update status_welcome() in util.c.
-
- 2) Check the unit files in units/ if they match your
- distribution. Most likely you will have to make additions to
- units/*.m4 and create a copy of units/fedora/ with changes for
- your distribution.
-
- 3) Adjust Makefile.am to register the unit files you added in
- step 2. Also you might need to update the m4 invocation in
- Makefile.am. Grep for the word "fedora" (case insensitively)
- and you should be able to find the places where you need to
- add/change things.
-
- 4) Try it out. Play around with '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.
+ 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 are interested in merging your changes upstream, if they
- are for a big, and well-known distribution. Unfortunately we
- don't have the time and resources to maintain
- distribution-specific patches for all distributions on the
- planet, hence please do not send us patches that add systemd
- support for non-mainstream or niche distributions.
+ 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.
-
-BE CONSIDERATE:
- We'd like to keep differences between the distributions
- minimal. This both simplifies our maintenance work, as well
- as it helps administrators to move from one distribution to
- another.
-
- Hence we'd like to ask you to keep your changes minimal, and
- not rename any units without a very good reason (if you need a
- particular name for compatibility reasons, consider using
- alias names via symlinks). Before you make changes that change
- semantics from upstream, please talk to us!
-
- In SysV almost every distribution uses a different
- nomenclature and different locations for the boot-up
- scripts. We'd like to avoid chaos like that with systemd right
- from the beginning. So please, be considerate!