At boot, systemd-binfmt.service(8) reads configuration files from the above directories to register in the kernel additional binary formats for executables.


Each file contains a list of binfmt_misc kernel binary format rules. Consult \m[blue]binfmt_misc.txt\m[]\s-2\u[1]\d\s+2 for more information on registration of additional binary formats and how to write rules.

Empty lines and lines beginning with ; and # are ignored. Note that this means you may not use ; and # as delimiter in binary format rules.

Each configuration file shall be named in the style of program.conf. Files in /etc/ override files with the same name in /usr/lib/ and /run/. Files in /run/ override files with the same name in /usr/lib/. Packages should install their configuration files in /usr/lib/, files in /etc/ are reserved for the local administrator, who may use this logic to override the configuration files installed from vendor packages. All files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same binary type name, the entry in the file with the lexicographically latest name will be applied.

If the administrator wants to disable a configuration file supplied by the vendor, the recommended way is to place a symlink to /dev/null in /etc/binfmt.d/ bearing the same filename.


Example 1. /etc/binfmt.d/wine.conf example:

# Start WINE on Windows executables

RELATED TO binfmt.d…