# Copyright (c) 2018 Yash Jain, 2022 IBM Corp. # # SPDX-License-Identifier: Apache-2.0 build_dbus() { local rootfs_dir=$1 ln -sf /lib/systemd/system/dbus.service $rootfs_dir/etc/systemd/system/dbus.service ln -sf /lib/systemd/system/dbus.socket $rootfs_dir/etc/systemd/system/dbus.socket } build_rootfs() { local rootfs_dir=$1 local multistrap_conf=multistrap.conf # For simplicity's sake, use multistrap for foreign and native bootstraps. cat > "$multistrap_conf" << EOF [General] cleanup=true aptsources=Ubuntu bootstrap=Ubuntu [Ubuntu] source=$REPO_URL keyring=ubuntu-keyring suite=focal packages=$PACKAGES $EXTRA_PKGS EOF if ! multistrap -a "$DEB_ARCH" -d "$rootfs_dir" -f "$multistrap_conf"; then build_dbus $rootfs_dir fi rm -rf "$rootfs_dir/var/run" ln -s /run "$rootfs_dir/var/run" cp --remove-destination /etc/resolv.conf "$rootfs_dir/etc" # Reduce image size and memory footprint by removing unnecessary files and directories. rm -rf $rootfs_dir/usr/share/{bash-completion,bug,doc,info,lintian,locale,man,menu,misc,pixmaps,terminfo,zsh} # Minimal set of device nodes needed when AGENT_INIT=yes so that the # kernel can properly setup stdout/stdin/stderr for us pushd $rootfs_dir/dev MAKEDEV -v console tty ttyS null zero fd popd }