diff --git a/build/image/image.gni b/build/image/image.gni
index 61a407a..fbaf14b 100644
--- a/build/image/image.gni
+++ b/build/image/image.gni
@@ -150,9 +150,8 @@
 
 # Build the initial RAM disk for the hypervisor.
 template("initrd") {
-  assert(
-      defined(invoker.primary_vm) || defined(invoker.primary_vm_prebuilt),
-      "initrd() must specify a \"primary_vm\" or \"primary_vm_prebuilt\" value")
+  assert(defined(invoker.primary_vm),
+         "initrd() must specify a \"primary_vm\" value")
 
   action(target_name) {
     forward_variables_from(invoker, [ "testonly" ])
@@ -162,24 +161,22 @@
     initrd_file = "${initrd_base}.img"
     initrd_staging = "${initrd_base}"
 
-    deps = []
+    # Cannot get target outputs here as they are defined in a different file.
+    primary_vm_image = get_label_info(invoker.primary_vm, "target_out_dir") +
+                       "/" + get_label_info(invoker.primary_vm, "name") + ".bin"
 
-    if (defined(invoker.primary_vm_prebuilt)) {
-      primary_vm_output = invoker.primary_vm_prebuilt
-    } else {
-      primary_vm_output =
-          get_label_info(invoker.primary_vm, "target_out_dir") + "/" +
-          get_label_info(invoker.primary_vm, "name") + ".bin"
-      deps += [ invoker.primary_vm ]
-    }
+    deps = [
+      invoker.primary_vm,
+    ]
     args = [
       "--primary_vm",
-      rebase_path(primary_vm_output),
+      rebase_path(primary_vm_image),
       "--staging",
       rebase_path(initrd_staging),
       "--output",
       rebase_path(initrd_file),
     ]
+
     if (defined(invoker.primary_initrd)) {
       deps += [ invoker.primary_initrd ]
       primary_initrd_outputs = get_target_outputs(invoker.primary_initrd)
diff --git a/build/linux/linux.gni b/build/linux/linux.gni
index b675813..6ac0b8a 100644
--- a/build/linux/linux.gni
+++ b/build/linux/linux.gni
@@ -31,6 +31,7 @@
 template("linux_kernel") {
   source_target = "${target_name}__source"
   defconfig_target = "${target_name}__defconfig"
+  prebuilt_target = "${target_name}__prebuilt"
 
   # Args to build/make.py to start the Linux build.
   shared_args = [
@@ -90,6 +91,18 @@
       ":${source_target}",
     ]
   }
+
+  # Subtarget for a prebuilt image, if defined.
+  if (defined(invoker.prebuilt)) {
+    copy(prebuilt_target) {
+      sources = [
+        invoker.prebuilt,
+      ]
+      outputs = [
+        "${target_out_dir}/${prebuilt_target}.bin",
+      ]
+    }
+  }
 }
 
 template("linux_kernel_module") {
diff --git a/test/linux/BUILD.gn b/test/linux/BUILD.gn
index 57ea451..13bd807 100644
--- a/test/linux/BUILD.gn
+++ b/test/linux/BUILD.gn
@@ -43,7 +43,7 @@
 initrd("linux_test") {
   testonly = true
 
-  primary_vm_prebuilt = "//prebuilts/linux-aarch64/linux/vmlinuz"
+  primary_vm = "//third_party:linux__prebuilt"
   primary_initrd = ":linux_test_initrd"
 }
 
diff --git a/third_party/BUILD.gn b/third_party/BUILD.gn
index 9751f25..6dfa3b9 100644
--- a/third_party/BUILD.gn
+++ b/third_party/BUILD.gn
@@ -58,4 +58,5 @@
 
 linux_kernel("linux") {
   kernel_dir = "linux"
+  prebuilt = "//prebuilts/linux-aarch64/linux/vmlinuz"
 }
