File tree Expand file tree Collapse file tree 7 files changed +54
-4
lines changed Expand file tree Collapse file tree 7 files changed +54
-4
lines changed Original file line number Diff line number Diff line change 11# mkosi artifacts
22
33build /
4+ build. * /
45env.json
56mkosi.builddir /
67mkosi.cache /
Original file line number Diff line number Diff line change @@ -50,6 +50,38 @@ build-dev: check-perms setup ## Build module with development tools
5050
5151# #@ Utilities
5252
53+ check-repro : # # Build same module twice and compare resulting images
54+ @rm -rf build.1
55+ @rm -rf build.2
56+
57+ @rm -rf build/* mkosi.builddir/* mkosi.cache/* mkosi.packages/*
58+ @sleep 5
59+
60+ @echo "Building image # 1..."
61+ $(WRAPPER) mkosi --force -I $(IMAGE).conf
62+ @cp -r build build.1
63+
64+ @rm -rf build/* mkosi.builddir/* mkosi.cache/* mkosi.packages/*
65+ @sleep 5
66+
67+ @echo "Building image # 2..."
68+ $(WRAPPER) mkosi --force -I $(IMAGE).conf
69+ @cp -r build build.2
70+
71+ @echo "Comparing..."
72+
73+ @echo ""
74+ @sha256sum build.1/tdx-debian.vmlinuz
75+ @sha256sum build.2/tdx-debian.vmlinuz
76+
77+ @echo ""
78+ @sha256sum build.1/tdx-debian.initrd
79+ @sha256sum build.2/tdx-debian.initrd
80+
81+ @echo ""
82+ @sha256sum build.1/tdx-debian.efi
83+ @sha256sum build.2/tdx-debian.efi
84+
5385measure : # # Export TDX measurements for the built EFI file
5486 @if [ ! -f build/tdx-debian.efi ]; then \
5587 echo " Error: build/tdx-debian.efi not found. Run 'make build' first." ; \
Original file line number Diff line number Diff line change @@ -15,9 +15,20 @@ if [[ -n "${KERNEL_CONFIG_SNIPPETS:-}" ]]; then
1515 IFS=' ,' read -ra snippets <<< " $KERNEL_CONFIG_SNIPPETS"
1616 for snippet in " ${snippets[@]} " ; do
1717 snippet_file=" $SRCDIR /$snippet "
18- [[ -f " $snippet_file " ]] && cat " $snippet_file " >> " $config_file "
18+ if [[ -f " $snippet_file " ]]; then
19+ cat " $snippet_file " >> " $config_file " || true
20+ fi
1921 done
2022fi
23+ for snippets_var in " ${! KERNEL_CONFIG_SNIPPETS_@ } " ; do
24+ IFS=' ,' read -ra snippets <<< " ${!snippets_var}"
25+ for snippet in " ${snippets[@]} " ; do
26+ snippet_file=" $SRCDIR /$snippet "
27+ if [[ -f " $snippet_file " ]]; then
28+ cat " $snippet_file " >> " $config_file " || true
29+ fi
30+ done
31+ done
2132
2233# Calculate cache key and paths
2334config_hash=$( sha256sum " $config_file " | cut -d' ' -f1 | cut -c1-12)
4354 mkosi-chroot --chdir " /build/kernel-${KERNEL_VERSION} " make olddefconfig
4455 mkosi-chroot --chdir " /build/kernel-${KERNEL_VERSION} " make -j " $( nproc 2> /dev/null || echo 2) " bzImage ARCH=x86_64 CONFIG_EFI_STUB=y
4556
57+ echo " # kernel config:"
58+ mkosi-chroot --chdir " /build/kernel-${KERNEL_VERSION} " cat .config
59+
4660 # Cache result
4761 mkdir -p " $cache_dir "
4862 cp arch/x86_64/boot/bzImage " $cache_dir /"
Original file line number Diff line number Diff line change 1- CONFIG_NET_VENDOR_GOOGLE=y
2- CONFIG_GVE=y
31CONFIG_XFS_FS=y
Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ Include=base/mkosi.conf
55Profiles=gcp
66
77[Build]
8- Environment=KERNEL_CONFIG_SNIPPETS =kernel/snippets/ubuntu.config,l2/kernel.config
8+ Environment=KERNEL_CONFIG_SNIPPETS_L2 =kernel/snippets/ubuntu.config,l2/kernel.config
99WithNetwork=true
1010
1111[Content]
Original file line number Diff line number Diff line change 1+ CONFIG_NET_VENDOR_GOOGLE=y
2+ CONFIG_GVE=y
Original file line number Diff line number Diff line change 1+ [Build]
2+ Environment=KERNEL_CONFIG_SNIPPETS_GCP=mkosi.profiles/gcp/kernel.config
3+
14[Content]
25ExtraTrees=mkosi.extra
36
You can’t perform that action at this time.
0 commit comments