mirror of
https://github.com/Cateners/tiny_computer.git
synced 2026-05-21 00:45:49 +08:00
Fix some script and update readme
This commit is contained in:
15
README.md
15
README.md
@@ -4,7 +4,11 @@
|
|||||||
|
|
||||||
给所有安卓 arm64 设备的“PC 应用引擎”平替。你可以在小小电脑上安装 PC 级 WPS、CAJ Viewer、亿图图示等软件。
|
给所有安卓 arm64 设备的“PC 应用引擎”平替。你可以在小小电脑上安装 PC 级 WPS、CAJ Viewer、亿图图示等软件。
|
||||||
|
|
||||||
Click-to-run Debian Bookworm XFCE on Android for Chinese users, with the Fcitx Pinyin input method preinstalled. No Termux is required. If you want to change the language in the container, run "tmoe", since this root filesystem is made using [tmoe](https://github.com/2moe/tmoe).
|
Run Debian Bookworm with XFCE/LXQt/... on Android with just one click - optimized for Chinese users. This package comes preinstalled with the Fcitx Pinyin input method and doesn't require Termux.
|
||||||
|
|
||||||
|
To change the language in the container, simply run the "tmoe" command (this root filesystem was created using [tmoe](https://github.com/2moe/tmoe)). You'll need to remove the LANG=zh_CN.UTF-8 environment variable from the startup command (Control -> Advanced Settings -> Startup Command) when switching languages.
|
||||||
|
|
||||||
|
Note: Since version 1.0.23, English UI is supported, though some hint texts remain in Chinese.
|
||||||
|
|
||||||
## 特点
|
## 特点
|
||||||
|
|
||||||
@@ -45,7 +49,7 @@ LXQt 的界面示例:
|
|||||||
|
|
||||||
和 [GXDE](https://www.gxde.org/) 团队合作的版本 [#129](https://github.com/Cateners/tiny_computer/issues/129)。可在[此处](https://mirrors.sdu.edu.cn/spark-store-repository/GXDE-OS/APK/)下载。GXDE 的界面示例:
|
和 [GXDE](https://www.gxde.org/) 团队合作的版本 [#129](https://github.com/Cateners/tiny_computer/issues/129)。可在[此处](https://mirrors.sdu.edu.cn/spark-store-repository/GXDE-OS/APK/)下载。GXDE 的界面示例:
|
||||||
|
|
||||||
[](https://camo.githubusercontent.com/2884358def5f52e31b9f6dfc72be081f8defcc2c1463f8050786cb1f033fe761/68747470733a2f2f7777772e677864652e6f72672f312e706e67)
|
[](https://www.gxde.top/1.jpg)
|
||||||
|
|
||||||
由[灵墨桌面](https://www.lingmo.org/)开发者提供的版本[#218](https://github.com/Cateners/tiny_computer/issues/218)。灵墨桌面的界面[示例](https://www.bilibili.com/video/BV1Ci421R7AR)。
|
由[灵墨桌面](https://www.lingmo.org/)开发者提供的版本[#218](https://github.com/Cateners/tiny_computer/issues/218)。灵墨桌面的界面[示例](https://www.bilibili.com/video/BV1Ci421R7AR)。
|
||||||
|
|
||||||
@@ -57,11 +61,11 @@ LXQt 的界面示例:
|
|||||||
|
|
||||||
## 项目结构
|
## 项目结构
|
||||||
|
|
||||||
assets 的文件源信息可以在[这里](https://github.com/Cateners/tiny_computer/blob/master/extra/readme.md)找到。
|
assets 和 android/app/src/main/jniLibs 的文件源信息可以在[这里](https://github.com/Cateners/tiny_computer/blob/master/extra/readme.md)找到。
|
||||||
|
|
||||||
完整的容器制作过程可以在[这里](https://github.com/Cateners/tiny_computer/blob/master/extra/build-tiny-rootfs.md)看到。
|
完整的容器制作过程可以在[这里](https://github.com/Cateners/tiny_computer/blob/master/extra/build-tiny-rootfs.md)看到。
|
||||||
|
|
||||||
数据包不再在 assets 中更新,而是随 releases 提供,主要是为了避免 git 越来越大。
|
数据包、patch.tar.gz 以及 jniLibs 的文件不在代码仓更新,而是随 releases 提供,主要是为了避免 git 越来越大。
|
||||||
|
|
||||||
lib 目录:
|
lib 目录:
|
||||||
|
|
||||||
@@ -71,12 +75,13 @@ lib 目录:
|
|||||||
- TermPty 一个终端
|
- TermPty 一个终端
|
||||||
- G 全局变量类
|
- G 全局变量类
|
||||||
- Workflow 从软件点开到容器启动的所有步骤
|
- Workflow 从软件点开到容器启动的所有步骤
|
||||||
|
- l10n 文件夹,包含多语言文件
|
||||||
|
|
||||||
## 编译
|
## 编译
|
||||||
|
|
||||||
你需要配置好 flutter 和安卓 sdk,还需安装 python3、bison、patch 和 gcc,然后克隆此项目。
|
你需要配置好 flutter 和安卓 sdk,还需安装 python3、bison、patch 和 gcc,然后克隆此项目。
|
||||||
|
|
||||||
在编译之前,需要在 release 中下载 patch.tar.gz 拷贝到 assets;以及下载系统 rootfs(或者[自行制作](https://github.com/Cateners/tiny_computer/blob/master/extra/build-tiny-rootfs.md)),之后使用 split 命令分割,拷贝到 assets。一般我将其分为 98MB。
|
在编译之前,需要在 release 中下载 jniLibs.zip ,将里面的库文件解压后放到 android/app/src/main/jniLibs/arm64-v8a;下载 patch.tar.gz 拷贝到 assets。以及下载系统 rootfs(或者[自行制作](https://github.com/Cateners/tiny_computer/blob/master/extra/build-tiny-rootfs.md)),之后使用 split 命令分割,拷贝到 assets。一般我将其分为 98MB。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
split -b 98M debian.tar.xz
|
split -b 98M debian.tar.xz
|
||||||
|
|||||||
@@ -62,16 +62,15 @@ wineboot --init
|
|||||||
|
|
||||||
echo "正在安装DXVK..."
|
echo "正在安装DXVK..."
|
||||||
tar xvf dxvk-v*.tar.gz
|
tar xvf dxvk-v*.tar.gz
|
||||||
mv dxvk-v*/x32 /home/tiny/.wine/drive_c/windows/syswow64
|
mv dxvk-v*/x32/* /home/tiny/.wine/drive_c/windows/syswow64
|
||||||
mv dxvk-v*/arm64ec /home/tiny/.wine/drive_c/windows/system32
|
mv dxvk-v*/arm64ec/* /home/tiny/.wine/drive_c/windows/system32
|
||||||
|
|
||||||
echo "自动配置 DLL 覆盖..."
|
echo "自动配置 DLL 覆盖..."
|
||||||
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d8 /d native /f >/dev/null 2>&1
|
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d8 /d native /f >/dev/null 2>&1
|
||||||
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d9 /d native /f >/dev/null 2>&1
|
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d9 /d native /f >/dev/null 2>&1
|
||||||
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d10 /d native /f >/dev/null 2>&1
|
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d10core /d native /f >/dev/null 2>&1
|
||||||
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d10core /d native /f >/dev/null 2>&1
|
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d11 /d native /f >/dev/null 2>&1
|
||||||
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d11 /d native /f >/dev/null 2>&1
|
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v dxgi /d native /f >/dev/null 2>&1
|
||||||
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v dxgi /d native /f >/dev/null 2>&1
|
|
||||||
|
|
||||||
echo "正在修复字体..."
|
echo "正在修复字体..."
|
||||||
regedit "Z:\\home\\tiny\\.local\\share\\tiny\\extra\\chn_fonts.reg" && wine reg delete "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes" /va /f
|
regedit "Z:\\home\\tiny\\.local\\share\\tiny\\extra\\chn_fonts.reg" && wine reg delete "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes" /va /f
|
||||||
|
|||||||
@@ -48,16 +48,15 @@ wineboot --init
|
|||||||
|
|
||||||
echo "正在安装DXVK..."
|
echo "正在安装DXVK..."
|
||||||
tar xvf dxvk-v*.tar.gz
|
tar xvf dxvk-v*.tar.gz
|
||||||
mv dxvk-v*/x32 /home/tiny/.wine/drive_c/windows/syswow64
|
mv dxvk-v*/x32/* /home/tiny/.wine/drive_c/windows/syswow64
|
||||||
mv dxvk-v*/arm64ec /home/tiny/.wine/drive_c/windows/system32
|
mv dxvk-v*/arm64ec/* /home/tiny/.wine/drive_c/windows/system32
|
||||||
|
|
||||||
echo "自动配置 DLL 覆盖..."
|
echo "自动配置 DLL 覆盖..."
|
||||||
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d8 /d native /f >/dev/null 2>&1
|
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d8 /d native /f >/dev/null 2>&1
|
||||||
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d9 /d native /f >/dev/null 2>&1
|
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d9 /d native /f >/dev/null 2>&1
|
||||||
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d10 /d native /f >/dev/null 2>&1
|
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d10core /d native /f >/dev/null 2>&1
|
||||||
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d10core /d native /f >/dev/null 2>&1
|
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d11 /d native /f >/dev/null 2>&1
|
||||||
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v d3d11 /d native /f >/dev/null 2>&1
|
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v dxgi /d native /f >/dev/null 2>&1
|
||||||
WINEDLLOVERRIDES="d3d8=n,d3d9=n,d3d10=n,d3d10core=n,d3d11=n,dxgi=n" wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v dxgi /d native /f >/dev/null 2>&1
|
|
||||||
|
|
||||||
echo "正在修复字体..."
|
echo "正在修复字体..."
|
||||||
regedit "Z:\\home\\tiny\\.local\\share\\tiny\\extra\\chn_fonts.reg" && wine reg delete "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes" /va /f
|
regedit "Z:\\home\\tiny\\.local\\share\\tiny\\extra\\chn_fonts.reg" && wine reg delete "HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes" /va /f
|
||||||
|
|||||||
@@ -2,18 +2,19 @@
|
|||||||
|
|
||||||
### assets.zip中的文件:
|
### assets.zip中的文件:
|
||||||
|
|
||||||
- [busybox](https://github.com/meefik/busybox)
|
- [Xserver XSDL, pulseaudio相关文件](https://github.com/pelya/commandergenius/tree/sdl_android/project/jni/application/xserver)。直接从Xserver XSDL的apk中的lib解包获得,并还原了名称。
|
||||||
- [tar](https://github.com/Rprop/tar-android-static)
|
|
||||||
- [Xserver XSDL, pulseaudio相关文件](https://github.com/pelya/commandergenius/tree/sdl_android/project/jni/application/xserver)
|
|
||||||
- [virgl](https://github.com/termux/termux-packages/tree/master/x11-packages/virglrenderer-android)
|
|
||||||
|
|
||||||
以上文件没有经过更改。
|
|
||||||
一般是使用了仓库直接提供的二进制文件,或者是使用了仓库提供的patch编译而来。
|
|
||||||
|
|
||||||
- [proot](https://github.com/Cateners/proot), 使用[build-proot-android](https://github.com/green-green-avk/build-proot-android)脚本编译
|
|
||||||
- [Tmoe Linux, debian包来源](https://github.com/2moe/tmoe),制作了[容器文件xa*](build-tiny-rootfs.md)
|
- [Tmoe Linux, debian包来源](https://github.com/2moe/tmoe),制作了[容器文件xa*](build-tiny-rootfs.md)
|
||||||
- getifaddrs_bridge_server,见下面的介绍和getifaddrs_bridge子文件夹
|
- getifaddrs_bridge_server,见下面的介绍和getifaddrs_bridge子文件夹
|
||||||
|
|
||||||
|
### jniLibs中的文件
|
||||||
|
|
||||||
|
所有文件均通过[termux-packages](https://github.com/termux-play-store/termux-packages)构建。[见这个修改后的仓库](https://github.com/tiny-computer/termux-packages)
|
||||||
|
|
||||||
|
运行scripts/generate-bootstraps.sh即可获得bootstraps压缩包,其中会包含busybox、proot、tar、virglrenderer的可执行文件和依赖库。将可执行文件全部重命名为libexec_xxx.so的格式,将依赖库全部抹去版本号,放到jniLibs/arm64-v8a。
|
||||||
|
|
||||||
|
运行build-package.sh proot,可在output文件夹找到loader和loader32,重命名为libproot-loader.so和libproot-loader32.so,放到jniLibs/arm64-v8a。
|
||||||
|
|
||||||
|
|
||||||
### patch.tar.gz中的文件:
|
### patch.tar.gz中的文件:
|
||||||
|
|
||||||
#### extra/getifaddrs_bridge_client_lib.so:
|
#### extra/getifaddrs_bridge_client_lib.so:
|
||||||
|
|||||||
Reference in New Issue
Block a user