treewide: basic ARM64 fixes

This introduces per-arch kernel configs, adds a basic ARM64 kconfig,
adds ttyAMA0 as a console as well as makes some smaller fixes needed for
basic ARM64 operation. This is not production-ready, but it boots
Monogon on ARM64.

Change-Id: Ifd1d8e33f3fe65883626b8ae7a766c98ea912121
Reviewed-on: https://review.monogon.dev/c/monogon/+/4247
Tested-by: Jenkins CI
Reviewed-by: Tim Windelschmidt <tim@monogon.tech>
diff --git a/third_party/linux/BUILD.bazel b/third_party/linux/BUILD.bazel
index 0d1bad9..cccc300 100644
--- a/third_party/linux/BUILD.bazel
+++ b/third_party/linux/BUILD.bazel
@@ -1,8 +1,16 @@
 load("//third_party/linux:def.bzl", "linux_image")
 
-exports_files(["linux-metropolis.config"])
+alias(
+    name = "kconfig",
+    actual = select({
+        "@platforms//cpu:aarch64": ":kconfig-aarch64",
+        "@platforms//cpu:x86_64": ":kconfig-x86_64",
+    }),
+    visibility = ["//visibility:public"],
+)
 
 linux_image(
     name = "linux",
+    kernel_config = ":kconfig",
     visibility = ["//visibility:public"],
 )