forked from ConferLabs/confer-image
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmkosi.conf
More file actions
123 lines (107 loc) · 2.63 KB
/
Copy pathmkosi.conf
File metadata and controls
123 lines (107 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# Confer Confidential VM Proxy Image Configuration
# Built with mkosi for reproducible attestation (TDX and SEV-SNP)
#
# Uses dm-verity disk image format:
# - Small ESP with UKI (kernel + minimal initrd + cmdline with roothash)
# - Large rootfs verified via dm-verity at runtime
# - Roothash in cmdline is measured, binding entire rootfs to attestation
[Config]
Dependencies=initrd
[Output]
ImageId=confer-image
ImageVersion=0.1.3
Format=disk
ManifestFormat=json
Seed=a24031c1-fc68-453d-80fa-00ad057a5780
[Distribution]
Distribution=ubuntu
Release=noble
Repositories=
[Content]
# For reproducible builds - clamp all timestamps
SourceDateEpoch=0
Initrds=initrd
# Enable bootable disk with systemd-boot
Bootable=yes
Bootloader=systemd-boot
# Kernel command line
# Note: dm-verity roothash will be appended automatically by mkosi
KernelCommandLine=intel_iommu=on amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction
# Kernel modules to include in the initrd
KernelModulesInitrdInclude=dm-verity
dm-mod
squashfs
Packages=
systemd
systemd-boot-efi
udev
dbus
ca-certificates
ubuntu-keyring
cryptsetup
openjdk-21-jre-headless
python3
python3-pip
python3-venv
python3-dev
curl
wget
gnupg
unzip
vim
less
htop
lsof
strace
net-tools
iproute2
iputils-ping
dnsutils
kmod
build-essential
dkms
zstd
pciutils
libxml2
libxslt1.1
linux-generic-hwe-24.04
linux-headers-generic-hwe-24.04
nvidia-driver-580-open=580.105.08-0ubuntu1
nvidia-persistenced=580.105.08-0ubuntu1
nvidia-fabricmanager=580.105.08-1
libnvidia-nscq=580.105.08-1
faketime
Autologin=no
Locale=C.UTF-8
Keymap=us
SkeletonTrees=mkosi.skeleton
ExtraTrees=mkosi.extra:/
# Remove non-deterministic files for reproducibility
# Keep /var/log directory as mount point for tmpfs, but remove contents
RemoveFiles=/var/log/*
RemoveFiles=/var/cache
# Note: Don't remove /etc/machine-id - systemd-networkd DHCP needs it
# We set a fixed value in mkosi.postinst for reproducibility
RemoveFiles=/etc/*-
RemoveFiles=/etc/ssh/ssh_host_*_key*
# Clean package metadata for reproducibility
CleanPackageMetadata=yes
[Build]
CacheDirectory=mkosi.cache
Incremental=yes
# No ToolsTree - use tools from Nix environment
WithNetwork=yes
SandboxTrees=mkosi.skeleton
Environment=SOURCE_DATE_EPOCH=0
Environment=KBUILD_BUILD_TIMESTAMP=@0
Environment=INITRD=No
BuildScripts=mkosi.build.chroot
BuildSources=.:src
BuildPackages=
python3-pip
python3-dev
python3-venv
build-essential
libxml2-dev
libxslt1-dev
faketime