blob: c9adb390c6a0a2d3db7eff2c0255b26d8a31f217 [file] [log] [blame]
Leopold Schabel5c80aca2019-10-22 15:48:58 +02001load("@bazel_gazelle//:def.bzl", "gazelle")
2
3# gazelle:prefix git.monogon.dev/source/smalltown.git
4gazelle(name = "gazelle")
5
6genrule(
7 name = "image",
8 srcs = [
9 "@//cmd/mkimage",
10 "@//build/linux_kernel:image",
11 ],
12 outs = [
13 "smalltown.img",
14 ],
15 cmd = """
16 $(location @//cmd/mkimage) $(location @//build/linux_kernel:image) $@
17 """,
18 visibility = ["//visibility:public"],
19)
20
21genrule(
22 name = "swtpm_data",
23 outs = [
24 "tpm/tpm2-00.permall",
Leopold Schabel1fbd7d92019-10-24 03:15:19 +020025 "tpm/signkey.pem",
26 "tpm/issuercert.pem",
Leopold Schabel5c80aca2019-10-22 15:48:58 +020027 ],
Leopold Schabel5c80aca2019-10-22 15:48:58 +020028 cmd = """
Leopold Schabel1fbd7d92019-10-24 03:15:19 +020029 mkdir -p tpm/ca
30
31 cat <<EOF > tpm/swtpm.conf
32create_certs_tool= /usr/share/swtpm/swtpm-localca
33create_certs_tool_config = tpm/swtpm-localca.conf
34create_certs_tool_options = /etc/swtpm-localca.options
35EOF
36
37 cat <<EOF > tpm/swtpm-localca.conf
38statedir = tpm/ca
39signingkey = tpm/ca/signkey.pem
40issuercert = tpm/ca/issuercert.pem
41certserial = tpm/ca/certserial
42EOF
Leopold Schabel5c80aca2019-10-22 15:48:58 +020043
44 swtpm_setup \
45 --tpmstate tpm \
46 --create-ek-cert \
47 --create-platform-cert \
48 --allow-signing \
49 --tpm2 \
50 --display \
Leopold Schabel1fbd7d92019-10-24 03:15:19 +020051 --pcr-banks sha1,sha256,sha384,sha512 \
52 --config tpm/swtpm.conf
Leopold Schabel5c80aca2019-10-22 15:48:58 +020053
Leopold Schabel1fbd7d92019-10-24 03:15:19 +020054 cp tpm/tpm2-00.permall $(location tpm/tpm2-00.permall)
55 cp tpm/ca/issuercert.pem $(location tpm/issuercert.pem)
56 cp tpm/ca/signkey.pem $(location tpm/signkey.pem)
Leopold Schabel5c80aca2019-10-22 15:48:58 +020057 """,
58 visibility = ["//visibility:public"],
59)