]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - docs/DISTRO_PORTING.md
docs: fix a few typos
[thirdparty/systemd.git] / docs / DISTRO_PORTING.md
index 0099a1334aed6473231a5abf087f1a173aa03374..62d3f075728697b5fb2313445813294a7bd7cb43 100644 (file)
@@ -1,5 +1,8 @@
 ---
 title: Porting systemd To New Distributions
+category: Concepts
+layout: default
+SPDX-License-Identifier: LGPL-2.1-or-later
 ---
 
 # Porting systemd To New Distributions
@@ -15,7 +18,6 @@ distribution:
    * `-Dsysvinit-path=`
    * `-Dsysvrcnd-path=`
    * `-Drc-local=`
-   * `-Dhalt-local=`
    * `-Dloadkeys-path=`
    * `-Dsetfont-path=`
    * `-Dtty-gid=`
@@ -31,6 +33,20 @@ distribution:
    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