To change Debian buster from systemd to sysvinit

About these instructions

These instructions are for installing the sysvinit init program on Debian GNU/Linux "buster" (10) systems. This is done through installing the sysvinit-core package and elogind packages. The elogind package provides backwards compatibility with systemd. The instructions also seem to work for LMDE 4 (Linux Mint Debian Edition 4 "debbie").

I have chosen to recommend using rescue media because systemd does not allow the removal of the package while it is running, and because you would have to force your reboot after you removed it anyway. The boot media plan seems cleaner and more reasonable.

Warning: The developers have stated that the libpam-elogind-compat package from experimental is never meant to be used by end users. So you might not get support from anybody on these changes, although they worked mostly for me.

Note: These instructions work on installed Debian 10 systems, but also you can run these commands near the end of the install procedure if you are installing Debian. They will do the same thing.

Boot with your Debian install media, or your rescue disc of choice.

Boot with your Debian install disc or USB mass storage device. Choose rescue mode. Answer all of the questions.

Mount your harddrive and chroot into the filesystem

Choose your root filesystem, possibly the /dev/sda1 block device. Choose to execute a shell in that device.

Add sources for experimental and unstable to the APT sources.list

Edit your /etc/apt/sources.list file, for example with the nano command.

Add a line for unstable, for example, like this one.

deb http://deb.debian.org/debian unstable main

Add another line for experimental, like this one:

deb http://deb.debian.org/debian experimental main

You can add contrib and non-free clauses to that line, and you can add deb-src lines, too.

Then run:

apt-get update

Create unstable pin for APT

This is so your system doesn't download and upgrade everything to unstable.

Create a file /etc/apt/preferences.d/unstable-pin and edit it, and put this in the file:

Package: *
Pin: release a=unstable
Pin-Priority: -1

Install the relevant sysvinit and no-systemd packages

Run:

apt-get install sysvinit-core elogind/unstable libpam-elogind-compat libelogind0/unstable libpam-elogind/unstable

Reboot your system

Exit the shell and choose the "reboot the system" option from the Debian rescue menu. (Or you can run the reboot command.) You may wish to remove the Debian install media before you reboot so your computer does not automatically boot from it.

Additional notes

If you want i386 support, such as for wine32 or Steam I think you need to install the libelogind0:i386/unstable package.


Home, Technology, Linux

Contact