我在Android手机运行了Tex Live 时间2026年6月22日小米9已root运行Xelatexubuntu chroot版本v4.4作者ravindu644SElinux permissive版本v3.1作者Denis Efremov(evdenis)系统Project Infinity X cepheus链接https://xdaforums.com/t/eol-rom-16-cepheus-retrofit-unofficial-infinity-x-19-01-26.4772397/(内置kernels官方没有以LKM方式(.ko)提供KernelSU而是直接编译进内核了Built-in模式kernelsu-next版本v1.1.1)使用动态分区OrangeFox-R12.1_0-retrofit-cepheus-20240629.img刷第三方recovery刷入我在营火虫官方小米9那里找到的地址https://www.yhcres.top/已备份基带1. “先解除root身份再完整install” → 千万不要在 chroot 环境里必须用 root 身份安装。因为安装软件包需要写入 /usr/bin、/etc 等系统目录普通用户没有权限。而且这是在 Ubuntu chroot 容器里操作完全隔离不会影响你小米9的主系统类原生。放心用 rootubuntu:~# 这个身份直接装别退出。2. “ubuntu一般不用换源” → 在中国大陆这句话是“美丽陷阱”默认源archive.ubuntu.com服务器在国外你接下来要下载的 texlive-full 完整版有 1.5GB 左右。不换源直接装下载速度可能只有 几十KB/s大概率会超时断连浪费一两个小时直接失败。不用清华源中科大我在广西中科大源mirrors.ustc.edu.cn是国内最老牌、最稳定的开源镜像之一对教育网用户尤其友好并且支持 HTTP/HTTPS/RSYNC 等多种协议。虽然地理上离广西不是最近但国内骨干网带宽充足速度绝对比默认的国外源快得多。⚠️ 重要提示下面的命令适用于 Ubuntu 24.04 (Noble)。如果你的 chroot 是其他版本如 22.04 Jammy需要将命令中的 noble 替换为你的版本代号查看命令cat /etc/os-release。执行rootubuntu:~# cat /etc/os-release得到PRETTY_NAMEUbuntu 24.04.4 LTSNAMEUbuntuVERSION_ID24.04VERSION24.04.4 LTS (Noble Numbat)VERSION_CODENAMEnobleIDubuntuID_LIKEdebianHOME_URLhttps://www.ubuntu.com/SUPPORT_URLhttps://help.ubuntu.com/BUG_REPORT_URLhttps://bugs.launchpad.net/ubuntu/PRIVACY_POLICY_URLhttps://www.ubuntu.com/legal/terms-and-policies/privacy-policyUBUNTU_CODENAMEnobleLOGOubuntu-logo最初Ai推荐我1. 一键替换源命令sed -i.bak s//.*archive.ubuntu.com//mirrors.ustc.edu.cng /etc/apt/sources.list这条命令会自动备份原文件为 sources.list.bak并用中科大源替换默认官方源。备份路径在/etc/apt/你可以cd /etc/apt/然后ls得到sources.list.bak和sources.list2. 更新软件列表apt update这是会报错虽然中科大的主源mirrors.ustc.edu.cn换好了但你的系统里还藏着两个“龟速”的官方源1. ports.ubuntu.com这是给ARM架构骁龙855用的官方源默认走国外2. security.ubuntu.com安全更新源也是国外再加上两个PPAlaunchpad.net这些国外地址一叠加1MB/s的网速是正常的。如果不修接下来下载1.5GB的texlive-full你得等25分钟以上还容易断连。Ai修复一下404 Not Found 错误是因为中科大的 ubuntu-ports 镜像暂时没有同步或缺少 Ubuntu 24.04 (noble) 的 arm64 架构软件包。Ai修复一下Ubuntu chroot 环境把 CPU 架构识别成了 amd64x86_64但小米9的骁龙855是 arm64 架构。检查CPU架构dpkg --print-architecture如果输出是 amd64就印证了问题。️ 一键修复强制切换为 arm641. 彻底重写源列表arm64 专用cat /etc/apt/sources.list EOFdeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble main restricted universe multiversedeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble-updates main restricted universe multiversedeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble-backports main restricted universe multiversedeb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ noble-security main restricted universe multiverseEOF2.强制设置架构为 arm64dpkg --add-architecture arm64apt updateTex Live xxxx没安装就检查 Ubuntu 软件源里能装到什么版本。命令apt policy texlive-latex-base解释Ubuntu 24.04 LTS (Noble) 官方源里锁定的是 TeX Live 2023。不着急安装APT 仍然在请求 amd64 架构的包导致 404。虽然 dpkg --print-architecture 显示为 arm64但 APT 还保留了额外的 amd64 架构需要手动移除。# 1. 查看当前 APT 支持的所有架构dpkg --print-foreign-architectures如果输出包含 amd64执行# 2. 移除 amd64 架构我的输出rootubuntu:~# dpkg --remove-architecture amd64得到dpkg: error: cannot remove architecture amd64 currently in use by the databasedpkg 数据库里还残留着 amd64 架构标记但系统里实际上并没有安装 amd64 的包因为是 chroot 环境。我们可以不删除架构而是让 APT 忽略它只请求 arm64 的包索引。# 1. 告诉 APT 只使用 arm64 架构echo APT::Architectures arm64; /etc/apt/apt.conf.d/01architecture# 2. 清除之前的缓存避免残留apt clean# 3. 重新更新现在只会请求 arm64 的索引apt update执行后你会看到所有 Get: 地址都变成 binary-arm64/Packages不再有任何 amd64 的 404 错误。 然后放心安装 TeX Liveapt install -y texlive-full texlive-xetex biber如果清华源仍然有问题极小概率直接换成阿里云源sed -i smirrors.tuna.tsinghua.edu.cn/ubuntu-portsmirrors.aliyun.com/ubuntu-portsg /etc/apt/sources.listapt updateapt install -y texlive-full texlive-xetex biber 为什么不用 dpkg --remove-architecture因为你的 chroot 里可能有一些元数据依赖 amd64即便没实际装包强行移除可能破坏包管理状态。而 修改 APT 配置 是更安全、更直接的方法完全不影响已安装的软件。安装安成This may take some time...done.Errors were encountered whileprocessing:openjdk-21-jre-headless:arm64openjdk-21-jre:arm64default-jre-headlessdefault-jreE: Sub-process /usr/bin/dpkg returned an error code (1)rootubuntu:~#这个错误是因为安装 texlive-full 时它依赖的 openjdk-21-jre 包在 arm64 架构下安装失败可能由于之前的架构混乱导致配置不完整。chroot 环境缺少 /proc 文件系统的挂载导致 Java 包的安装脚本无法执行但后面我是直接移除报错宏包。Java 包的配置脚本在 chroot 里死活认不出 /proc但你又完全不需要它。别跟它较劲直接暴力移除。# 1. 强制删除 Java 包不运行任何脚本dpkg --remove --force-remove-reinstreq --force-depends openjdk-21-jre-headless openjdk-21-jre default-jre-headless default-jre# 2. 修复因强制删除导致的依赖残留apt --fix-broken install# 3. 彻底清理无用的包和配置apt autoremove --purge如果第一步提示找不到某些包直接执行dpkg --remove --force-remove-reinstreq openjdk-21-jre-headless# 检查几个大型宏包是否存在完整版特有的kpsewhich tikz.stykpsewhich biblatex.stykpsewhich libertine.sty希望只生成宏包和字体的清单列表文件而不移动或复制任何文件并将这些清单存放在 /storage/emulated/0/termux_exclusive/ 中同时为 AI 安装所需的系统字体。这样既节省空间又能让 AI 通过清单“理解”你的资源位置。# 1. 创建外部存储目录mkdir -p /storage/emulated/0/termux_exclusive# 2. 安装 AI 常用的系统字体如 Noto CJK、Liberation 等apt install -y fonts-noto-cjk fonts-noto-cjk-extra fonts-liberation fonts-dejavu-core# 3. 生成 TeX Live 宏包完整清单递归列出所有文件约几万行可能需数秒(不建议)ls -lR /usr/share/texlive/texmf-dist /storage/emulated/0/termux_exclusive/宏包清单.txt# 4. 生成系统字体完整清单所有字体文件不建议)ls -lR /usr/share/fonts /storage/emulated/0/termux_exclusive/字体清单.txt# 5. 可选生成更简洁的路径列表只含文件名不含权限信息find /usr/share/texlive/texmf-dist -type f /storage/emulated/0/termux_exclusive/宏包路径列表.txt(建议)find /usr/share/fonts -type f /storage/emulated/0/termux_exclusive/字体路径列表.txt(建议)现在尝试在ssh连接小米9的ubuntu的Tex Live 2023小米9ubuntu账户Enter username不展示1Enter password for ubuntu不展示2打开Forward Chroot Traffic(译转发 Chroot 流量)Forward localhost services (VNC,XRDP, SSH) from the chroot to a network interface.This allows you to access chroot services from other devices on your network.(译将本地主机的服务VNC、XRDP、SSH从 chroot 环境转发到网络接口。这使您能够从网络中的其他设备访问 chroot 服务。)Network Interface(译网络接口):选wlan0(手机网口)选Start Forwarding(译开始转发)Stop Forwarding执行rootubuntu:~# ifconfig wlan0 | grep inet得到inet 192.168.1.183 netmask 255.255.255.0 broadcast 192.168.1.255inet6 fe80::bcd9:3bff:febe:4137 prefixlen 64 scopeid 0x20link检查 SSH 状态执行rootubuntu:~# service ssh status得到* sshd is not runningLinux一般都有ssh功能· 如果显示 sshd is running直接下一步。· 如果没运行执行 service ssh start。没有运行一下ssh功能rootubuntu:~# service ssh start得到* Starting OpenBSD Secure Shell server sshd [ OK ]检查ssh端口rootubuntu:~# netstat -tlnp | grep :2222端口一般默认于是得到tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 21016/sshd: /usr/sb tcp6 0 0 :::22 :::* LISTEN 21016/sshd: /usr/sb进主力机Termux执行ssh -p22 用户名(不展示1)192.168.1.183类原生得一直保持亮屏否则ssh会卡整体命令在ubuntu的终端sudo root身份cd ~创建一个名为 Xelatex_manufacture 的专用文件夹里面放一个编译脚本完全模拟你原来的操作习惯自动进入目录、创建空模板、清理临时文件、调用xelatexbiber编译。mkdir ~/Xelatex_manufacture创建一个手机目录存放Xelatex编译mkdir -p /storage/emulated/0/xelatex编译cd ~/Xelatex_manufacture 第二步创建一个空模板文件 ARGD923.tex方便你用nano编辑touch ARGD923.tex# 或者直接用 nano ARGD923.tex 写入内容无视风险并编译生成biber辅助文件再执行一次编译使用 bash 扩展通配符最简洁把生成好的移到手机目录官方完整三连编shopt -s extglob; \/usr/bin/xelatex --interactionnonstopmode ARGD923.tex ; \/usr/bin/biber ARGD923 ; \/usr/bin/xelatex --interactionnonstopmode ARGD923.tex ; \/usr/bin/xelatex --interactionnonstopmode ARGD923.tex ; \mv !(ARGD923.tex) /storage/emulated/0/xelatex编译/后续普通Termux终端cd到/storage/emulated/0/xelatex编译清空文件并清理残留 ARGD923.tex rm -f ARGD923.{aux,log,out,toc,bbl,bcf,blg,run.xml,pdf,synctex.gz}但一般mt文件管理就行了