Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
systemd
Init system and system/service manager for Linux systems

systemd is a software suite that serves as a Linux init system, aiming to unify service configuration across Linux distributions. It manages processes, daemons, device, network, and event logging services, improving boot parallelism. Adopted widely since 2015, systemd replaced older init systems like SysV init for faster, centralized management. However, critics cite concerns about mission creep, bloat, increased attack surface, and dependence issues affecting projects such as GNOME. Alternatives like OpenRC remain in use, and systemd is not adopted by non-Linux Unix-like systems such as FreeBSD or OpenBSD.

Related Image Collections Add Image
We don't have any YouTube videos related to systemd yet.
We don't have any PDF documents related to systemd yet.
We don't have any Books related to systemd yet.

History

Lennart Poettering and Kay Sievers, the software engineers then working for Red Hat who initially developed systemd,12 started a project to replace Linux's conventional System V init in 2010.13 An April 2010 blog post from Poettering, titled "Rethinking PID 1", introduced an experimental version of what would later become systemd.14 They sought to surpass the efficiency of the init daemon in several ways. They wanted to improve the software framework for expressing dependencies, to allow more processes to run concurrently or in parallel during system booting, and to reduce the computational overhead of the shell.

In May 2011, Fedora Linux became the first major Linux distribution to enable systemd by default, replacing Upstart. The reasoning at the time was that systemd provided extensive parallelization during startup, better management of processes and overall a saner, dependency-based approach to control of the system.15

In October 2012, Arch Linux made systemd the default, switching from SysVinit.16 Developers had debated since August 201217 and came to the conclusion that it was faster and had more features than SysVinit, and that maintaining the latter was not worth the effort in patches.18 Some of them thought that the criticism towards the implementation of systemd was not based on actual shortcomings of the software, rather the disliking of Lennart from a part of the Linux community and the general hesitation for change. Specifically, some of the complaints regarding systemd not being programmed in bash, it being bigger and more extensive than SysVinit, the use of D-bus, and the optional on-disk format of the journal were regarded as advantages by programmers.19

Between October 2013 and February 2014, a long debate among the Debian Technical Committee occurred on the Debian mailing list,20 discussing which init system to use as the default in Debian 8 "jessie", and culminating in a decision in favor of systemd. The debate was widely publicized2122 and in the wake of the decision the debate continues on the Debian mailing list. In February 2014, after Debian's decision was made, Mark Shuttleworth announced in his blog that Ubuntu would follow in implementing systemd, discarding its own Upstart.2324

In November 2014, Debian Developer Joey Hess,25 Debian Technical Committee members Russ Allbery26 and Ian Jackson,27 and systemd package-maintainer Tollef Fog Heen28 resigned from their positions. All four justified their decision on the public Debian mailing list and in personal blogs with their exposure to extraordinary stress-levels related to ongoing disputes on systemd integration within the Debian and FOSS community that rendered regular maintenance virtually impossible.

In August 2015, systemd started providing a login shell, callable via machinectl shell.29

In September 2016, a security bug was discovered that allowed any unprivileged user to perform a denial-of-service attack against systemd.30 Rich Felker, developer of musl, stated that this bug reveals a major "system development design flaw".31 In 2017 another security bug was discovered in systemd, CVE-2017-9445, which "allows disruption of service" by a "malicious DNS server".3233 Later in 2017, the Pwnie Awards gave author Lennart Poettering a "lamest vendor response" award due to his handling of the vulnerabilities.34

Design

Poettering describes systemd development as "never finished, never complete, but tracking progress of technology". In May 2014, Poettering further described systemd as unifying "pointless differences between distributions", by providing the following three general functions:35

  • A system and service manager (manages both the system, by applying various configurations, and its services)
  • A software platform (serves as a basis for developing other software)
  • The glue between applications and the kernel (provides various interfaces that expose functionalities provided by the kernel)

systemd includes features like on-demand starting of daemons, snapshot support, process tracking36 and Inhibitor Locks.37 It is not just the name of the init daemon but also refers to the entire software bundle around it, which, in addition to the systemd init daemon, includes the daemons journald, logind and networkd, and many other low-level components. In January 2013, Poettering described systemd not as one program, but rather a large software suite that includes 69 individual binaries.38 As an integrated software suite, systemd replaces the startup sequences and runlevels controlled by the traditional init daemon, along with the shell scripts executed under its control. systemd also integrates many other services that are common on Linux systems by handling user logins, the system console, device hotplugging (see udev), scheduled execution (replacing cron), logging, hostnames and locales.

Like the init daemon, systemd is a daemon that manages other daemons, which, including systemd itself, are background processes. systemd is the first daemon to start during booting and the last daemon to terminate during shutdown. The systemd daemon serves as the root of the user space's process tree; the first process (PID 1) has a special role on Unix systems, as it replaces the parent of a process when the original parent terminates. Therefore, the first process is particularly well suited for the purpose of monitoring daemons.

systemd executes elements of its startup sequence in parallel, which is theoretically faster than the traditional startup sequence approach.39 For inter-process communication (IPC), systemd makes Unix domain sockets and D-Bus available to the running daemons. The state of systemd itself can also be preserved in a snapshot for future recall.

Core components and libraries

Following its integrated approach, systemd also provides replacements for various daemons and utilities, including the startup shell scripts, pm-utils, inetd, acpid, syslog, watchdog, cron and atd. systemd's core components include:

  • systemd is a system and service manager for Linux operating systems.
  • systemctl is a command to introspect and control the state of the systemd system and service manager. Not to be confused with sysctl.
  • systemd-analyze may be used to determine system boot-up performance statistics and retrieve other state and tracing information from the system and service manager.

systemd tracks processes using the Linux kernel's cgroups subsystem instead of using process identifiers (PIDs); thus, daemons cannot "escape" systemd, not even by double-forking. systemd not only uses cgroups, but also augments them with systemd-nspawn and machinectl, two utility programs that facilitate the creation and management of Linux containers.40 Since version 205, systemd also offers ControlGroupInterface, which is an API to the Linux kernel cgroups.41 The Linux kernel cgroups are adapted to support kernfs,42 and are being modified to support a unified hierarchy.43

Ancillary components

Beside its primary purpose of providing a Linux init system, the systemd suite can provide additional functionality, including the following components:

journald systemd-journald is a daemon responsible for event logging, with append-only binary files serving as its logfiles. The system administrator may choose whether to log system events with systemd-journald, syslog-ng or rsyslog. The potential for corruption of the binary format has led to much heated debate.44 libudev libudev is the standard library for utilizing udev, which allows third-party applications to query udev resources. localed localed manages the system locale and keyboard layout. logind systemd-logind is a daemon that manages user logins and seats in various ways. It is an integrated login manager that offers multiseat improvements45 and replaces ConsoleKit, which is no longer maintained.46 For X11 display managers the switch to logind requires a minimal amount of porting.47 It was integrated in systemd version 30. hostnamed hostnamed manages the system hostname. homed homed is a daemon that provides portable human-user accounts that are independent of current system configuration. homed moves various pieces of data such as UID/GID from various places across the filesystem into one file, ~/.identity. homed manages the user's home directory in various ways such as a plain directory, a btrfs subvolume, a Linux Unified Key Setup volume, an fscrypt directory, or mounted from an SMB server. networkd networkd is a daemon to handle the configuration of the network interfaces; in version 209, when it was first integrated, support was limited to statically assigned addresses and basic support for bridging configuration.4849505152 In July 2014, systemd version 215 was released, adding new features such as a DHCP server for IPv4 hosts, and VXLAN support.5354 networkctl may be used to review the state of the network links as seen by systemd-networkd.55 Configuration of new interfaces has to be added under the /lib/systemd/network/ as a new file ending with .network extension. resolved provides network name resolution to local applications systemd-boot systemd-boot is a boot manager, formerly known as gummiboot. Kay Sievers merged it into systemd with rev 220. systemd-bsod systemd-bsod is an error reporter used to generate Blue Screen of Death. systemd-nspawn systemd-nspawn may be used to run a command or OS in a namespace container. timedated systemd-timedated is a daemon that can be used to control time-related settings, such as the system time, system time zone, or selection between UTC and local time-zone system clock. It is accessible through D-Bus.56 It was integrated in systemd version 30. timesyncd timesyncd is a client NTP daemon for synchronizing the system clock across the network. tmpfiles systemd-tmpfiles is a utility that takes care of creation and clean-up of temporary files and directories. It is normally run once at startup and then in specified intervals. udevd udev is a device manager for the Linux kernel, which handles the /dev directory and all user space actions when adding/removing devices, including firmware loading. In April 2012, the source tree for udev was merged into the systemd source tree.5758 In order to match the version number of udev, systemd maintainers bumped the version number directly from 44 to 183.59 On 29 May 2014, support for firmware loading through udev was dropped from systemd, as it was decided that the kernel should be responsible for loading firmware.60

Configuration of systemd

systemd is configured exclusively via plain-text files although GUI tools such as systemd-manager are also available.

systemd records initialization instructions for each daemon in a configuration file (referred to as a "unit file") that uses a declarative language, replacing the traditionally used per-daemon startup shell scripts. The syntax of the language is inspired by .ini files.61

Unit-file types62 include:

  • .service
  • .socket
  • .device (automatically initiated by systemd63)
  • .mount
  • .automount
  • .swap
  • .target
  • .path
  • .timer (which can be used as a cron-like job scheduler64)
  • .snapshot
  • .slice (used to group and manage processes and resources65)
  • .scope (used to group worker processes, not intended to be configured via unit files66)

Adoption

Linux distributionDate added to software repository67Enabled by default?Date released as defaultRuns without?
Alpine LinuxN/A (not in repository)NoYes
AndroidN/A (not in repository)NoYes
Arch LinuxJanuary 201268YesOctober 201269No
antiX LinuxN/A (not in repository)NoYes
Artix LinuxN/A (not in repository)NoYes
CentOSJuly 2014YesJuly 2014 (v7.0)No
CoreOSJuly 2013YesOctober 2013 (v94.0.0)7071No
DebianApril 201272YesApril 2015 (v8.0)73Jessie is the last release supporting installing without systemd.74 In bullseye, a number of alternative init systems are supported
DevuanN/A (not in repository)NoYes
Fedora LinuxNovember 2010 (v14)75YesMay 2011 (v15)No
Gentoo Linux76July 2011777879Optional80Yes
GNU Guix SystemN/A (not in repository)NoYes
KnoppixNo 8182Yes
Linux MintJune 2016 (v18.0)YesAugust 2018 (LMDE 3)No 83
MageiaJanuary 2011 (v1.0)84YesMay 2012 (v2.0)85No 86
Manjaro LinuxNovember 2013YesNovember 2013No
openSUSEMarch 2011 (v11.4)87YesSeptember 2012 (v12.2)88No
Parabola GNU/Linux-libreJanuary 201289Optional90Yes
Red Hat Enterprise LinuxJune 2014 (v7.0)91YesJune 2014 (v7.0)No
SlackwareN/A (not in repository)NoYes
SolusYesNo
Source MageJune 201192NoYes
SUSE Linux Enterprise ServerOctober 2014 (v12)YesOctober 2014 (v12)No
UbuntuApril 2013 (v13.04)YesApril 2015 (v15.04)Upstart option removed in Yaketty (16.10)939495
Void LinuxJune 2011, removed June 201596NoYes

While many distributions boot systemd by default, some allow other init systems to be used; in this case switching the init system is possible by installing the appropriate packages. A fork of Debian called Devuan was developed to avoid systemd9798 and has reached version 5.0 for stable usage. In December 2019, the Debian project voted in favour of retaining systemd as the default init system for the distribution, but with support for "exploring alternatives".99

Integration with other software

In the interest of enhancing the interoperability between systemd and the GNOME desktop environment, systemd coauthor Lennart Poettering asked the GNOME Project to consider making systemd an external dependency of GNOME 3.2.100

In November 2012, the GNOME Project concluded that basic GNOME functionality should not rely on systemd.101 However, GNOME 3.8 introduced a compile-time choice between the logind and ConsoleKit API, the former being provided at the time only by systemd. Ubuntu provided a separate logind binary, but systemd became a de facto dependency of GNOME for most Linux distributions, in particular since ConsoleKit is no longer actively maintained and upstream recommends the use of systemd-logind instead.102 The developers of Gentoo Linux also attempted to adapt these changes in OpenRC, but the implementation contained too many bugs, causing the distribution to mark systemd as a dependency of GNOME.103104

GNOME has further integrated logind.105 As of Mutter version 3.13.2, logind is a dependency for Wayland sessions.106

Reception

The design of systemd has ignited controversy within the free-software community. Critics regard systemd as overly complex and suffering from continued feature creep, arguing that its architecture violates the Unix philosophy. There is also concern that it forms a system of interlocked dependencies, thereby giving distribution maintainers little choice but to adopt systemd as more user-space software comes to depend on its components, which is similar to the problems created by PulseAudio, another of Lennart Poettering's projects.107108

In a 2012 interview, Slackware's lead Patrick Volkerding expressed reservations about the systemd architecture, stating his belief that its design was contrary to the Unix philosophy of interconnected utilities with narrowly defined functionalities.109 As of August 2018[update], Slackware does not support or use systemd, but Volkerding has not ruled out the possibility of switching to it.110

In January 2013, Lennart Poettering attempted to address concerns about systemd in a blog post called The Biggest Myths.111

In February 2014, musl's Rich Felker opined that PID 1 is too special to be saddled with additional responsibilities, believing that PID 1 should only be responsible for starting the rest of the init system and reaping zombie processes, and that the additional functionality added by systemd can be provided elsewhere and unnecessarily increases the complexity and attack surface of PID 1.112

In March 2014, Eric S. Raymond commented that systemd's design goals were prone to mission creep and software bloat.113 In April 2014, Linus Torvalds expressed reservations about the attitude of Kay Sievers, a key systemd developer, toward users and bug reports in regard to modifications to the Linux kernel submitted by Sievers.114 In late April 2014, a campaign to boycott systemd was launched, with a website listing various reasons against its adoption.115116

In an August 2014 article published in InfoWorld, Paul Venezia wrote about the systemd controversy and attributed the controversy to violation of the Unix philosophy, and to "enormous egos who firmly believe they can do no wrong".117 The article also characterizes the architecture of systemd as similar to that of svchost.exe, a critical system component in Microsoft Windows with a broad functional scope.118

In a September 2014 ZDNet interview, prominent Linux kernel developer Theodore Ts'o expressed his opinion that the dispute over systemd's centralized design philosophy, more than technical concerns, indicates a dangerous general trend toward uniformizing the Linux ecosystem, alienating and marginalizing parts of the open-source community, and leaving little room for alternative projects. He cited similarities with the attitude he found in the GNOME project toward non-standard configurations.119 On social media, Ts'o also later compared the attitudes of Sievers and his co-developer, Lennart Poettering, to that of GNOME's developers.120

Forks and alternative implementations

Forks of systemd are closely tied to critiques of it outlined in the above section. Forks generally try to improve on at least one of portability (to other libcs and Unix-like systems), modularity, or size. A few forks have collaborated under the FreeInit banner.121

Forks of components

eudev

In 2012, the Gentoo Linux project created a fork of udev in order to avoid dependency on the systemd architecture. The resulting fork is called eudev and it makes udev functionality available without systemd.122 A stated goal of the project is to keep eudev independent of any Linux distribution or init system.123 In 2021, Gentoo announced that support of eudev would cease at the beginning of 2022. An independent group of maintainers have since taken up eudev.124

elogind

Elogind is the systemd project's "logind", extracted to be a standalone daemon. It integrates with PAM to know the set of users that are logged into a system and whether they are logged in graphically, on the console, or remotely. Elogind exposes this information via the standard org.freedesktop.login1 D-Bus interface, as well as through the file system using systemd's standard /run/systemd layout. Elogind also provides "libelogind", which is a subset of the facilities offered by "libsystemd". There is a "libelogind.pc" pkg-config file as well.125

Alternatives to components

ConsoleKit2

ConsoleKit was forked in October 2014 by Xfce developers wanting its features to still be maintained and available on operating systems other than Linux. While not ruling out the possibility of reviving the original repository in the long term, the main developer considers ConsoleKit2 a temporary necessity until systembsd matures.126

Abandoned forks

Fork of components

LoginKit

LoginKit was an attempt to implement a logind (systemd-logind) shim, which would allow packages that depend on systemd-logind to work without dependency on a specific init system.127 The project has been defunct since February 2015.128

systembsd

In 2014, a Google Summer of Code project named "systembsd" was started in order to provide alternative implementations of these APIs for OpenBSD. The original project developer began it in order to ease his transition from Linux to OpenBSD.129 Project development finished in July 2016.130

The systembsd project did not provide an init replacement, but aimed to provide OpenBSD with compatible daemons for hostnamed, timedated, localed, and logind. The project did not create new systemd-like functionality, and was only meant to act as a wrapper over the native OpenBSD system. The developer aimed for systembsd to be installable as part of the ports collection, not as part of a base system, stating that "systemd and *BSD differ fundamentally in terms of philosophy and development practices."131

notsystemd

Notsystemd intends to implement all systemd's features working on any init system.132 It was forked by the Parabola GNU/Linux-libre developers to build packages with their development tools without the necessity of having systemd installed to run systemd-nspawn. Development ceased in July 2018.133

Fork including init system

uselessd

In 2014, uselessd was created as a lightweight fork of systemd. The project sought to remove features and programs deemed unnecessary for an init system, as well as address other perceived faults.134 Project development halted in January 2015.135

uselessd supported the musl and μClibc libraries, so it may have been used on embedded systems, whereas systemd only supports glibc. The uselessd project had planned further improvements on cross-platform compatibility, as well as architectural overhauls and refactoring for the Linux build in the future.136

InitWare

InitWare is a modular refactor of systemd, porting the system to BSD platforms without glibc or Linux-specific system calls. It is known to work on DragonFly BSD, FreeBSD, NetBSD, and GNU/Linux. Components considered unnecessary are dropped.137

See also

  • Free and open-source software portal
  • Linux portal

Notes

References

  1. "Rethinking PID 1". 30 April 2010. Archived from the original on 22 February 2022. Retrieved 20 August 2021. systemd uses many Linux-specific features, and does not limit itself to POSIX. That unlocks a lot of functionality a system that is designed for portability to other operating systems cannot provide. https://0pointer.de/blog/projects/systemd.html

  2. "InterfaceStabilityPromise". FreeDesktop.org. Archived from the original on 11 December 2017. Retrieved 14 February 2018. https://www.freedesktop.org/wiki/Software/systemd/InterfaceStabilityPromise/

  3. "systemd System and Service Manager". freedesktop.org. Archived from the original on 15 October 2020. Retrieved 19 March 2016. Yes, it is written systemd, not system D or System D, or even SystemD. And it isn't system d either. Why? Because it's a system daemon, and under Unix/Linux those are in lower case, and get suffixed with a lower case d. https://www.freedesktop.org/wiki/Software/systemd/

  4. Poettering, Lennart; Sievers, Kay; Leemhuis, Thorsten (8 May 2012), Control Centre: The systemd Linux init system, The H, archived from the original on 14 October 2012, retrieved 9 September 2012 https://web.archive.org/web/20121014173559/http://www.h-online.com/open/features/Control-Centre-The-systemd-Linux-init-system-1565543.html

  5. "Debate/initsystem/systemd - Debian Wiki". wiki.debian.org. Archived from the original on 7 December 2014. Retrieved 15 November 2021. https://wiki.debian.org/Debate/initsystem/systemd

  6. "F15 one page release notes - Fedora Project Wiki". fedoraproject.org. Archived from the original on 27 September 2013. Retrieved 15 November 2021. https://fedoraproject.org/wiki/F15_one_page_release_notes

  7. Gaudreault, Stéphane (14 August 2012). "Migration to systemd". arch-dev-public (Mailing list). Archived from the original on 20 October 2020. Retrieved 15 November 2021. https://lists.archlinux.org/pipermail/arch-dev-public/2012-August/023389.html

  8. "Freedesktop Systemd : List of security vulnerabilities". CVE Details. Archived from the original on 3 October 2021. Retrieved 3 October 2021. https://www.cvedetails.com/vulnerability-list/vendor_id-7971/product_id-38088/Freedesktop-Systemd.html

  9. Saunders, Mike (11 November 2015). "Linux 101: Get the most out of systemd". Linux Voice. Archived from the original on 29 May 2016. Retrieved 28 January 2016. https://web.archive.org/web/20160529075547/https://www.linuxvoice.com/linux-101-get-the-most-out-of-systemd/

  10. "Lennart Poettering on systemd's Tumultuous Ascendancy". 26 January 2017. Archived from the original on 8 November 2018. Retrieved 7 November 2018. https://thenewstack.io/unix-greatest-inspiration-behind-systemd/

  11. McKay, Dave (24 February 2021). "The Best Linux Distributions Without systemd". How-To Geek. Retrieved 7 December 2024. https://www.howtogeek.com/713847/the-best-linux-distributions-without-systemd/

  12. "systemd README", freedesktop.org, archived from the original on 7 July 2013, retrieved 9 September 2012 https://cgit.freedesktop.org/systemd/systemd/tree/README

  13. Simmonds, Chris (2015). "9: Starting up - the init Program". Mastering Embedded Linux Programming. Packt Publishing Ltd. p. 239. ISBN 9781784399023. Retrieved 20 June 2016. systemd defines itself as a system and service manager. The project was initiated in 2010 by Lennart Poettering and Kay Sievers to create an integrated set of tools for managing a Linux system including an init daemon. 9781784399023

  14. Lennart Poettering (30 April 2010). "Rethinking PID 1". Archived from the original on 15 January 2017. Retrieved 28 August 2010. http://0pointer.de/blog/projects/systemd.html

  15. "F15 one page release notes", fedoraproject.org, 24 May 2001, archived from the original on 27 September 2013, retrieved 24 September 2013 https://fedoraproject.org/wiki/F15_one_page_release_notes

  16. "Arch Linux - News: systemd is now the default on new installations". archlinux.org. Archived from the original on 27 October 2021. Retrieved 11 November 2021. https://archlinux.org/news/systemd-is-now-the-default-on-new-installations/

  17. Gaudreault, Stéphane (14 August 2012). "Migration to systemd". arch-dev-public (Mailing list). Archived from the original on 20 October 2020. Retrieved 15 November 2021. https://lists.archlinux.org/pipermail/arch-dev-public/2012-August/023389.html

  18. Groot, Jan de (14 August 2012). "Migration to systemd". arch-dev-public (Mailing list). Archived from the original on 17 January 2022. Retrieved 11 November 2021. https://lists.archlinux.org/pipermail/arch-dev-public/2012-August/023392.html

  19. "Archlinux is moving to systemd (Page 2) / Arch Discussion / Arch Linux Forums". bbs.archlinux.org. Archived from the original on 10 November 2012. Retrieved 19 November 2021. https://bbs.archlinux.org/viewtopic.php?pid=1149530#p1149530

  20. "#727708 - tech-ctte: Decide which init system to default to in Debian". 25 October 2013. Archived from the original on 17 April 2016. Retrieved 14 September 2014. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=727708

  21. "Which init system for Debian?". 5 November 2013. Archived from the original on 6 October 2014. Retrieved 14 September 2014. https://lwn.net/Articles/572805/

  22. "Debian Still Debating systemd Vs. Upstart Init System". Phoronix. 30 December 2013. Archived from the original on 23 August 2014. Retrieved 14 September 2014. https://www.phoronix.com/scan.php?page=news_item&px=MTU1NjA

  23. "Losing graciously". 14 February 2014. Archived from the original on 8 September 2014. Retrieved 14 September 2014. https://www.markshuttleworth.com/archives/1316

  24. "Quantal, raring, saucy..." 18 October 2013. Archived from the original on 28 August 2014. Retrieved 14 September 2014. https://www.markshuttleworth.com/archives/1295

  25. Hess, Joey. "on leaving". Archived from the original on 16 July 2015. Retrieved 15 July 2015. https://joeyh.name/blog/entry/on_leaving/

  26. Allbery, Russ (16 November 2014). "Resigning from the Technical Committee". debian-ctte (Mailing list). Archived from the original on 11 June 2015. Retrieved 15 July 2015. https://lists.debian.org/debian-ctte/2014/11/msg00071.html

  27. Jackson, Ian (19 November 2014). "Resignation". debian-ctte (Mailing list). Archived from the original on 11 June 2015. Retrieved 15 July 2015. https://lists.debian.org/debian-ctte/2014/11/msg00091.html

  28. Heen, Tollef Fog (16 November 2014). "Resignation from the pkg-systemd maintainer team". pkg-systemd-maintainers (Mailing list). Archived from the original on 11 June 2015. Retrieved 15 July 2015. https://lists.alioth.debian.org/pipermail/pkg-systemd-maintainers/2014-November/004563.html

  29. Carroty, Paul (28 August 2015). "Lennart Poettering merged 'su' command replacement into systemd: Test Drive on Fedora Rawhide". Archived from the original on 4 September 2015. https://web.archive.org/web/20150904232722/https://tlhp.cf/lennart-poettering-su/

  30. "Assertion failure when PID 1 receives a zero-length message over notify socket #4234". GitHub. 28 September 2016. Archived from the original on 5 October 2016. Retrieved 6 October 2016. https://github.com/systemd/systemd/issues/4234

  31. Felker, Rich (3 October 2016). "Hack Crashes Linux Distros with 48 Characters of Code". Kaspersky Lab. Archived from the original on 6 October 2016. Retrieved 6 October 2016. https://threatpost.com/hack-crashes-linux-distros-with-48-characters-of-code/121052/

  32. "CVE-2017-9445 Details", National Vulnerability Database, National Institute of Standards and Technology (U.S.), 6 July 2017, archived from the original on 6 July 2018, retrieved 6 July 2018 https://nvd.nist.gov/vuln/detail/CVE-2017-9445

  33. "CVE-2017-9445", The Common Vulnerabilities and Exposures database, The Mitre Corporation, 5 June 2017, archived from the original on 6 July 2018, retrieved 6 July 2018 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9445

  34. "Pwnie Awards 2017, Lamest Vendor Response: SystemD bugs". Pwnie Awards. Archived from the original on 10 June 2021. Retrieved 10 June 2021. https://pwnies.com/systemd-bugs/

  35. Poettering, Lennart (May 2014). "A Perspective for systemd: What Has Been Achieved, and What Lies Ahead" (PDF). Archived (PDF) from the original on 8 February 2015. Retrieved 30 November 2014. https://0pointer.de/public/gnomeasia2014.pdf

  36. "What is systemd?". Linode. 11 September 2019. Archived from the original on 24 January 2020. Retrieved 15 September 2019. https://www.linode.com/docs/quick-answers/linux-essentials/what-is-systemd/

  37. "Inhibitor Locks". freedesktop.org. Archived from the original on 3 May 2020. Retrieved 15 September 2019. https://www.freedesktop.org/wiki/Software/systemd/inhibit/

  38. Poettering, Lennart (26 January 2013). "The Biggest Myths". Archived from the original on 17 October 2021. Retrieved 20 August 2021. https://0pointer.de/blog/projects/the-biggest-myths.html

  39. "Debate/initsystem/systemd – Debian Documentation". Debian. 2 January 2014. Archived from the original on 7 December 2014. Retrieved 4 December 2014. https://wiki.debian.org/Debate/initsystem/systemd

  40. Edge, Jake (7 November 2013). "Creating containers with systemd-nspawn". LWN.net. Archived from the original on 23 August 2014. Retrieved 30 July 2014. https://lwn.net/Articles/572957/

  41. "ControlGroupInterface". freedesktop.org. Archived from the original on 12 December 2014. Retrieved 9 November 2014. https://www.freedesktop.org/wiki/Software/systemd/ControlGroupInterface/

  42. Heo, Tejun (28 January 2014). "cgroup: convert to kernfs". linux-kernel (Mailing list). Archived from the original on 12 October 2018. Retrieved 24 May 2014. https://lkml.org/lkml/2014/1/28/502

  43. Heo, Tejun (13 March 2014). "cgroup: prepare for the default unified hierarchy". linux-kernel (Mailing list). Archived from the original on 20 March 2014. Retrieved 24 May 2014. https://lkml.org/lkml/2014/3/13/503

  44. "systemd's binary logs and corruption". 17 February 2014. Archived from the original on 11 May 2016. Retrieved 21 January 2016. https://www.reddit.com/r/linux/comments/1y6q0l/systemds_binary_logs_and_corruption/

  45. "systemd-logind.service". freedesktop.org. Archived from the original on 11 April 2014. Retrieved 17 February 2014. https://www.freedesktop.org/software/systemd/man/systemd-logind.service.html

  46. "ConsoleKit official website". freedesktop.org. Archived from the original on 18 October 2014. Retrieved 9 November 2014. https://www.freedesktop.org/wiki/Software/ConsoleKit/

  47. "How to hook up your favorite X11 display manager with systemd". freedesktop.org. Archived from the original on 28 March 2016. Retrieved 19 March 2016. https://www.freedesktop.org/wiki/Software/systemd/writing-display-managers/

  48. "Networking in +systemd - 1. Background". 27 November 2013. Archived from the original on 13 March 2014. Retrieved 22 February 2014. https://plus.google.com/+TomGundersen/posts/bDQCP5ZyQ3h

  49. "Networking in +systemd - 2. libsystemd-rtnl". 27 November 2013. Archived from the original on 13 March 2014. Retrieved 22 February 2014. https://plus.google.com/+TomGundersen/posts/JhaBNn8Ytwu

  50. "Networking in +systemd - 3. udev". 27 November 2013. Archived from the original on 13 March 2014. Retrieved 22 February 2014. https://plus.google.com/+TomGundersen/posts/anS8GseSAfw

  51. "Networking in +systemd - 4. networkd". 27 November 2013. Archived from the original on 13 March 2014. Retrieved 22 February 2014. https://plus.google.com/+TomGundersen/posts/8d1tzMJWppJ

  52. "Networking in +systemd - 5. the immediate future". 27 November 2013. Archived from the original on 13 March 2014. Retrieved 22 February 2014. https://plus.google.com/+TomGundersen/posts/U6Es8bpmMbP

  53. Larabel, Michael (4 July 2014). "systemd 215 Works On Factory Reset, DHCPv4 Server Support". Archived from the original on 17 October 2014. Retrieved 8 November 2014. https://www.phoronix.com/scan.php?page=news_item&px=MTczNDA

  54. Šimerda, Pavel (3 February 2013). "Can Linux network configuration suck less?". https://archive.fosdem.org/2013/schedule/event/dist_network/

  55. networkctl(1) – Linux User Manual – User Commands https://manned.org/networkctl.1

  56. "timedated". freedesktop.org. Archived from the original on 11 October 2014. Retrieved 9 November 2014. https://www.freedesktop.org/wiki/Software/systemd/timedated/

  57. Sievers, Kay. "The future of the udev source tree". vger.kernel.org/vger-lists.html#linux-hotplug linux-hotplug (Mailing list). Archived from the original on 16 February 2015. Retrieved 22 May 2013. http://article.gmane.org/gmane.linux.hotplug.devel/17392

  58. Sievers, Kay, "Commit importing udev into systemd", freedesktop.org, archived from the original on 20 April 2013, retrieved 25 May 2012 https://cgit.freedesktop.org/systemd/systemd/commit/?id=19c5f19d69bb5f520fa7213239490c55de06d99d

  59. Proven, Liam. "Version 252 of systemd released". The Register. Archived from the original on 5 November 2022. Retrieved 5 November 2022. https://www.theregister.com/2022/11/03/version_252_systemd/

  60. "[PATCH] Drop the udev firmware loader". systemd-devel (Mailing list). 29 May 2014. Archived from the original on 14 August 2020. Retrieved 16 June 2019. http://lists.freedesktop.org/archives/systemd-devel/2014-May/019587.html

  61. "systemd.syntax". www.freedesktop.org. Archived from the original on 27 July 2021. Retrieved 27 July 2021. https://www.freedesktop.org/software/systemd/man/systemd.syntax.html

  62. "systemd.unit man page". freedesktop.org. Archived from the original on 28 March 2016. Retrieved 19 March 2016. https://www.freedesktop.org/software/systemd/man/systemd.unit.html

  63. "systemd.device". www.freedesktop.org. Archived from the original on 27 July 2021. Retrieved 27 July 2021. https://www.freedesktop.org/software/systemd/man/systemd.device.html

  64. "systemd Dreams Up New Feature, Makes It Like Cron". Phoronix. 28 January 2013. Archived from the original on 3 January 2014. Retrieved 22 January 2014. https://www.phoronix.com/scan.php?page=news_item&px=MTI4NTk

  65. "systemd.slice (5) - Linux Man Pages". Archived from the original on 19 February 2023. Retrieved 12 March 2018. ... a slice ... is a concept for hierarchically managing resources of a group of processes. https://www.systutorials.com/docs/linux/man/5-systemd.slice/

  66. "systemd.scope". FreeDesktop.org. Archived from the original on 27 July 2021. Retrieved 27 July 2021. https://www.freedesktop.org/software/systemd/man/systemd.scope.html

  67. Dates are for the general availability release. /wiki/General_availability

  68. "Git clone of the 'packages' repository". Web interface to the Arch Linux git repositories. 12 January 2012. Archived from the original on 16 February 2015. Retrieved 31 August 2014. https://projects.archlinux.org/svntogit/packages.git/commit/trunk/PKGBUILD?h=packages%2Fsystemd&id=982ee75b9cda95d9357e9b80a931f7b52638c42b

  69. "systemd is now the default on new installations". Arch Linux. Archived from the original on 15 October 2012. Retrieved 29 October 2012. https://www.archlinux.org/news/systemd-is-now-the-default-on-new-installations/

  70. "coreos/manifest: Releases: v94.0.0". github.com. 3 October 2013. Archived from the original on 10 September 2020. Retrieved 22 September 2014. https://github.com/coreos/manifest/releases/tag/v94.0.0

  71. "CoreOS's init system", coreos.com, archived from the original on 14 February 2014, retrieved 14 February 2014 https://web.archive.org/web/20140214143636/https://coreos.com/using-coreos/systemd/

  72. "systemd". debian.org. Archived from the original on 29 December 2014. Retrieved 19 November 2014. https://packages.debian.org/search?keywords=systemd

  73. Garbee, Bdale (11 February 2014). "Bug#727708: call for votes on default Linux init system for jessie". debian-ctte (Mailing list). Archived from the original on 22 February 2014. Retrieved 11 February 2014. https://lists.debian.org/debian-ctte/2014/02/msg00405.html

  74. "systemd - system and service manager". Debian Wiki. Installing without systemd. Archived from the original on 4 April 2018. Retrieved 3 April 2018. https://wiki.debian.org/systemd#Installing_without_systemd

  75. "Fedora 14 talking points". Archived from the original on 9 June 2015. Retrieved 28 April 2015. https://fedoraproject.org/wiki/Fedora_14_talking_points#Systemd

  76. systemd is supported in Gentoo as an alternative to OpenRC, the default init system[80] for those who "want to use systemd instead, or are planning to use Gnome 3.8 and later (which requires systemd)"[81]

  77. "systemd", wiki.gentoo.org, archived from the original on 12 October 2012, retrieved 26 August 2012 https://wiki.gentoo.org/wiki/systemd

  78. "Comment #210 (bug #318365)", gentoo.org, archived from the original on 16 February 2015, retrieved 5 July 2011 https://bugs.gentoo.org/show_bug.cgi?id=318365#c210

  79. "systemd", gentoo.org, archived from the original on 26 June 2011, retrieved 5 July 2011 https://www.gentoo.org/proj/en/base/systemd/

  80. "Downloads – Gentoo Linux". https://www.gentoo.org/downloads/

  81. "KNOPPIX 7.4.2 Release Notes". Archived from the original on 6 January 2018. Retrieved 26 April 2018. ...script-based KNOPPIX system start with sysvinit https://web.archive.org/web/20180106123143/http://www.knopper.net/knoppix/knoppix742-en.html

  82. "KNOPPIX 8.0 Die Antwort auf Systemd (German)". Archived from the original on 13 June 2018. Retrieved 13 June 2018. ...Knoppix 'boot process continues to run via Sys-V init with few bash scripts that start the system services efficiently sequentially or in parallel. (The original German text: Knoppix' Startvorgang läuft nach wie vor per Sys-V-Init mit wenigen Bash-Skripten, welche die Systemdienste effizient sequenziell oder parallel starten.) https://web.archive.org/web/20180613054903/https://www.golem.de/news/live-linux-knoppix-8-0-bringt-moderne-technik-fuer-neue-hardware-1703-126811-3.html

  83. "LM Blog: both Mint 18 and LMDE 3 will switch to systemd". 10 April 2015. Archived from the original on 27 November 2021. Retrieved 27 November 2021. https://blog.linuxmint.com/?p=2808#comment-116426

  84. ChangeLog of Mageia's systemd package, archived from the original on 28 March 2016, retrieved 19 March 2016 https://rpmfind.net//linux/RPM/mageia/1/x86_64/media/core/release/systemd-18-1.mga1.x86_64.html

  85. Scherschel, Fabian (23 May 2012), Mageia 2 arrives with GNOME 3 and systemd, The H, archived from the original on 8 December 2013, retrieved 22 August 2012 https://web.archive.org/web/20131208100442/http://www.h-online.com/open/news/item/Mageia-2-arrives-with-GNOME-3-and-systemd-1582479.html

  86. "Mageia forum • View topic - is it possible to replace systemd?". Archived from the original on 19 February 2023. Retrieved 5 May 2020. https://forums.mageia.org/en/viewtopic.php?f=7&t=11169

  87. Directory view of the 11.4 i586 installation showing presence of the systemd v18 installables, 23 February 2011, archived from the original on 28 September 2013, retrieved 24 September 2013 http://download.opensuse.org/distribution/11.4/repo/oss/suse/i586/

  88. "OpenSUSE: Not Everyone Likes systemd". Phoronix. Archived from the original on 15 March 2016. Retrieved 19 March 2016. The recently released openSUSE 12.2 does migrate from SysVinit to systemd https://www.phoronix.com/scan.php?page=news_item&px=MTE4MDY

  89. "Git clone of the 'packages' repository". Web interface to the Arch Linux git repositories. 12 January 2012. Archived from the original on 16 February 2015. Retrieved 31 August 2014. https://projects.archlinux.org/svntogit/packages.git/commit/trunk/PKGBUILD?h=packages%2Fsystemd&id=982ee75b9cda95d9357e9b80a931f7b52638c42b

  90. "Parabola ISO Download Page". Archived from the original on 1 July 2016. Retrieved 18 March 2019. https://wiki.parabola.nu/Get_Parabola

  91. Red Hat Unveils Red Hat Enterprise Linux 7, 10 June 2014, archived from the original on 14 July 2014, retrieved 19 March 2016 https://www.redhat.com/about/news/press-archive/2014/6/red-hat-unveils-rhel-7

  92. "Initial entry of the "systemd" spell". Archived from the original on 23 September 2020. Retrieved 21 May 2019. http://scmweb.sourcemage.org/smgl/grimoire.git/commit/smgl/systemd?id=a635ca906741db0dcd2725fcf5fa4502693b98a4

  93. "Ubuntu Wiki: Switching init systems". Archived from the original on 3 June 2016. Retrieved 3 July 2016. https://wiki.ubuntu.com/SystemdForUpstartUsers#Switching_init_systems

  94. "Linked packages : upstart". Launchpad. Archived from the original on 12 May 2021. Retrieved 17 June 2019. https://launchpad.net/upstart/+packages#packages-1-x

  95. Missing functionality using init systems other than systemd[citation needed] /wiki/Wikipedia:Citation_needed

  96. "Void-Package: systemd: removed; no plans to resurrect this". GitHub. Archived from the original on 19 February 2023. Retrieved 24 July 2018. https://github.com/void-linux/void-packages/commit/dc6429e189adcaa775648c554256b877ae7fcefd

  97. "Meet Devuan, the Debian fork born from a bitter systemd revolt". Archived from the original on 9 December 2014. Retrieved 24 February 2015. http://www.pcworld.com/article/2854717/meet-devuan-the-debian-fork-born-from-a-bitter-systemd-revolt.html

  98. Sharwood, Simon (5 May 2017). "systemd-free Devuan Linux hits RC2". The Register. Archived from the original on 5 May 2017. Retrieved 5 May 2017. https://www.theregister.co.uk/2017/05/05/devuan_release_candidate_2/

  99. "Debian Developers Decide On Init System Diversity: "Proposal B" Wins". Phoronix. Archived from the original on 28 December 2019. Retrieved 28 December 2019. https://www.phoronix.com/scan.php?page=news_item&px=Debian-Devs-Vote-For-Prop-B

  100. Poettering, Lennart (18 May 2011). "systemd as an external dependency". desktop-devel (Mailing list). GNOME. Archived from the original on 27 May 2011. Retrieved 26 May 2011. https://mail.gnome.org/archives/desktop-devel-list/2011-May/msg00427.html

  101. Peters, Frederic (4 November 2011). "20121104 meeting minutes". GNOME release-team (Mailing list). Archived from the original on 7 September 2014. Retrieved 14 January 2013. https://mail.gnome.org/archives/release-team/2012-November/msg00015.html

  102. "ConsoleKit". Archived from the original on 18 October 2014. Retrieved 15 November 2014. ConsoleKit is currently not actively maintained. The focus has shifted to the built-in seat/user/session management of Software/systemd called systemd-logind! https://www.freedesktop.org/wiki/Software/ConsoleKit/

  103. Vitters, Olav (25 September 2013). "GNOME and logind+systemd thoughts". Archived from the original on 24 April 2014. Retrieved 24 April 2014. https://blogs.gnome.org/ovitters/2013/09/25/gnome-and-logindsystemd-thoughts/

  104. "GNOME 3.10 arrives with experimental Wayland support". ZDNet. Archived from the original on 24 April 2014. Retrieved 24 April 2014. https://www.zdnet.com/article/gnome-3-10-arrives-with-experimental-wayland-support/

  105. "GNOME initiatives: systemd". Archived from the original on 2 May 2014. Retrieved 9 May 2018. https://wiki.gnome.org/Initiatives/Systemd

  106. "Mutter 3.13.2: launcher: Replace mutter-launch with logind integration". 19 May 2014. Archived from the original on 16 February 2015. Retrieved 28 May 2014. https://git.gnome.org/browse/mutter/commit/?id=dcf64ca1678a2950842708bee146f09a063ed828

  107. Vaughan-Nichols, Steven (19 September 2014). "Linus Torvalds and others on Linux's systemd". ZDNet. CBS Interactive. Archived from the original on 25 February 2015. Retrieved 24 February 2015. https://www.zdnet.com/article/linus-torvalds-and-others-on-linuxs-systemd/

  108. "1345661 - PulseAudio requirement breaks Firefox on ALSA-only systems". Bugzilla. Mozilla. 3 September 2021. Archived from the original on 3 October 2021. Retrieved 3 October 2021. https://bugzilla.mozilla.org/show_bug.cgi?id=1345661

  109. "Interview with Patrick Volkerding of Slackware". linuxquestions.org. 7 June 2012. Archived from the original on 3 May 2013. Retrieved 19 March 2014. https://www.linuxquestions.org/questions/interviews-28/interview-with-patrick-volkerding-of-slackware-949029/

  110. "I'm back after a break from Slackware: sharing thoughts and seeing whats new!". linuxquestions.org. Archived from the original on 13 March 2014. Retrieved 14 March 2014. https://www.linuxquestions.org/questions/slackware-14/i%27m-back-after-a-break-from-slackware-sharing-thoughts-and-seeing-whats-new-4175482641/#post5054861

  111. Poettering, Lennart (26 January 2013). "The Biggest Myths". Archived from the original on 17 October 2021. Retrieved 20 August 2021. https://0pointer.de/blog/projects/the-biggest-myths.html

  112. Rich Felker (9 February 2014). "Broken by design: systemd". Archived from the original on 23 October 2019. http://ewontfix.com/14/

  113. "Interviews: ESR Answers Your Questions". Slashdot.org. 10 March 2014. Archived from the original on 22 March 2014. Retrieved 19 March 2014. https://interviews.slashdot.org/story/14/03/10/137246/interviews-esr-answers-your-questions

  114. Torvalds, Linus (2 April 2014). "Re: [RFC PATCH] cmdline: Hide "debug" from /proc/cmdline". linux-kernel (Mailing list). Archived from the original on 22 October 2017. Retrieved 8 July 2014. https://lkml.org/lkml/2014/4/2/420

  115. "Is systemd as bad as boycott systemd is trying to make it?". LinuxBSDos.com. 3 September 2014. Archived from the original on 24 September 2014. Retrieved 22 September 2014. https://linuxbsdos.com/2014/09/03/is-systemd-as-bad-as-boycott-systemd-is-trying-to-make-it/

  116. "Boycott systemd.org". Archived from the original on 6 May 2014. Retrieved 15 July 2015. https://web.archive.org/web/20140506135435/http://boycottsystemd.org

  117. Venezia, Paul (18 August 2014). "systemd: Harbinger of the Linux apocalypse". Archived from the original on 26 September 2014. Retrieved 20 September 2014. http://www.infoworld.com/article/2608798/data-center/systemd--harbinger-of-the-linux-apocalypse.html

  118. Venezia, Paul (18 August 2014). "systemd: Harbinger of the Linux apocalypse". Archived from the original on 26 September 2014. Retrieved 20 September 2014. http://www.infoworld.com/article/2608798/data-center/systemd--harbinger-of-the-linux-apocalypse.html

  119. "Linus Torvalds and others on Linux's systemd". ZDNet. Archived from the original on 20 November 2014. Retrieved 21 November 2014. https://www.zdnet.com/article/linus-torvalds-and-others-on-linuxs-systemd/

  120. "A realization that I recently came to while discussing the whole systemd..." 31 March 2014. Archived from the original on 17 July 2014. Retrieved 8 July 2014. https://web.archive.org/web/20140717023158/https://plus.google.com/+TheodoreTso/posts/4W6rrMMvhWU

  121. "FreeInit.org". www.freeinit.org. Archived from the original on 1 August 2021. Retrieved 1 August 2021. https://freeinit.org/

  122. "eudev/README". GitHub. Archived from the original on 16 February 2015. Retrieved 1 June 2015. https://web.archive.org/web/20150216210900/https://github.com/gentoo/eudev/blob/master/README

  123. "Gentoo eudev project". Archived from the original on 4 September 2015. Retrieved 1 June 2015. https://web.archive.org/web/20150904074508/https://wiki.gentoo.org/wiki/Project:Eudev

  124. Basile, Anthony G. (24 August 2021). "eudev retirement on 2022-01-01". Repository news items. Gentoo Linux. Archived from the original on 30 June 2022. Retrieved 14 June 2022. https://www.gentoo.org/support/news-items/2021-08-24-eudev-retirement.html

  125. "elogind/README". GitHub. Archived from the original on 19 February 2023. Retrieved 2 September 2015. https://github.com/andywingo/elogind/blob/master/README

  126. Koegel, Eric (20 October 2014). "ConsoleKit2". Archived from the original on 2 April 2015. Retrieved 7 March 2015. https://erickoegel.wordpress.com/2014/10/20/consolekit2/

  127. "loginkit/README". GitHub. Archived from the original on 19 February 2023. Retrieved 4 December 2014. https://github.com/dimkr/LoginKit/blob/master/README

  128. "dimkr/LoginKit (Github)". GitHub. Archived from the original on 19 February 2023. Retrieved 8 July 2018. https://github.com/dimkr/LoginKit/tree/master

  129. "GSoC 2014: systemd replacement utilities (systembsd)". OpenBSD Journal. Archived from the original on 29 November 2014. Retrieved 28 November 2014. http://undeadly.org/cgi?action=article&sid=20140915064856

  130. projects / systembsd.git / summary, archived from the original on 9 July 2018, retrieved 8 July 2018 https://uglyman.kremlin.cc/gitweb/gitweb.cgi?p=systembsd.git;a=summary

  131. "GSoC 2014: systemd replacement utilities (systembsd)". OpenBSD Journal. Archived from the original on 29 November 2014. Retrieved 28 November 2014. http://undeadly.org/cgi?action=article&sid=20140915064856

  132. Luke Shumaker (17 June 2017). "notsystemd v232.1 release announcement". [email protected] (Mailing list). Archived from the original on 5 August 2017. Retrieved 5 August 2017. http://www.mail-archive.com/[email protected]/msg03209.html

  133. "notsystemd". Parabola GNU/Linux-libre. Archived from the original on 8 December 2023. Retrieved 8 December 2023. https://repo.parabola.nu/other/notsystemd/

  134. Larabel, Michael (21 September 2014). "Uselessd: A Stripped Down Version Of systemd". Phoronix. Archived from the original on 17 October 2014. Retrieved 26 October 2014. https://www.phoronix.com/scan.php?page=news_item&px=MTc5MzA

  135. "Uselessd is dead". Uselessd website. Archived from the original on 16 May 2015. Retrieved 17 February 2017. https://web.archive.org/web/20150516113530/http://uselessd.darknedgy.net/

  136. "uselessd :: information system". uselessd.darknedgy.net. Archived from the original on 16 May 2015. Retrieved 26 October 2014. https://web.archive.org/web/20150516113530/http://uselessd.darknedgy.net/

  137. "InitWare/InitWare: The InitWare Suite of Middleware allows you to manage services and system resources as logical entities called units. Its main component is a service management ("init") system". GitHub. 14 November 2021. Archived from the original on 1 August 2021. Retrieved 1 August 2021. https://github.com/InitWare/InitWare