Loong13 - (Unofficial) Debian Trixie 13 for LoongArch64

Welcome to the Loong13 project! This repository hosts the unofficial1 Debian Trixie 13 distribution rebuilt for the LoongArch64 architecture. The distribution is built fully from source, without using any binary blobs targeting for LoongArch64 hardware.

The packages in this archive are built from the official Debian source packages, with only minimal modifications to ensure build compatibility on LoongArch64 systems. It is also ensured that upgrading to future Debian official loong64 releases will be as seamless as possible. The goal of this project is to provide a stable and reliable Debian experience on LoongArch64 hardware.

The packages are not officially supported by the Debian project, but the usual procedure for building and uploading Debian packages has been followed as closely as possible.

Downloads

Repositories

Warranty and Support

The packages provided in this repository are distributed “as is”, without any warranty of any kind, either expressed or implied. Use at your own risk.

Updates and Maintenance

The packages in this repository will be updated following the official Debian archive updates. When new packages are uploaded to the proposed-updates or security repositories of the official Debian archive, they will be automatically rebuilt for LoongArch64 and made available in this repository after successful build. Point releases of Debian will also be mirrored here with one or two days of delay to finish the transition. This workflow is the same as the official Debian repositories.

The maintenance of this repository is done on a best-effort basis and is expected to be kept up to date with the official Debian releases as much as possible in a 3-year period following the initial release of Debian Trixie 13 until EOL of Trixie in mid-2028. Further LTS support is not guaranteed.

Security updates

Security updates will be provided in a timely manner, following the official Debian security update releases. However, there would be a delay to finish the build process for LoongArch64 architecture, since the packages will be built after the release of the official source packages.

Acknowledgements

This project would not be possible without the hard work and dedication of the Debian community. Thanks to all the developers and maintainers who have contributed to the Debian project over the years. Special thanks to the maintainers of the LoongArch64 ports. Without their efforts, this project would not have been possible.

It is also important to acknowledge the support from Apernet, who has sponsored the hosting infrastructure for this repository and provided hosting for the builder machines.

Issues and Feedback

If you encounter any issues, please do NOT directly report to the Debian bug tracker. Instead, if the same issue exists in the official Debian distribution for other architectures, please report it there. For LoongArch64-specific issues, please open an issue in the GitHub Issues page of this repository.

Technical Details

Build System

The build system for this repository is based on Debian’s own buildd infrastructure. The packages are built using sbuild in a chroot environment set up for LoongArch64 architecture. The build process is managed by wanna-build, which monitors the official Debian archive for new source package uploads and triggers the build process accordingly. It has been customized to fit the needs of this project.

Builders are running on LoongArch64 hardware, using pybuildd as the build daemon, inside of which sbuild is invoked to build packages. The scripts and configuration files for the build system are available in triloong/buildd.

Management of the Repository

The repository is managed using reprepro, with additional scripts to automate the process of handling debian installer images, generating DEP-11 metadata and generating Acquire-by-Hash indices.

Build of CD Images

The Debian installer images are built using debian-cd. The configuration files and scripts used to build the images are available in triloong/debian-cd.

Build Process

The build process can be divided into three main phases: bootstrapping, and two rounds of package building.

Bootstrapping

As said, no binary blobs targeting LoongArch64 hardware were used in the build process. Thus, bootstrapping was done using rebootstrap. The script is modified to finally build a special minimal set of packages using cross-compilation from an arm64 host to satisfy the dependencies for build-essential packages and debhelper to start the native build process on LoongArch64 hardware. The packages built by rebootstrap are available in rebootstrap/.

Native Build Round I

After bootstrapping, all of the packages were built natively on LoongArch64 hardware. To break circular dependencies, some packages were built using cross-compilation or with special build profiles manually. The manually built packages are stored in seeds/. The packages in rebootstrap/ and seeds/ were used only to satisfy build dependencies and were not included in the final repository. The built packages were uploaded to a repository in builds1/.

Native Build Round II

To avoid the influence of the manually built packages in seeds/ and the packages built by rebootstrap, a second round of native build was performed. In this round, all packages were built again on LoongArch64 hardware, using only the packages available in the builds1/ repository to satisfy build dependencies. The resulting packages were uploaded to a repository in builds2/, which forms the final repository for this project.

Finalization

After the second round of native build, the repository was finalized by first importing the packages from builds2/ into the main repository. Then, all the architecture-independent packages (marked as all in Debian) were downloaded from the official Debian archive and imported into the main repository. This ensures that all packages in the repository are available for installation on LoongArch64 systems. After that, all the existing packages in proposed-updates and security repositories were built for LoongArch64 using only the packages in the main repository to satisfy build dependencies. The resulting packages were then imported into the respective repositories to complete the setup.

Modified Packages

The following packages have been modified from their original Debian source packages to ensure build compatibility on LoongArch64 systems.

Package Version Original Version Description References LoongArch64-specific?
bglibs 2.04+dfsg-8+b3+~loong64+1 2.04+dfsg-8+b3 Modifications were made to fix the race conditions in the build system, which prevent successful compilation when high parallelism is used. BTS #1121836 No
chromium 143.0.7499.109-1~deb13u1+~loong64+1 143.0.7499.109-1~deb13u1 Modifications were made to dynamically link libc++ instead of statically linking it to prevent build failures due to libc++ built with normal code model on LoongArch64 architecture with gcc-14 by default while chromium requires medium code model. Yes
chromium 143.0.7499.169-1~deb13u1+~loong64+1 143.0.7499.169-1~deb13u1 Modifications were made to dynamically link libc++ instead of statically linking it to prevent build failures due to libc++ built with normal code model on LoongArch64 architecture with gcc-14 by default while chromium requires medium code model. Yes
chromium 143.0.7499.192-1~deb13u1+~loong64+1 143.0.7499.192-1~deb13u1 Modifications were made to dynamically link libc++ instead of statically linking it to prevent build failures due to libc++ built with normal code model on LoongArch64 architecture with gcc-14 by default while chromium requires medium code model. Yes
chromium 144.0.7559.109-1~deb13u1+~loong64+1 144.0.7559.109-1~deb13u1 Modifications were made to dynamically link libc++ instead of statically linking it to prevent build failures due to libc++ built with normal code model on LoongArch64 architecture with gcc-14 by default while chromium requires medium code model. Yes
chromium 144.0.7559.109-2~deb13u1+~loong64+1 144.0.7559.109-2~deb13u1 Modifications were made to dynamically link libc++ instead of statically linking it to prevent build failures due to libc++ built with normal code model on LoongArch64 architecture with gcc-14 by default while chromium requires medium code model. Yes
chromium 144.0.7559.59-1~deb13u1+~loong64+1 144.0.7559.59-1~deb13u1 Modifications were made to dynamically link libc++ instead of statically linking it to prevent build failures due to libc++ built with normal code model on LoongArch64 architecture with gcc-14 by default while chromium requires medium code model. Yes
chromium 144.0.7559.96-1~deb13u1+~loong64+1 144.0.7559.96-1~deb13u1 Modifications were made to dynamically link libc++ instead of statically linking it to prevent build failures due to libc++ built with normal code model on LoongArch64 architecture with gcc-14 by default while chromium requires medium code model. Yes
chromium 145.0.7632.109-1~deb13u3+~loong64+1 145.0.7632.109-1~deb13u3 Modifications were made to dynamically link libc++ instead of statically linking it to prevent build failures due to libc++ built with normal code model on LoongArch64 architecture with gcc-14 by default while chromium requires medium code model. Yes
chromium 145.0.7632.116-1~deb13u1+~loong64+1 145.0.7632.116-1~deb13u1 Modifications were made to dynamically link libc++ instead of statically linking it to prevent build failures due to libc++ built with normal code model on LoongArch64 architecture with gcc-14 by default while chromium requires medium code model. Yes
chromium 145.0.7632.75-1~deb13u1+~loong64+1 145.0.7632.75-1~deb13u1 Modifications were made to dynamically link libc++ instead of statically linking it to prevent build failures due to libc++ built with normal code model on LoongArch64 architecture with gcc-14 by default while chromium requires medium code model. Yes
dbus-broker 37-2+deb13u~+loong64+1 37-2 Modifications were made to fix build issues on newer kernels which do not refuse to return stale pidfd when a process tries to get the pidfd of its unix socket peer. bus1/dbus-broker#409 No
debian-installer 20250803+deb13u2+~loong64+1 20250803+deb13u2 Modifications were made to enable cdrom based gtk installer, netboot installer, and add keyrings for loong13 repos into the generated installer image. triloong/debian-installer Yes
debian-installer 20250803+deb13u3+~loong64+1 20250803+deb13u3 Modifications were made to enable cdrom based gtk installer, netboot installer, and add keyrings for loong13 repos into the generated installer image. triloong/debian-installer Yes
debian-loong64-non-official-archive-keyring 2025.12.22 Keyring package for this archive, containing the public keys used to verify the authenticity of packages and a set of scripts to inject into the installer images to override the default Debian archive keyrings and the repository URLs. triloong/debian-loong64-keyring Yes
grep 3.11-4+b1+~loong64+1 3.11-4+b1 Modifications were made to ensure the behavior of grep is the same as built with pcre2 older than 10.43, since grep for other architectures in Trixie is built with pcre2 10.42. The behavior change prevents geeqie from building successfully. No
gvars3 0.0~git20220105194034.62f5a78-4.1+deb13u~+loong64+1 0.0~git20220105194034.62f5a78-4.1 Modifications were made to add missing -fPIC flag when building shared libraries. No
hugo 0.131.0-1+deb13u~+loong64+1 0.131.0-1 Modifications were made to fix unit tests failures due to slightly different PNG images generated due to FMA (Fused Multiply-Add) instruction support, which had been fixed for other architectures. gohugoio/hugo#6387 Yes
imath 3.1.12-1+b3+~loong64+1 3.1.12-1+b3 Modifications were made to correct the calling sequence of dh_numpy3 in the building script to prevent missing generated dependency to python3-numpy. The missing dependency prevents successful build of opencv. No
iperf3 3.18-2+deb13u1+~loong64+1 3.18-2+deb13u1 Modifications were made to backport fixes from later versions to prevent unit test failures. BTS #1120866 No
kpublictransport 25.04.3-1+deb13u~+loong64+1 25.04.3-1 Modifications were made to fix the race conditions in the build system when building with high parallelism. BTS #1113084 No
libdazzle 3.44.0-3+deb13u~+loong64+1 3.44.0-3 Modifications were made to increase the allowed time for certain unit tests to complete, preventing test failures during build. No
libyuv 0.0.1904.20250204-1+deb13u~loong64+1 0.0.1904.20250204-1 Modifications were made to backport fixes from later versions to fix LoongArch optimized kernels. Chromium CR 6878364 Yes
mariadb 1:11.8.3-0+deb13u1+~loong64+1 1:11.8.3-0+deb13u1 Modifications were made to backport fixes from later versions to fix build issues on network isolated environments. MariaDB Jira MDEV-36668 No
openblas 0.3.29+ds-3+deb13u~+loong64+1 0.3.29+ds-3 Modifications were made to disable lasx kernels that may cause incorrect output results, which prevents successful build of xtb. Yes
openblas 0.3.29+ds-3+deb13u~+loong64+2 0.3.29+ds-3+deb13u~+loong64+1 Modifications were made to backport fixes from later versions to fix incorrect results in lasx kernels when running on LoongArch processors with 32MiB of L3 cache, which prevents successful build of xtb. BTS #1126103 OpenMathLib/OpenBLAS#5602 Yes
openjdk-21 21.0.10+7-1~deb13u1+~loong64+1 21.0.10+7-1~deb13u1 Modifications were made to disable some of the tests that take too long to complete on LoongArch architecture, preventing successful build of openjdk-21. BTS #1121113 Yes
openjdk-25 25.0.2+10-1~deb13u2+~loong64+1 25.0.2+10-1~deb13u2 Modifications were made to disable some of the tests that take too long to complete on LoongArch architecture, preventing successful build of openjdk-25. BTS #1121113 Yes
openjdk-25 25.0.2+10-1~deb13u2+~loong64+2 25.0.2+10-1~deb13u2+~loong64+1 Modifications were made to disable some of the tests that take too long to complete on LoongArch architecture, preventing successful build of openjdk-25 and fix a problem in the building scripts that prevents parallel running of tests. BTS #1121113 BTS #1127309 Yes
qtbase-opensource-src 5.15.15+dfsg-6+deb13u~+loong64+1 5.15.15+dfsg-6 Modifications were made to backport fixes from later versions to fix data races in QReadWriteLock on weakly ordered architectures, which prevents successful build of qt3d-opensource-src. BTS #1122641 No
rust-cty 0.2.1-1+b2+~loong64+1 0.2.1-1+b2 Modifications were made to enable building on LoongArch architecture. japaric/cty#23 Yes
rust-glib 0.20.9-1+deb13u~+loong64+1 0.20.9-1 Modifications were made to regenerate bindings code to prevent build failures due to updated rust-gobject-sys. BTS #1104991 No
rust-glib-0.18 0.18.5-4+deb13u~+loong64+1 0.18.5-4 Modifications were made to regenerate bindings code to prevent build failures due to updated rust-gobject-sys-0.18. BTS #1104991 No
sudo 1.9.16p2-3+deb13u~+loong64+1 1.9.16p2-3 Modifications were made to fix the race conditions in the build system, which prevent successful compilation when high parallelism is used. sudo-project/sudo#487 No
vamp-plugin-sdk 2.10.0-5+deb13u~+loong64+1 2.10.0-5 Modifications were made to fix the race conditions in the build system, which prevent successful compilation when high parallelism is used. BTS #1121890 No
  1. This project is not officially endorsed or supported by the Debian project, although the domain name used for hosting this repository is registered under debian.net.