m/p/scsi: add SCSI package

This adds a SCSI package to interact with SCSI devices.
It implements a subset of commands from the SPC-5 and SBC-4 standard
useful for discovery and health assessment.
A follow-up will add SAT (SCSI-to-ATA translation) support.

Change-Id: I7f084d26f11d9c951f51051040160e351cf5594c
Reviewed-on: https://review.monogon.dev/c/monogon/+/1066
Reviewed-by: Serge Bazanski <serge@monogon.tech>
Tested-by: Jenkins CI
diff --git a/metropolis/pkg/scsi/BUILD.bazel b/metropolis/pkg/scsi/BUILD.bazel
new file mode 100644
index 0000000..f307a97
--- /dev/null
+++ b/metropolis/pkg/scsi/BUILD.bazel
@@ -0,0 +1,28 @@
+load("@io_bazel_rules_go//go:def.bzl", "go_library")
+
+go_library(
+    name = "scsi",
+    srcs = [
+        "dev_block.go",
+        "health.go",
+        "inquiry.go",
+        "log.go",
+        "scsi.go",
+        "scsi_linux.go",
+        "scsi_linux_defs.go",
+        "scsi_linux_defs1.go",
+        "sensekeydata.go",
+    ],
+    cgo = True,
+    importpath = "source.monogon.dev/metropolis/pkg/scsi",
+    visibility = ["//visibility:public"],
+    deps = select({
+        "@io_bazel_rules_go//go/platform:android": [
+            "@org_golang_x_sys//unix",
+        ],
+        "@io_bazel_rules_go//go/platform:linux": [
+            "@org_golang_x_sys//unix",
+        ],
+        "//conditions:default": [],
+    }),
+)