diff --git a/MODULE.bazel b/MODULE.bazel
index eaff967..f2e7a4e 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -118,14 +118,10 @@
     remote = "https://review.monogon.dev/toolchain_cc",
 )
 
-register_toolchains("//build/toolchain:host_cc_toolchain")
-
 register_toolchains("@toolchain_cc_mngn//linux_musl:linux_x86_64_linux_x86_64_musl_static")
 
 register_toolchains("@toolchain_cc_mngn//linux_musl:linux_x86_64_linux_aarch64_musl_static")
 
-register_toolchains("@toolchain_cc_mngn//linux_musl:linux_x86_64_linux_aarch64_musl")
-
 register_toolchains("@toolchain_cc_mngn//efi:linux_x86_64_efi_x86_64")
 
 register_toolchains("@toolchain_cc_mngn//efi:linux_x86_64_efi_aarch64")
diff --git a/build/platforms/BUILD.bazel b/build/platforms/BUILD.bazel
index 028bb9a..c5c9838 100644
--- a/build/platforms/BUILD.bazel
+++ b/build/platforms/BUILD.bazel
@@ -5,6 +5,10 @@
         "@platforms//os:linux",
         "@platforms//cpu:x86_64",
     ],
+    flags = [
+        "--@toolchain_cc_mngn//buildmode:static",
+        "--@io_bazel_rules_go//go/config:static",
+    ],
     visibility = ["//visibility:public"],
 )
 
@@ -14,6 +18,10 @@
         "@platforms//os:linux",
         "@platforms//cpu:aarch64",
     ],
+    flags = [
+        "--@toolchain_cc_mngn//buildmode:static",
+        "--@io_bazel_rules_go//go/config:static",
+    ],
     visibility = ["//visibility:public"],
 )
 
diff --git a/build/toolchain/BUILD.bazel b/build/toolchain/BUILD.bazel
index a1d2288..e69de29 100644
--- a/build/toolchain/BUILD.bazel
+++ b/build/toolchain/BUILD.bazel
@@ -1,72 +0,0 @@
-load("@rules_cc//cc:defs.bzl", "cc_toolchain")
-load(":cc_toolchain_config.bzl", "host_cc_toolchain_config")
-
-# Toolchain definitions.
-#
-# We currently define two toolchains:
-#
-#  - //build/toolchain:host_cc_toolchain , which points to our hermetic sandbox
-#    sysroot default compiler toolchain. It is mainly used to target the execution platform
-#    inside the sandbox (i.e. build tooling).
-#  - //build/toolchain/musl-host-gcc:musl_host_toolchain , which combines the sandbox sysroot
-#    gcc compiler with a sysroot tarball that targets the Metropolis node
-#    runtime. This can be used to build C libraries/tools running within the
-#    Metropolis node image or on the (unknown) host operating system outside the sandbox.
-
-# This file defines //build/toolchain:host_cc_toolchain.
-#
-# This is a C++ toolchain that uses GCC from the sandbox sysroot at hardcoded paths. We
-# can get away with this, as currently the entire build is performed in a hermetic
-# sandbox sysroot (see: //third_party/sandboxroot). We define this toolchain so
-# that we have full control over all configuration of it, which we need as we
-# are building some fairly odd C binaries (notably, a qboot bootloader for
-# testing).
-#
-# The host_cc toolchain suite is enabled for all cc_* targets whose
-# platform isn't matching a more specific toolchain.
-#
-# This, and :cc_toolchain_config.bzl is based on the following tutorial:
-# https://docs.bazel.build/versions/master/tutorial/cc-toolchain-config.html
-
-package(default_visibility = ["//visibility:public"])
-
-filegroup(name = "empty")
-
-cc_toolchain(
-    name = "host_cc_k8_toolchain",
-    all_files = ":empty",
-    ar_files = ":empty",
-    as_files = ":empty",
-    compiler_files = ":empty",
-    dwp_files = ":empty",
-    linker_files = ":empty",
-    objcopy_files = ":empty",
-    strip_files = ":empty",
-    supports_param_files = 0,
-    toolchain_config = ":host_cc_k8_toolchain_config",
-    toolchain_identifier = "host-k8-toolchain",
-)
-
-host_cc_toolchain_config(name = "host_cc_k8_toolchain_config")
-
-config_setting(
-    name = "is_dynamic",
-    flag_values = {"@toolchain_cc_mngn//buildmode:static": "False"},
-)
-
-toolchain(
-    name = "host_cc_toolchain",
-    exec_compatible_with = [
-        "@platforms//os:linux",
-        "@platforms//cpu:x86_64",
-    ],
-    target_compatible_with = [
-        "@platforms//os:linux",
-        "@platforms//cpu:x86_64",
-    ],
-    target_settings = [
-        ":is_dynamic",
-    ],
-    toolchain = ":host_cc_k8_toolchain",
-    toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
-)
diff --git a/build/toolchain/cc_toolchain_config.bzl b/build/toolchain/cc_toolchain_config.bzl
deleted file mode 100644
index 33925c6..0000000
--- a/build/toolchain/cc_toolchain_config.bzl
+++ /dev/null
@@ -1,248 +0,0 @@
-#  Copyright 2020 The Monogon Project Authors.
-#
-#  SPDX-License-Identifier: Apache-2.0
-#
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-load("@bazel_tools//tools/build_defs/cc:action_names.bzl", "ACTION_NAMES")
-load("@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl", "feature", "flag_group", "flag_set", "tool_path")
-load("@rules_cc//cc/common:cc_common.bzl", "cc_common")
-
-all_compile_actions = [
-    ACTION_NAMES.c_compile,
-    ACTION_NAMES.cpp_compile,
-    ACTION_NAMES.linkstamp_compile,
-    ACTION_NAMES.assemble,
-    ACTION_NAMES.preprocess_assemble,
-    ACTION_NAMES.cpp_header_parsing,
-    ACTION_NAMES.cpp_module_compile,
-    ACTION_NAMES.cpp_module_codegen,
-    ACTION_NAMES.clif_match,
-    ACTION_NAMES.lto_backend,
-]
-
-all_cpp_compile_actions = [
-    ACTION_NAMES.cpp_compile,
-    ACTION_NAMES.linkstamp_compile,
-    ACTION_NAMES.cpp_header_parsing,
-    ACTION_NAMES.cpp_module_compile,
-    ACTION_NAMES.cpp_module_codegen,
-    ACTION_NAMES.clif_match,
-]
-
-preprocessor_compile_actions = [
-    ACTION_NAMES.c_compile,
-    ACTION_NAMES.cpp_compile,
-    ACTION_NAMES.linkstamp_compile,
-    ACTION_NAMES.preprocess_assemble,
-    ACTION_NAMES.cpp_header_parsing,
-    ACTION_NAMES.cpp_module_compile,
-    ACTION_NAMES.clif_match,
-]
-
-codegen_compile_actions = [
-    ACTION_NAMES.c_compile,
-    ACTION_NAMES.cpp_compile,
-    ACTION_NAMES.linkstamp_compile,
-    ACTION_NAMES.assemble,
-    ACTION_NAMES.preprocess_assemble,
-    ACTION_NAMES.cpp_module_codegen,
-    ACTION_NAMES.lto_backend,
-]
-
-executable_link_actions = [
-    ACTION_NAMES.cpp_link_executable,
-    ACTION_NAMES.lto_index_for_executable,
-]
-
-all_link_actions = [
-    ACTION_NAMES.cpp_link_executable,
-    ACTION_NAMES.cpp_link_dynamic_library,
-    ACTION_NAMES.cpp_link_nodeps_dynamic_library,
-]
-
-lto_index_actions = [
-    ACTION_NAMES.lto_index_for_executable,
-    ACTION_NAMES.lto_index_for_dynamic_library,
-    ACTION_NAMES.lto_index_for_nodeps_dynamic_library,
-]
-
-# This defines a minimal, barely parametrized toolchain configuration rule that
-# uses the host GCC with some possible overrides.
-
-def _host_cc_toolchain_impl(ctx):
-    cpp_feature = feature(
-        name = "cpp",
-        enabled = ctx.attr.has_cpp,
-        flag_sets = [
-            flag_set(
-                actions = all_cpp_compile_actions + [ACTION_NAMES.lto_backend],
-                flag_groups = ([
-                    flag_group(
-                        flags = ["-std=c++17"],
-                    ),
-                ]),
-            ),
-            flag_set(
-                actions = all_link_actions + lto_index_actions,
-                flag_groups = ([
-                    flag_group(
-                        flags = [
-                            "-lstdc++",
-                        ],
-                    ),
-                ]),
-            ),
-        ],
-    )
-    link_full_libc_feature = feature(
-        name = "link_full_libc",
-        enabled = True,
-        flag_sets = [
-            flag_set(
-                actions = all_link_actions + lto_index_actions,
-                flag_groups = ([
-                    flag_group(
-                        flags = [
-                            "-lm",
-                            "-lutil",
-                            "-lpthread",
-                        ],
-                    ),
-                ] if ctx.attr.is_glibc else []),  # musl just works
-            ),
-        ],
-    )
-    pie_feature = feature(
-        name = "pie",
-        enabled = False,
-        flag_sets = [
-            flag_set(
-                actions = executable_link_actions,
-                flag_groups = ([
-                    flag_group(
-                        flags = [
-                            "-static-pie",
-                        ],
-                    ),
-                ]),
-            ),
-            flag_set(
-                actions = all_compile_actions,
-                flag_groups = ([
-                    flag_group(
-                        flags = [
-                            "-fPIE",
-                        ],
-                    ),
-                ]),
-            ),
-        ],
-    )
-    default_link_flags_feature = feature(
-        name = "default_link_flags",
-        enabled = True,
-        flag_sets = [
-            flag_set(
-                actions = all_link_actions + lto_index_actions,
-                flag_groups = ([
-                    flag_group(
-                        flags = [
-                            "-Wl,-z,relro,-z,now",
-                            "-pass-exit-codes",
-                        ],
-                    ),
-                ]),
-            ),
-        ],
-    )
-    tool_paths = [
-        tool_path(
-            name = "gcc",
-            path = ctx.attr.gcc,
-        ),
-        tool_path(
-            name = "ld",
-            path = "/usr/bin/ld",
-        ),
-        tool_path(
-            name = "ar",
-            path = "/usr/bin/ar",
-        ),
-        tool_path(
-            name = "cpp",
-            path = "/bin/false",
-        ),
-        tool_path(
-            name = "gcov",
-            path = "/bin/false",
-        ),
-        tool_path(
-            name = "nm",
-            path = "/bin/false",
-        ),
-        tool_path(
-            name = "objdump",
-            path = "/bin/false",
-        ),
-        tool_path(
-            name = "strip",
-            path = "/bin/false",
-        ),
-        tool_path(
-            name = "objcopy",
-            path = "/usr/bin/objcopy",
-        ),
-    ]
-
-    return cc_common.create_cc_toolchain_config_info(
-        ctx = ctx,
-        features = [
-            default_link_flags_feature,
-            link_full_libc_feature,
-            cpp_feature,
-            pie_feature,
-        ],
-        cxx_builtin_include_directories = ctx.attr.host_includes,
-        toolchain_identifier = "k8-toolchain",
-        host_system_name = "local",
-        target_system_name = "local",
-        target_cpu = "k8",
-        target_libc = "unknown",
-        compiler = "gcc",
-        abi_version = "unknown",
-        abi_libc_version = "unknown",
-        tool_paths = tool_paths,
-        builtin_sysroot = ctx.attr.sysroot,
-    )
-
-host_cc_toolchain_config = rule(
-    implementation = _host_cc_toolchain_impl,
-    attrs = {
-        "gcc": attr.string(
-            default = "/usr/bin/gcc",
-        ),
-        "has_cpp": attr.bool(default = True),
-        "is_glibc": attr.bool(default = True),
-        "host_includes": attr.string_list(
-            default = [
-                "/usr/lib/gcc/x86_64-redhat-linux/14/include/",
-                "/usr/include",
-            ],
-        ),
-        "sysroot": attr.string(
-            default = "",
-        ),
-    },
-    provides = [CcToolchainConfigInfo],
-)
