重新启动后,binfmt_misc的设置消失了

时间:2018-09-06 23:38:40

标签: linux linker interpreter loader

我将x64机器上的i386二进制文件的binfmt_misc设置为使用自定义的加载程序(qemu-i386-static)加载32位二进制文​​件。

我按照这里的步骤进行: https://github.com/torvalds/linux/blob/master/Documentation/admin-guide/binfmt-misc.rst

基本上,它是一行命令:

echo ':qemu-i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-i386-static:' > /proc/sys/fs/binfmt_misc/register

完成此操作后,我可以看到/proc/sys/fs/binfmt_misc/qemu-i386的新条目,它可用于加载32位二进制文​​件。

但是,重新启动计算机后,此条目丢失。我需要重做该程序。

如何保持持久性?

1 个答案:

答案 0 :(得分:0)

如果已使用systemd,则可以使用systemd-binfmt服务。请参见man systemd-binfmt以获取帮助。

在我的Ubuntu 18.04中,systemd-binfmt服务的文件位于/etc/binfmt.d/文件夹中。因此,请尝试这样做:

sudo echo ':qemu-i386:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00:\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/usr/bin/qemu-i386-static:' > /etc/binfmt.d/qemu.conf