使用脚本启动Kbox容器时,会自动根据“~/dependency”目录下的Exagear转码包自动使能Exagear转码功能,因此需要提前将Exagear转码包上传到对应目录,若自动使能失败,则需要手动进行Exagear转码使能。
- 将ExaGear转码包(ExaGear_ARM32-ARM64_V2.5.tar.gz)上传至“~/dependency”目录。请对上传文件、目录的权限进行合理配置,其他用户属组建议不配置写权限。
- 解压转码包,并调整权限。
| cd ~/dependency/
tar -xzvf ExaGear_ARM32-ARM64_V2.5.tar.gz
chown -R root:root ExaGear_ARM32-ARM64
|
“~/dependency”目录下只允许保留一份Exagear转码包,旧版本的Exagear转码包需要删除,否则在后续启动Kbox容器时会出现“Many ubt_a32a64 files exist!”报错。
一般情况下无需进行以下步骤。
仅当Exagear转码未能成功自动使能时,请在解压转码包(即执行完步骤2)后执行以下步骤,以手动使能Exagear转码。
- 挂载binfmt_misc文件系统。
默认已挂载,如未挂载,请手动执行。
| mount -t binfmt_misc none /proc/sys/fs/binfmt_misc
|
- 创建“/opt/exagear”目录,用于存放ubt_a32a64文件。
| mkdir -p /opt/exagear
chmod -R 700 /opt/exagear
|
- 将ubt_a32a64文件拷贝至“/opt/exagear”目录。
| cp ~/dependency/ExaGear_ARM32-ARM64/ubt_a32a64 /opt/exagear/
|
- 挂载注册ExaGear转码规则。
| 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
|
- 查看ExaGear规则是否注册成功,确保“/opt/exagear/ubt_a32a64”路径信息一致。
| cat /proc/sys/fs/binfmt_misc/ubt_a32a64
|
显示如下信息时,表示已经成功注册。
| enabled
interpreter /opt/exagear/ubt_a32a64
flags: POCF
offset 0
magic 7f454c4601010100000000000000000002002800
mask ffffffffffffff00fffffffffffffffffeffffff
|