让我们谈谈我的尝试过程
发布时间:2025-06-24 19:36:40 作者:北方职教升学中心 阅读量:813
linux-orangepi。sudo。sudo。理论上不能编译这个模块,但是这里的安全起见或者编译进去)。
mkinitramfs 5.16.17+ -o initrd.imgmkimage -A arm64 -T ramdisk -C none -n uInitrd -d initrd.img uInitrd。ln。和。sudo。
重启后:
sudo。mv。Step 1: 当然,让我们谈谈我的尝试过程。麻麻的,还要看log:sudo。
/boot/config-5.16.17-sun50iw9 ./.config。
根据上述log(逃),可以得出lmkd问题,去仓库issue搜索#293。
docker pull redroid/redroid:13.0.0-arm64。
也搞定了。
redroid13 logcat。
offline连接提示。
General Setup -> CPU/Task time and stats accounting -> Pressure stall information tracking。apt。ln。rm。连接方法见文末。Staging Drivers。做好之后打开内核配置界面:make。docker pull redroid/redroid:11.0.0-arm64。
PSI。cp。
分支。安装scrcpy:。
模块被编译成。
redroid_modules。sudo。然后重启。#xff0c;后面在zero2上粗浅部署,虽然容器在运行,但scrcpy连接始终是黑屏,在那之后,我把编译好的内核和模块放在上面,如下:
123盘链接。勾上,弹出来。
Step 2: 自定义内核开搓!
先去香橙派官方核源码:GitHub。redroid还提供androidbot.use_memfd=1.启用memfd支持因此,#什么是dri?c;是drm的东西,这与GPU有关。,把。
tnnd,原来还要。
由于众所周知的原因,克隆过程又花了几分钟,心中一万只羊驼奔腾而过..随后,把系统已经带来的config搞过去:cd。docker run -itd --privileged -v ~/data11:/data -p 5555:5555 --name redroid11 redroid/redroid:11.0.0-arm64 androidboot.use_memfd。uInitrd-5.16.17+ vmlinuz-5.16.17+ /boot。阅读Readme是很好的.md。rm。4.9核心系统不能运行,这一点需要注意。=1 androidboot.redroid_gpu_mode。
(5.16.17)。ln。
然后开始长时间等待...大约5小时后,编译结束,首先安装模块,然后摩擦initrd镜像:sudo。~/linux-orangepi/uInitrd ./uInitrd-5.16.17+sudo。=guest。
。ps。=
guest。
,不能编译,所以只能自定义内核。然后开始一个漫长的编译过程。
起因。ln。
docker.io。
还勾上,这样。
-a。
一句废话。我试图帮助一个群友部署,部署失败了。进入下一个环节:Debug(笑)。
,勾上。AIC(Android in Cloud)。
支持,为什么不早说!(抓狂)。-rf Image uInitrd。docker run -itd --privileged -v ~/data13:/data -p 5555:5555 --name redroid13 redroid/redroid:13.0.0-arm64 androidboot.use_memfd。 docker。Step 4: 连接。sudo。cd。
为什么不在这里写PSI支持…麻。 install。sudo。 docker。reboot。没办法,只能启动logcat查看Whats happening:sudo。另一种写作风格,尝试轻松的写作方法。我看到一些朋友讨论docker部署Redroid挂机玩游戏。
对照官方文件跑个容器试试水:sudo。sudo。使用新编译的内核:sudo。
~/linux-orangepi/arch/arm64/boot/Image ./vmlinuz-5.16.17+
做好之后ln当系统重启时,
binder ipc driver。Windows下scrcpy参考官方GitHub即可。Step 0: 我不想读那么多废话,只想跑,怎样做?f;
在这里,mv。adb。binder。=1 androidboot.redroid_gpu_mode。那怎么办呢?c;只能使用软件渲染:sudo。dmesg。-s vmlinuz-5.16.17+ Image。
勾上,
binderfs filesystem。
scrcpyadb connect localhost:5555scrcpy。还勾上,这样。
OK,容器真的Run起来了,但是。
完成后,还是一样的启动容器,还是offline..拿出log仔细研究也没有研究出为什么,只能试试另一个版本:sudo。
是一种。根据上述log可以知道GPU问题(雾)。redroid13。
Android。接下来,rm。-rf Image uInitrd。-s uInitrd-5.16.17+ uInitrd。make。#再次假装log,一般是lmkd问题,可以看见。exec。 docker。 sudo。
打开后
Device Drivers -> Android -> Android Drivers。 apt。我使用的系统是官方的5.16核心系统。
-s uInitrd-5.16.17+ uInitrd。虽然作者也提供了。= 1docker。
Step 3.1: Debug。git。
-j8。docker.io。和。
仔细研究readme发现这个小玩意需要两个核心模块支持:ashmem(注:5.18主线内核 drop这个模块,官方替代方案是memfd,此外,
run起床后,adb连接,提示连接成功。
项目地址:GitHub。随后,Android13镜像试水:sudo。boot。-s vmlinuz-5.16.17+ Image。=1 androidboot.redroid_gpu_mode。=
随后,Android13镜像试水:sudo。boot。-s vmlinuz-5.16.17+ Image。=1 androidboot.redroid_gpu_mode。=
guest。binder。sudo。
clone -b orange-pi-5.16-sunxi644 https://github.com/orangepi-xunlong/linux-orangepi。docker run -itd --pull always -v ~/data13:/data -p 5555:5555 --name redroid13 redroid/redroid:13.0.0-arm64 androidboot.use_memfd。ashmem。sudo。cp。
然后将内核和initrd镜像放在/boot目录下:cd。sudo。modules_install -j8。sudo。 redroid13。
orange-pi-5.16-sunxi64。install。#既然知道是GPU的问题,看文档就可以了。Enable the Anonymous Shared Memory Subsystem。docker stop redroid13。此时我只记得,我手里没有服务器编译,只能在本机上编译,想了想4个a53的弱性能…只能忍受。docker run -itd --privileged -v ~/data11:/data -p 5555:5555 --name redroid11 redroid/redroid:11.0.0-arm64 androidboot.use_memfd。 apt。
下载后:unzip opi_zero2____kernel_redroid.zip。
,多个Android容器可以方便地部署c;非常适合云游戏等应用…(以上废话,一个词总结:云手机)。exec。Step -1: 系统环境描述。然后回到上一级去。
里面,进入。
Step 3:没有docker怎么玩?
答案是安装:sudo。
这一次,
#lmkd以每分钟30次的速度重启(约每2秒一次)。
Redroid(remote android)。然后开始编译:make。哦豁,有搞头。
编译后,安装内核的步骤仍然相同。install。OK,重新启动容器连接或报offline。sudo。
这样就部署好了。当时觉得很有意思,
安装树外模块,但是我的核心版本太高了。cp。sudo。
不看不知道看起来很震惊:
#这里有log,但是我怎么能保留当时的log呢!#反正是/vendor下面的driso,报道segmentation fault。
很久以前,
menuconfig。/boot。5.16.17+ /lib/modules。sudo。最近又想起了这件事,所以我决定再试一次。docker pull redroid/redroid:11.0.0-arm64。
打开看,我选择了。