MIPS64/Known Issues: Difference between revisions

From Alpine Linux
No edit summary
m (Correct the version in which MIPS64 was dropped.)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Obsolete|MIPS64 is no longer supported as of Alpine 3.14.3. Security updates are NOT being backported for this platform.}}
{{TOC right}}
These are the known issues with the [[MIPS64]] port.
== Run from RAM ==
== Run from RAM ==


Line 20: Line 26:


The MIPS64 port is big-endian.  This causes problems with some cryptographic and multimedia applications which either assume MIPS is little-endian or do not have any endian awareness at all.  Such packages will have to either be fixed or blocked.
The MIPS64 port is big-endian.  This causes problems with some cryptographic and multimedia applications which either assume MIPS is little-endian or do not have any endian awareness at all.  Such packages will have to either be fixed or blocked.
== Rust ==
Rust is not yet bootstrapped on MIPS64.
== Java ==
Java is not yet bootstrapped on MIPS64.  To bootstrap Java, we would need to first fix the FTBFS issue in <code>community/gcc6</code> so we have a functioning GCJ.

Latest revision as of 06:38, 10 January 2024

This material is obsolete ...

MIPS64 is no longer supported as of Alpine 3.14.3. Security updates are NOT being backported for this platform. (Discuss)

These are the known issues with the MIPS64 port.

Run from RAM

At present, not much work has been done on run from RAM, because many of the Octeon boards do not have named memory blocks support, which is necessary to use an initramfs under Cavium Executive.

For those which do support named memory blocks, you can load an initramfs into one and then specify it as rd_name=initramfs on the kernel command line.

Floating Point

The MIPS64 port is soft-float, because many of the CPUs we are targeting have broken FPUs. This causes problems with math applications, such as those dependent on OpenBLAS. Similarly, binaries that are compiled with -mhard-float can't be linked on Alpine MIPS64. We may do a hard-float port later.

Go

Go itself works fine on MIPS64, but many libraries which make syscalls directly either assume that MIPS environments are 32-bit or do not have code for making syscalls on MIPS at all. As such, many Go packages are presently blocked on MIPS64. The solution is to fix the Go libraries, unfortunately Go does not make this easy to do.

Octeon 3 BGX

The recommended kernel for most Octeon devices is the one in our linux-octeon package. However, this kernel does not have the drivers to support the Octeon 3 BGX networking features which are used on the higher-end Octeon SOCs. For those devices, you will need to use a vendor-supplied kernel for now until the driver is ported.

Endianness

The MIPS64 port is big-endian. This causes problems with some cryptographic and multimedia applications which either assume MIPS is little-endian or do not have any endian awareness at all. Such packages will have to either be fixed or blocked.

Rust

Rust is not yet bootstrapped on MIPS64.

Java

Java is not yet bootstrapped on MIPS64. To bootstrap Java, we would need to first fix the FTBFS issue in community/gcc6 so we have a functioning GCJ.