- 重新编译镜像
因为redroid要用到binder_linux内核模块,但是truenas默认的内核并没有这玩意,需要重新编译。
- 可以下载我编译好的自编译truenas_scale,然后手动安装/更新
- 也可以自己编译
#进入truenas你的一个目录位置
cd /mnt/p4510
#安装开发者工具
install-dev-tools
sudo mount -o remount,rw /
sudo apt install build-essential debootstrap git python3-pip squashfs-tools unzip libjson-perl rsync libarchive-tools
wget https://wx.scjtqs.com/downloads/%E8%87%AA%E7%BC%96%E8%AF%91truenas_scale/python3.11-venv.deb
# 因为truenas的apt源里面的python3-venv无法安装,这里我手动打包了个可用的deb出来
sudo apt install ./python3.11-venv.deb
# 拉取编译脚本,这里可以用我改过(添加了蓝牙和binder的内核支持)的脚本来编
git clone https://github.com/scjtqs2/scale-build.git -b stable/fangtooth
cd scale-build
# 拉取依赖
make checkout
# 编译需要的deb包
make packages
# 创建update升级包
make update
# 创建iso安装镜像
make iso
- 创建binderfs,把这个脚本保存好,配置成
开机执行
#!/bin/zsh
# 确保 binderfs 挂载
mkdir -p /dev/binderfs
mount -t binder binder /dev/binderfs || true
# 修改权限,避免 "Permission denied"
chmod -R 666 /dev/binderfs
- 创建redroid
- 先用docker run 测试一下效果
docker run -itd --rm --privileged \
--name redroid \
-v /mnt/app/data/redroid/data:/data \
-v /dev/binderfs:/dev/binderfs \
-v /dev/binderfs/binder:/dev/binder \
-v /dev/binderfs/hwbinder:/dev/hwbinder \
-v /dev/binderfs/vndbinder:/dev/vndbinder \
-p 5555:5555 \
redroid/redroid:13.0.0_64only-latest \
androidboot.redroid_width=1080 \
androidboot.redroid_height=1920 \
androidboot.redroid_dpi=480 \
androidboot.redroid_gpu_mode=guest
- 用scrcpy验证没问题的化,可以上docker-compose的了
services:
redroid:
image: redroid/redroid:13.0.0_64only-latest
container_name: redroid
privileged: true
tty: true
stdin_open: true
restart: unless-stopped
volumes:
- /mnt/app/data/redroid/data:/data
- /dev/binderfs:/dev/binderfs
- /dev/binderfs/binder:/dev/binder
- /dev/binderfs/hwbinder:/dev/hwbinder
- /dev/binderfs/vndbinder:/dev/vndbinder
ports:
- "5555:5555"
command: >
androidboot.redroid_width=1080
androidboot.redroid_height=1920
androidboot.redroid_dpi=480
androidboot.redroid_gpu_mode=guest
打赏

微信扫一扫,打赏作者吧~