core -> metropolis
Smalltown is now called Metropolis!
This is the first commit in a series of cleanup commits that prepare us
for an open source release. This one just some Bazel packages around to
follow a stricter directory layout.
All of Metropolis now lives in `//metropolis`.
All of Metropolis Node code now lives in `//metropolis/node`.
All of the main /init now lives in `//m/n/core`.
All of the Kubernetes functionality/glue now lives in `//m/n/kubernetes`.
Next steps:
- hunt down all references to Smalltown and replace them appropriately
- narrow down visibility rules
- document new code organization
- move `//build/toolchain` to `//monogon/build/toolchain`
- do another cleanup pass between `//golibs` and
`//monogon/node/{core,common}`.
- remove `//delta` and `//anubis`
Fixes T799.
Test Plan: Just a very large refactor. CI should help us out here.
Bug: T799
X-Origin-Diff: phab/D667
GitOrigin-RevId: 6029b8d4edc42325d50042596b639e8b122d0ded
diff --git a/metropolis/test/ktest/BUILD b/metropolis/test/ktest/BUILD
new file mode 100644
index 0000000..d94831c
--- /dev/null
+++ b/metropolis/test/ktest/BUILD
@@ -0,0 +1,63 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
+load("//metropolis/node/build/kconfig-patcher:kconfig-patcher.bzl", "kconfig_patch")
+
+go_library(
+ name = "go_default_library",
+ srcs = ["main.go"],
+ importpath = "git.monogon.dev/source/nexantic.git/metropolis/test/ktest",
+ visibility = ["//visibility:private"],
+ deps = ["//metropolis/test/launch:go_default_library"],
+)
+
+go_binary(
+ name = "ktest",
+ embed = [":go_default_library"],
+ pure = "on",
+ visibility = ["//visibility:public"],
+)
+
+kconfig_patch(
+ name = "testing-config",
+ src = "//third_party/linux:kernel-config",
+ out = "testing.config",
+ override_configs = {
+ # Unlock command line
+ "CONFIG_CMDLINE_OVERRIDE": "n",
+ "CONFIG_CMDLINE_BOOL": "n",
+ # Shave off 1 second from boot time
+ "CONFIG_SERIO_I8042": "",
+ "CONFIG_KEYBOARD_ATKBD": "",
+ "CONFIG_RTC_DRV_CMOS": "",
+ # Shave off an additional 18ms (half of the boot time)
+ "CONFIG_DEBUG_WX": "",
+ },
+)
+
+genrule(
+ name = "linux-testing",
+ srcs = [
+ "@linux//:all",
+ ":testing-config",
+ ],
+ outs = [
+ "linux-testing.elf",
+ ],
+ cmd = """
+ DIR=external/linux
+
+ mkdir $$DIR/.bin
+
+ cp $(location :testing-config) $$DIR/.config
+
+ (cd $$DIR && make -j $$(nproc) vmlinux >/dev/null)
+
+ cp $$DIR/vmlinux $@
+ """,
+ visibility = ["//visibility:public"],
+)
+
+filegroup(
+ name = "test-script",
+ srcs = ["run_ktest.sh"],
+ visibility = ["//visibility:public"],
+)