![a4e9a12405c0d0898869aab5dd1252e8.png](https://i-blog.csdnimg.cn/blog_migrate/2037a14df6b59630a2a8e51e051e3755.png)
------ (2) 已经更新 ------
https://zhuanlan.zhihu.com/p/57016460
作为一个 TeX 的普通用户,时时刻刻都惦记着 TeX,所以就看看能否在路由器上用 TeXLive.
贴一下跑 TeXLive 的路由器的配置,带 TF 卡槽和 USB 接口,将在 TF 卡上存储 TeXLive.
CPU: MT7620A
Target: ramips
Architecture: mipsel_24kc
RAM: 128MB
Flash: SPI NOR 32MB
已经刷入了自行编译的 OpenWRT 18.06.2 的固件.
该 CPU 多见于各类便携式路由器中,这内存大小其实是有点累的。于是我插了个 U 盘,在第二分区先 mkswap 然后启用 swap 保个命. (这一步其实并不急...另外我这边开的有点大了)
![c1a1bd60b1b3296e1e12497196f5aef6.png](https://i-blog.csdnimg.cn/blog_migrate/231b339b3b7d4d3f87d38deed05c51a6.jpeg)
准备工作
- OpenWRT 工具链
获取 OpenWRT 工具链和整套 SDK 的途径很多.
使用 Git 获取完整源代码.
git clone https://git.openwrt.org/openwrt/openwrt.git
当然,你也可以使用 GitHub 的镜像 repo.
git clone https://github.com/openwrt/openwrt.git
为了选择 OpenWRT 版本,如 18.06.2,可以选择指定的 branch
git clone https://github.com/openwrt/openwrt.git -b v18.06.2
或直接在官方或镜像处下载 SDK,前往 OpenWRT 的下载页面,进入对应的版本和平台下载 SDK 即可.
OpenWrt Downloadsdownloads.openwrt.org至于如何初始化工具链,请参阅
Build system - Usageopenwrt.org要进行交叉编译,还需要设置 PATH 等环境变量,可查看该文档.
OpenWrt Project: Cross Compileopenwrt.org依赖
源自 TeXLive 官方的构建文档
Building TeX Live (2018)www.tug.org首先是几个特殊组件的依赖,对于特殊组件的拼写,此处均采用小写式的目标名
- dvisvgm DVI, EPS, PDF -> SVG 需要 C++ 11 的支持
此项对最新的 OpenWRT 不用担心,但是在一些老版本如 Chaos Calmer 等中需要注意,默认使用的 uClibc 由于实现原因,许多 C++ 11 中的对象并未实现,解决方法是换用 glibc,或是……硬核 patch 一下吧,主要是字符串的一些函数和 C 式的数学函数,如 to_string 和 trunc 等,数学函数直接将命名空间 std 去掉就可以了,uClibc 仍然是 C 式的数学函数,未采用 C++ 11 的标准;对于 string 相关的函数,可以自行实现一个(使用各类流).
(就是真的很脏,脏到 patch 完后背发凉)
- web2c 一种 TeX 的实现方式 make check 需要 perl