From dae1ac41e3294bcf3997a007dc245602ea9c87e2 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 6 Aug 2024 13:45:08 +0000 Subject: [PATCH] make.sh: Bind-mount /etc/resolv.conf and /etc/hosts This allows us to have name resolution in the shell without any manual configuration. Signed-off-by: Michael Tremer --- make.sh | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/make.sh b/make.sh index 6cd8b53af..2f629d73d 100755 --- a/make.sh +++ b/make.sh @@ -313,6 +313,8 @@ exiterror() { } prepareenv() { + local network="false" + # Are we running the right shell? if [ -z "${BASH}" ]; then exiterror "BASH environment variable is not set. You're probably running the wrong shell." @@ -339,6 +341,10 @@ prepareenv() { required_space="${1#--required-space=}" ;; + --network) + network="true" + ;; + *) exiterror "Unknown argument: ${1}" ;; @@ -461,6 +467,26 @@ prepareenv() { # Mount the images directory mount --bind "${IMAGES_DIR}" "${BUILD_DIR}/usr/src/images" + # Bind-mount files requires for networking if requested + if [ "${network}" = "true" ]; then + local file + + for file in /etc/resolv.conf /etc/hosts; do + # Skip if the source files does not exist + if [ ! -e "${file}" ]; then + continue + fi + + # Create the destination if it does not exist + if [ ! -e "${BUILD_DIR}/${file}" ]; then + touch "${BUILD_DIR}/${file}" + fi + + # Mount the file read-only + mount --bind -o ro "${file}" "${BUILD_DIR}/${file}" + done + fi + # Configure the ccache export CCACHE_TEMPDIR="/tmp" export CCACHE_COMPILERCHECK="string:toolchain-${TOOLCHAINVER} ${BUILD_ARCH}" @@ -2329,7 +2355,7 @@ shell) # enter a shell inside LFS chroot # may be used to changed kernel settings - prepareenv + prepareenv --network entershell ;; clean) -- 2.39.5