MIPS64/已知问题
![]() 从 Alpine 3.14.3 起,不再支持 MIPS64。此平台不再提供安全更新。(讨论) |
这些是 MIPS64 端口的已知问题。
从 RAM 运行
目前,在从 RAM 运行方面没有做太多工作,因为许多 Octeon 板不支持命名内存块,这对于在 Cavium Executive 下使用 initramfs 是必需的。
对于那些支持命名内存块的设备,您可以将 initramfs 加载到一个内存块中,然后在内核命令行上将其指定为 rd_name=initramfs。
浮点
MIPS64 端口是软浮点,因为我们针对的许多 CPU 的 FPU 都有问题。 这给数学应用程序带来了问题,例如那些依赖于 OpenBLAS 的应用程序。 同样,使用 -mhard-float 编译的二进制文件无法在 Alpine MIPS64 上链接。 我们稍后可能会做一个硬浮点端口。
Go
Go 本身在 MIPS64 上工作正常,但是许多直接进行系统调用的库要么假设 MIPS 环境是 32 位的,要么根本没有在 MIPS 上进行系统调用的代码。 因此,许多 Go 包目前在 MIPS64 上被阻止。 解决方案是修复 Go 库,但不幸的是,Go 并没有使这变得容易。
Octeon 3 BGX
大多数 Octeon 设备推荐的内核是我们的 linux-octeon 软件包中的内核。 但是,此内核没有驱动程序来支持高端 Octeon SOC 上使用的 Octeon 3 BGX 网络功能。 对于这些设备,在驱动程序移植之前,您现在需要使用供应商提供的内核。
字节序
MIPS64 端口是大端字节序。 这给一些加密和多媒体应用程序带来了问题,这些应用程序要么假设 MIPS 是小端字节序,要么根本没有字节序意识。 这样的软件包将不得不被修复或阻止。
Rust
Rust 尚未在 MIPS64 上完成引导。
Java
Java 尚未在 MIPS64 上完成引导。 要引导 Java,我们需要首先修复 community/gcc6 中的 FTBFS 问题,以便我们有一个可用的 GCJ。