|  | 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. |