Hi! I wanted to test how well qemu-linux-user works on openSUSE but I noticed that binfmt handling does not work and I cannot change into a Debian/m68k chroot, for example. I noticed that systemd-binfmt refuses to start. Does any know what the cause here is before I start digging? suse-laptop:~ # systemctl start systemd-binfmt.service suse-laptop:~ # systemctl status systemd-binfmt.service ○ systemd-binfmt.service - Set Up Additional Binary Formats Loaded: loaded (/usr/lib/systemd/system/systemd-binfmt.service; static) Active: inactive (dead) Condition: start condition failed at Tue 2021-10-26 00:17:36 CEST; 2s ago ├─ ConditionDirectoryNotEmpty=|/lib/binfmt.d was not met ├─ ConditionDirectoryNotEmpty=|/usr/lib/binfmt.d was not met ├─ ConditionDirectoryNotEmpty=|/usr/local/lib/binfmt.d was not met ├─ ConditionDirectoryNotEmpty=|/etc/binfmt.d was not met └─ ConditionDirectoryNotEmpty=|/run/binfmt.d was not met Docs: man:systemd-binfmt.service(8) man:binfmt.d(5) https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems Oct 25 14:34:45 suse-laptop systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. Oct 25 14:34:45 suse-laptop systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. Oct 26 00:12:50 suse-laptop systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. Oct 26 00:14:04 suse-laptop systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. Oct 26 00:15:20 suse-laptop systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. Oct 26 00:17:36 suse-laptop systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. suse-laptop:~ # Thanks, Adrian
Am 26.10.21 um 00:19 schrieb John Paul Adrian Glaubitz:
Hi!
I wanted to test how well qemu-linux-user works on openSUSE but I noticed that binfmt handling does not work and I cannot change into a Debian/m68k chroot, for example.
I noticed that systemd-binfmt refuses to start. Does any know what the cause here is before I start digging?
suse-laptop:~ # systemctl start systemd-binfmt.service suse-laptop:~ # systemctl status systemd-binfmt.service ○ systemd-binfmt.service - Set Up Additional Binary Formats Loaded: loaded (/usr/lib/systemd/system/systemd-binfmt.service; static) Active: inactive (dead) Condition: start condition failed at Tue 2021-10-26 00:17:36 CEST; 2s ago ├─ ConditionDirectoryNotEmpty=|/lib/binfmt.d was not met ├─ ConditionDirectoryNotEmpty=|/usr/lib/binfmt.d was not met ├─ ConditionDirectoryNotEmpty=|/usr/local/lib/binfmt.d was not met ├─ ConditionDirectoryNotEmpty=|/etc/binfmt.d was not met └─ ConditionDirectoryNotEmpty=|/run/binfmt.d was not met Docs: man:systemd-binfmt.service(8) man:binfmt.d(5) https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
Oct 25 14:34:45 suse-laptop systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. Oct 25 14:34:45 suse-laptop systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. Oct 26 00:12:50 suse-laptop systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. Oct 26 00:14:04 suse-laptop systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. Oct 26 00:15:20 suse-laptop systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped. Oct 26 00:17:36 suse-laptop systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
Maybe I'm missing something, but it says that a condition check made systemd skip the unit, and the condition is listed in the status page: Condition: start condition failed at Tue 2021-10-26 00:17:36 CEST; 2s ago ├─ ConditionDirectoryNotEmpty=|/lib/binfmt.d was not met ├─ ConditionDirectoryNotEmpty=|/usr/lib/binfmt.d was not met ├─ ConditionDirectoryNotEmpty=|/usr/local/lib/binfmt.d was not met ├─ ConditionDirectoryNotEmpty=|/etc/binfmt.d was not met └─ ConditionDirectoryNotEmpty=|/run/binfmt.d was not met Presumably all these directories are empty, so there are no binfmts to set up? You'll likely need this service only for persistent configuration, otherwise you might just as well mount binfmt directly and place your files there. Or maybe qemu-linux-user should install some files to /usr/lib/binfmt.d? (Assuming it doesn't do so already, I didn't check.) Best regards, Aaron
Hi Aaron! On 10/26/21 02:04, Aaron Puchert wrote:
Maybe I'm missing something, but it says that a condition check made systemd skip the unit, and the condition is listed in the status page:
Condition: start condition failed at Tue 2021-10-26 00:17:36 CEST; 2s ago ├─ ConditionDirectoryNotEmpty=|/lib/binfmt.d was not met ├─ ConditionDirectoryNotEmpty=|/usr/lib/binfmt.d was not met ├─ ConditionDirectoryNotEmpty=|/usr/local/lib/binfmt.d was not met ├─ ConditionDirectoryNotEmpty=|/etc/binfmt.d was not met └─ ConditionDirectoryNotEmpty=|/run/binfmt.d was not met
Presumably all these directories are empty, so there are no binfmts to set up?
Yes, I realized later the directories are empty which, of course, can't work.
Or maybe qemu-linux-user should install some files to /usr/lib/binfmt.d? (Assuming it doesn't do so already, I didn't check.)
I would expect that. It does so on Debian and Fedora. Is there an extra step on openSUSE? Thanks, Adrian
On Tuesday 2021-10-26 09:47, John Paul Adrian Glaubitz wrote:
Or maybe qemu-linux-user should install some files to /usr/lib/binfmt.d? (Assuming it doesn't do so already, I didn't check.)
I would expect that. It does so on Debian and Fedora. Is there an extra step on openSUSE?
`qemu-binfmt-conf.sh --sytemd ALL`? Then there will be files in /etc/binfmt.d, and systemd-binfmt.service has something to do on boot.
participants (3)
-
Aaron Puchert
-
Jan Engelhardt
-
John Paul Adrian Glaubitz