Merge pull request #10732 from microsoft/danmihai/minor-systemd-cleanup

rootfs: minor systemd file deletion cleanup
This commit is contained in:
Aurélien Bombo 2025-01-23 11:29:25 -06:00 committed by GitHub
commit 66d292bdb4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 46 additions and 39 deletions

View File

@ -49,30 +49,6 @@ readonly dax_header_sz=2
# [2] - https://nvdimm.wiki.kernel.org/2mib_fs_dax
readonly dax_alignment=2
# The list of systemd units and files that are not needed in Kata Containers
readonly -a systemd_units=(
"systemd-coredump@"
"systemd-journald"
"systemd-journald-dev-log"
"systemd-journal-flush"
"systemd-random-seed"
"systemd-timesyncd"
"systemd-tmpfiles-setup"
"systemd-udevd"
"systemd-udevd-control"
"systemd-udevd-kernel"
"systemd-udev-trigger"
"systemd-update-utmp"
)
readonly -a systemd_files=(
"systemd-bless-boot-generator"
"systemd-fstab-generator"
"systemd-getty-generator"
"systemd-gpt-auto-generator"
"systemd-tmpfiles-cleanup.timer"
)
# Set a default value
AGENT_INIT=${AGENT_INIT:-no}
SELINUX=${SELINUX:-no}
@ -455,21 +431,6 @@ setup_selinux() {
}
setup_systemd() {
local mount_dir="$1"
info "Removing unneeded systemd services and sockets"
for u in "${systemd_units[@]}"; do
find "${mount_dir}" -type f \( \
-name "${u}.service" -o \
-name "${u}.socket" \) \
-exec rm -f {} \;
done
info "Removing unneeded systemd files"
for u in "${systemd_files[@]}"; do
find "${mount_dir}" -type f -name "${u}" -exec rm -f {} \;
done
info "Creating empty machine-id to allow systemd to bind-mount it"
touch "${mount_dir}/etc/machine-id"
}

View File

@ -66,6 +66,29 @@ if [ "${CROSS_BUILD}" == "true" ]; then
fi
fi
# The list of systemd units and files that are not needed in Kata Containers
readonly -a systemd_units=(
"systemd-coredump@"
"systemd-journald"
"systemd-journald-dev-log"
"systemd-journal-flush"
"systemd-random-seed"
"systemd-timesyncd"
"systemd-tmpfiles-setup"
"systemd-udevd"
"systemd-udevd-control"
"systemd-udevd-kernel"
"systemd-udev-trigger"
"systemd-update-utmp"
)
readonly -a systemd_files=(
"systemd-bless-boot-generator"
"systemd-fstab-generator"
"systemd-getty-generator"
"systemd-gpt-auto-generator"
"systemd-tmpfiles-cleanup.timer"
)
handle_error() {
local exit_code="${?}"
@ -768,6 +791,8 @@ EOF
info "Create /etc/resolv.conf file in rootfs if not exist"
touch "$dns_file"
delete_unnecessary_files
info "Creating summary file"
create_summary_file "${ROOTFS_DIR}"
}
@ -807,6 +832,27 @@ detect_host_distro()
esac
}
delete_unnecessary_files()
{
info "Removing unneeded systemd services and sockets"
for u in "${systemd_units[@]}"; do
find "${ROOTFS_DIR}" \
\( -type f -o -type l \) \
\( -name "${u}.service" -o -name "${u}.socket" \) \
-exec echo "deleting {}" \; \
-exec rm -f {} \;
done
info "Removing unneeded systemd files"
for u in "${systemd_files[@]}"; do
find "${ROOTFS_DIR}" \
\( -type f -o -type l \) \
-name "${u}" \
-exec echo "deleting {}" \; \
-exec rm -f {} \;
done
}
main()
{
parse_arguments $*