blob: 5955dd272631bd4acb7190336a5a832b1d079679 [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
Leopold Schabelba7bc762019-10-24 18:34:29 +02004# gazelle:exclude generated
Leopold Schabel5c80aca2019-10-22 15:48:58 +02005gazelle(name = "gazelle")
6
7genrule(
8 name = "image",
9 srcs = [
10 "@//cmd/mkimage",
11 "@//build/linux_kernel:image",
12 ],
13 outs = [
14 "smalltown.img",
15 ],
16 cmd = """
17 $(location @//cmd/mkimage) $(location @//build/linux_kernel:image) $@
18 """,
19 visibility = ["//visibility:public"],
20)
21
22genrule(
23 name = "swtpm_data",
24 outs = [
25 "tpm/tpm2-00.permall",
Leopold Schabel1fbd7d92019-10-24 03:15:19 +020026 "tpm/signkey.pem",
27 "tpm/issuercert.pem",
Leopold Schabel5c80aca2019-10-22 15:48:58 +020028 ],
Leopold Schabel5c80aca2019-10-22 15:48:58 +020029 cmd = """
Leopold Schabel1fbd7d92019-10-24 03:15:19 +020030 mkdir -p tpm/ca
31
32 cat <<EOF > tpm/swtpm.conf
33create_certs_tool= /usr/share/swtpm/swtpm-localca
34create_certs_tool_config = tpm/swtpm-localca.conf
35create_certs_tool_options = /etc/swtpm-localca.options
36EOF
37
38 cat <<EOF > tpm/swtpm-localca.conf
39statedir = tpm/ca
40signingkey = tpm/ca/signkey.pem
41issuercert = tpm/ca/issuercert.pem
42certserial = tpm/ca/certserial
43EOF
Leopold Schabel5c80aca2019-10-22 15:48:58 +020044
45 swtpm_setup \
46 --tpmstate tpm \
47 --create-ek-cert \
48 --create-platform-cert \
49 --allow-signing \
50 --tpm2 \
51 --display \
Leopold Schabel1fbd7d92019-10-24 03:15:19 +020052 --pcr-banks sha1,sha256,sha384,sha512 \
53 --config tpm/swtpm.conf
Leopold Schabel5c80aca2019-10-22 15:48:58 +020054
Leopold Schabel1fbd7d92019-10-24 03:15:19 +020055 cp tpm/tpm2-00.permall $(location tpm/tpm2-00.permall)
56 cp tpm/ca/issuercert.pem $(location tpm/issuercert.pem)
57 cp tpm/ca/signkey.pem $(location tpm/signkey.pem)
Leopold Schabel5c80aca2019-10-22 15:48:58 +020058 """,
59 visibility = ["//visibility:public"],
60)