binfmt: binfmt_ensure_mounted(): use chroot.mount() with chroots
This commit is contained in:
parent
c86ce577d1
commit
933b7c42ef
1 changed files with 3 additions and 5 deletions
|
@ -7,7 +7,7 @@ from typing import Optional
|
||||||
|
|
||||||
from chroot.abstract import Chroot
|
from chroot.abstract import Chroot
|
||||||
from constants import Arch, QEMU_ARCHES
|
from constants import Arch, QEMU_ARCHES
|
||||||
from exec.cmd import run_root_cmd
|
from exec.cmd import run_root_cmd, CompletedProcess
|
||||||
from utils import mount
|
from utils import mount
|
||||||
|
|
||||||
|
|
||||||
|
@ -66,13 +66,11 @@ def binfmt_ensure_mounted(chroot: Optional[Chroot] = None):
|
||||||
binfmt_path = '/proc/sys/fs/binfmt_misc'
|
binfmt_path = '/proc/sys/fs/binfmt_misc'
|
||||||
register_path = binfmt_path + '/register'
|
register_path = binfmt_path + '/register'
|
||||||
if chroot:
|
if chroot:
|
||||||
binfmt_path = chroot.get_path(binfmt_path)
|
|
||||||
register_path = chroot.get_path(register_path)
|
register_path = chroot.get_path(register_path)
|
||||||
chroot.activate()
|
|
||||||
if not os.path.exists(register_path):
|
if not os.path.exists(register_path):
|
||||||
logging.info('mounting binfmt_misc')
|
logging.info('mounting binfmt_misc')
|
||||||
result = mount('binfmt_misc', binfmt_path, options=[], fs_type='binfmt_misc')
|
result = (chroot.mount if chroot else mount)('binfmt_misc', binfmt_path, options=[], fs_type='binfmt_misc') # type: ignore[operator]
|
||||||
if result.returncode != 0:
|
if (isinstance(result, CompletedProcess) and result.returncode != 0) or not result:
|
||||||
raise Exception(f'Failed mounting binfmt_misc to {binfmt_path}')
|
raise Exception(f'Failed mounting binfmt_misc to {binfmt_path}')
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue