---
title: Porting systemd To New Distributions
+category: Concepts
+layout: default
+SPDX-License-Identifier: LGPL-2.1-or-later
---
# Porting systemd To New Distributions
* `-Dsysvinit-path=`
* `-Dsysvrcnd-path=`
* `-Drc-local=`
- * `-Dhalt-local=`
* `-Dloadkeys-path=`
* `-Dsetfont-path=`
* `-Dtty-gid=`
print the initial transaction it would execute during boot-up.
This will also inform you about ordering loops and suchlike.
+## Compilation options
+
+The default configuration does not enable any optimization or hardening
+options. This is suitable for development and testing, but not for end-user
+installations.
+
+For deployment, optimization (`-O2` or `-O3` compiler options), link time
+optimization (`-Db_lto=true` meson option), and hardening (e.g.
+`-D_FORTIFY_SOURCE=2`, `-fstack-protector-strong`, `-fstack-clash-protection`,
+`-fcf-protection`, `-pie` compiler options, and `-z relro`, `-z now`,
+`--as-needed` linker options) are recommended. The most appropriate set of
+options depends on the architecture and distribution specifics so no default is
+provided.
+
## NTP Pool
By default, systemd-timesyncd uses the Google Public NTP servers