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