为TN3399_V3移植Batocera和JELOS,提供补丁让Batocera和JELOS的源码能编译出TN3399_V3的镜像
Batocera是一个基于Linux的开源模拟器游戏系统,rootfs采用Buildroot构建。原项目地址
Batocera集成了RetroArch和一些独立模拟器如PPSSPP,并且带有EmulationStation模拟器前端,使打开游戏从执行命令变成操作手柄/键盘。同时Batocera还附带Kodi媒体播放器
PS:Batocera镜像只附带几个示例游戏ROM,需要玩家自己导入外部ROM
编译非常耗时,亲测I9 13900HX也要好几个小时。会从外网下载大约18GiB的源码,且有时软件的来源会被删除导致下载会失败。编译完后整个工程目录占122GiB左右
这里有打包的所有源码,感兴趣的话可以自行下载编译。提取码为elp1
官方提供了基于Dokcer的编译方法,方便在任何Linux发行版上编译,步骤如下
tar zxvf batocera.linux.tar.gz -C ~/Desktop
cat dl.tar.gz.* | tar zxv -C ~/Desktop/batocera.linux
将patch复制到batocera.linux目录里,cd进入其中,打上补丁:
patch -p1 < batocera-38-add-tn3399-v3.patch
make rk3399-build
目标镜像在batocera.linux/output/rk3399/images/batocera/images/tn3399-v3
JELOS是一个基于Linux的开源模拟器游戏系统,rootfs采用CoreELEC/LibreELEC构建。原项目地址
JELOS集成了RetroArch和一些独立模拟器如PPSSPP,并且带有EmulationStation模拟器前端,使打开游戏从执行命令变成操作手柄/键盘
官方提供了基于Dokcer的编译方法,方便在任何Linux发行版上编译,步骤如下
从github拉取JELOS的源码:
cd Desktop
git clone https://github.com/JustEnoughLinuxOS/distribution.git
cd distribution
# 切换到20240222版本
git checkout cfcbf9e5b
将patch复制到distribution目录里,cd进入其中,打上补丁:
patch -p1 < jelos-20240222-add-tn3399-v3.patch
理论上执行make docker-RK3399
即可完成编译,但是在编译过程中有概率会出错,所以推荐基于Docker手动编译
执行make docker-shell
进入编译环境的shell,然后执行make RK3399
编译,如果有错误(几乎都是包源码下载失败导致)导致停止编译,查看报错信息得知是哪一个包编译出错,单独编译:
export PROJECT=Rockchip DEVICE=RK3399 ARCH=aarch64
# 删除不全的源码
rm -rf sources/报错的包名
# 清除旧的编译
./scripts/clean 报错的包名
# 重新编译
./scripts/build 报错的包名
单独的包编译成功后,接着继续执行make RK3399
编译即可