ExaGear转码使能

本节内容67,在每次服务器重启后,都需要重新执行,手动注册转码规则。

  1. 挂载binfmt_misc文件系统。

    默认已挂载,如未挂载,请手动执行。
    1
    mount -t binfmt_misc none /proc/sys/fs/binfmt_misc
    

  2. 创建“/opt/exagear”目录,用于存放ubt_a32a64文件。

    1
    2
    mkdir -p /opt/exagear
    chmod -R 700 /opt/exagear
    

  3. 将ExaGear转码包(Exagear-ARM32-ARM64.tar.gz)上传至“~/dependency”目录。请对上传文件、目录的权限进行合理配置,其他用户属组建议不配置写权限。
  4. 解压补丁包,并调整权限。

    1
    2
    3
    cd ~/dependency/
    tar -xzvf Exagear-ARM32-ARM64.tar.gz
    chown -R root:root output
    

  5. 将ubt_a32a64文件拷贝至“/opt/exagear”目录。

    1
    cp ~/dependency/output/ubt_a32a64 /opt/exagear/
    

  6. 挂载注册ExaGear转码规则。

    1
    echo ":ubt_a32a64:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/opt/exagear/ubt_a32a64:POCF" > /proc/sys/fs/binfmt_misc/register
    

  7. 查看ExaGear规则是否注册成功,确保“/opt/exagear/ubt_a32a64”路径信息一致。

    1
    cat /proc/sys/fs/binfmt_misc/ubt_a32a64
    

    显示如下信息时,表示已经成功注册。

    1
    2
    3
    4
    5
    6
    enabled
    interpreter /opt/exagear/ubt_a32a64
    flags: POCF
    offset 0
    magic 7f454c4601010100000000000000000002002800
    mask ffffffffffffff00fffffffffffffffffeffffff