systemd/DISTRO_PORTING

65 lines
2.6 KiB
Plaintext

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.