diff --git a/tools/osbuilder/image-builder/image_builder.sh b/tools/osbuilder/image-builder/image_builder.sh index 4530594bfdda..8e360f425fc6 100755 --- a/tools/osbuilder/image-builder/image_builder.sh +++ b/tools/osbuilder/image-builder/image_builder.sh @@ -51,26 +51,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-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} @@ -443,21 +423,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" } diff --git a/tools/osbuilder/rootfs-builder/rootfs.sh b/tools/osbuilder/rootfs-builder/rootfs.sh index aaf7b087a162..7dfc1f8d54bf 100755 --- a/tools/osbuilder/rootfs-builder/rootfs.sh +++ b/tools/osbuilder/rootfs-builder/rootfs.sh @@ -46,6 +46,26 @@ ARCH=${ARCH:-$(uname -m)} TARGET_OS=${TARGET_OS:-linux} [ "${CROSS_BUILD}" == "true" ] && BUILDX=buildx && PLATFORM="--platform=${TARGET_OS}/${TARGET_ARCH}" +# 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-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="${?}" local line_number="${1:-}" @@ -678,6 +698,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}" } @@ -721,6 +743,25 @@ 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 \ + \( -name "${u}.service" -o -name "${u}.socket" \) \ + -exec rm -f {} \; + done + + info "Removing unneeded systemd files" + for u in "${systemd_files[@]}"; do + find "${ROOTFS_DIR}" \ + -type f \ + -name "${u}" \ + -exec rm -f {} \; + done +} + main() { parse_arguments $*