From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Wed, 28 Aug 2024 15:05:29 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-yb1-f184.google.com (mail-yb1-f184.google.com [209.85.219.184]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 47SD5Smw028992 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 28 Aug 2024 15:05:28 +0200 Received: by mail-yb1-f184.google.com with SMTP id 3f1490d57ef6-e178e745c49sf9224409276.2 for ; Wed, 28 Aug 2024 06:05:28 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1724850322; cv=pass; d=google.com; s=arc-20240605; b=Rh/7XC8z6YifsxsYB6RUGuI1FtrBP2sfqQb/Qr5L/Ng50UCYKdTFZOzNTj8LesFWnd iMMyVaa2CN0wJL8ZyBP/aKz9R/zSASE7BmjrYi3Fy3LWfughStYgaAVDrNwt7bUH1JCa 4qk1hRMw5d3saRuwmq7AFzAEDqDKj8sSeAiWuke7lDIsWlgWliuz/qIl9qSqjtkbTd6G X4QsXaYTUTr+EQY7PiE/LN/ITut6/+ypjHWrgv2DvcVsmDv4PV6XIwH2BC4GtoseZM7T 8+mvQtljSTCsSfc/aHO9eROD1ZiRpCzP5q0V/10QCN/LhRho6yU+lnzNKNkJD7xFtjFw wJzg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :references:in-reply-to:date:cc:to:from:subject:message-id :dkim-signature; bh=OWoukh0UL7A+kZG1f6Bt9UxjGcBrUL8dBY+jMeX/a6g=; fh=yigph5VmQYjXTu4vOWFjtkEAzW0V6kzfyEN9ontPLsw=; b=eUyWO12n9X5WNaB7jb7KADBll2KKx9KdcFex7KVW3Qe2OUWrXM5vbDBu5uPNMJznPU bONUHISn/dTIXutjP4ni60dZhAnYADDHh7j/5S1XpnxsvgRf6gYnS2TNzTyOkN5q6JsC 9Hxb+daqgS/kTcGkbawNoko0aY9QGOnNaSX6lueEuXo0ZKIMrOmyZYr7eMHcBnYGdtmX ZiZrI3AkkcyH2nfxLeN34l8JWeufVWaCvL8uuV1sGhj7X7WItr7jBI0IgnWVlqmuVpnS J4AM/OHVGNUJ2AH5Ggqme7w31IcyxZ75rC0hasuxcG2tMlpw90yXf2DcYP0UnTRc/D7C CggQ==; darn=ilbers.de ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=SN1DXcFe; spf=pass (google.com: domain of fm-68982-20240828130519dc8f655faf62d2064d-tistbz@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-68982-20240828130519dc8f655faf62d2064d-tistBZ@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1724850322; x=1725455122; darn=ilbers.de; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:date:cc:to:from:subject :message-id:from:to:cc:subject:date:message-id:reply-to; bh=OWoukh0UL7A+kZG1f6Bt9UxjGcBrUL8dBY+jMeX/a6g=; b=my3eH6BLp7mlk6I1YIFdRtznquZh+31N7lrdjoXa4KcxCfX9afNb+H5VSjhZhV4vmQ 9nnQxZNJv6dYEhFBcTYvdHjrxnOLrefqtRNHN+rG57pJcmxJIP31Kprz3UEiov4QPLZu REYIcFFvwF/QvPM0fruot27brV63JhYLIqFJO80B+saypkC0QZI9acmVsuIvnWFtamzQ lp3TvTFBnXSmHR2dLB+b7Y6XyaQHN5hdIqS86g4RxZcXD0UMOo26Vi1pJyQQOJvr7L61 mtgqAjrFZpO7u0TO2X5tYmjDzjotovC2C8O6NBogBARBT66jf0HF9ncp84D9UvyZEcq/ /jbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724850322; x=1725455122; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:references:in-reply-to:date:cc:to:from:subject :message-id:x-beenthere:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=OWoukh0UL7A+kZG1f6Bt9UxjGcBrUL8dBY+jMeX/a6g=; b=dcQSmVqJiirChs+ltyM/oP8pxNmro1/PVKRC7dhgmRl/HVmWSqAicw/iAW5gA5aHfk GmeQ5ZrIh8V307t5jCkrEUCml0wAlM6/cg+kUElpS8+t1k+q9WD2qsOPDu93gLjCBHyz wq4j+XNrdZnRsXu4qSnTqB3sjJHh3msZSx94rHKDwUzUlyH59Wh5lWFGYWpSWMhjh878 kOnjNHVelW2Mov84y+J5u8lbsdioTKKnpgpDSrCZZIE/3QH562tv2SGrWd9GHz/KfSEx AB3ocRoIMFU97ne43buOs3Q3WTf8mV77COABaLqM5hLq2H150wLO5jDSut9dW9NdrYNP PcNw== X-Forwarded-Encrypted: i=2; AJvYcCW5COTfViMAPD5NmjBzCyQ+jRwi6xnsg6IvQTrDSWEgyGxQOKl7YWgfGFUpSZWYMbDZEPPQ@ilbers.de X-Gm-Message-State: AOJu0Ywnv2Yp1LWZHrwaV9hMXwgadrjt5Lzhlh8LnRAVbLUUnoS1dZMI h8kymCOXRGuQLrJ5Boisb552ZjFzaDMpw4rvLBsiVKyFzK1wN70Y X-Google-Smtp-Source: AGHT+IE1IQGtqfDX9xKEYYRk5/C9CbWGXSVMWQDyKNzUDCRTixDxrddHAUxFEFOCqJDtB+e1tVW0Vg== X-Received: by 2002:a05:6902:2506:b0:e02:b60c:3d2 with SMTP id 3f1490d57ef6-e17a866d1c7mr14907631276.50.1724850322154; Wed, 28 Aug 2024 06:05:22 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a05:6902:1147:b0:e16:67d6:1bd5 with SMTP id 3f1490d57ef6-e178bd20248ls1389565276.1.-pod-prod-02-us; Wed, 28 Aug 2024 06:05:21 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUz9dvqb51kBPNo3q/MIbKQTceM6BKw8KH5YptTirQf/3i3V9M7n5eDAuYnrf3qQS1poA7/tmrCPZYg@googlegroups.com X-Received: by 2002:a05:690c:d83:b0:62f:a250:632b with SMTP id 00721157ae682-6c624131ab4mr197559597b3.8.1724850321213; Wed, 28 Aug 2024 06:05:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1724850321; cv=none; d=google.com; s=arc-20160816; b=dq9vFad3CrD2/0a0lBuxCP2R0I1iUtf4107kQl4KZYZUeq2G24cUZecqmX4r/3Ijqv ADWaWqDDjBFy6x+tBc6N69fIUlQ5MdXY8ZHM9iX2PJ6NDNPxPTUo3aMAzbj89Z4j817g D0O+kaW/HOWddNWdXs+5MhO8l5u+UkZEQ0OVxiEZuE2zuDVhgEg67VXOcaX+mo3CMLfy bD7SBTFHDmsX23Bkmzp2cNvWxOE1wrBFM9qRiv9diwoEkiSmcR+qESiq6T2Oy5PKMkbD xCExHhriLDXjHb3x9h627WXGLdHU1xo2BLCAYHY4/hGQAhT7xC0X8197Z0d2pMjx97DD lv+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:mime-version:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:dkim-signature; bh=E13lOm4XMHwQNqCRRnqJy+wVg1pcWsm8IXgVM7e2L+A=; fh=gH68oF7XquHYTX16j+Sypd5xmt0t6YUO9dPjRBkisus=; b=JSfGF7fCLIVz5birdEGInKWDGmfRWiyXmyxa88V0io/ijlmNznT1HDEWMOdX5Mv+I2 x+ichgnNSoZ3c6Zc5Ff95V1j5+Djx6j92X+4Frz08t08nua7BLXqcX+IyU11E2mVGoOq ocQI0XBc5ePuT0tEsxoW8H3PN8ZQAKedqXUswyO69d6dsQBDSWn1A5KT57510pKhizp4 FYa0QAWoRhDvEASEgtLEd+t3dAK1oIP4iZHGOJNvDltwyVZfXa7zCLG1iYpYLX58xXPT aFL/9D3CSraROonkuJKH/aOAuhUG7fAkrRPve1vccSrjy9CWfCQKpgoMSIMGX6ykX+XJ 1ydA==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=SN1DXcFe; spf=pass (google.com: domain of fm-68982-20240828130519dc8f655faf62d2064d-tistbz@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-68982-20240828130519dc8f655faf62d2064d-tistBZ@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-65-228.siemens.flowmailer.net (mta-65-228.siemens.flowmailer.net. [185.136.65.228]) by gmr-mx.google.com with ESMTPS id 00721157ae682-6c39e2196f4si8103147b3.3.2024.08.28.06.05.20 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 28 Aug 2024 06:05:21 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-68982-20240828130519dc8f655faf62d2064d-tistbz@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) client-ip=185.136.65.228; Received: by mta-65-228.siemens.flowmailer.net with ESMTPSA id 20240828130519dc8f655faf62d2064d for ; Wed, 28 Aug 2024 15:05:19 +0200 Message-ID: Subject: Re: [PATCH] meta: Drop lazy and recursive unmounts From: "'Florian Bezdeka' via isar-users" To: Anton Mikanovich , isar-users@googlegroups.com Cc: Ilia Skochilov , Jan Kiszka Date: Wed, 28 Aug 2024 15:05:15 +0200 In-Reply-To: <20240619104126.105252-1-amikan@ilbers.de> References: <20240619104126.105252-1-amikan@ilbers.de> Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-68982:519-21489:flowmailer X-Original-Sender: florian.bezdeka@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=SN1DXcFe; spf=pass (google.com: domain of fm-68982-20240828130519dc8f655faf62d2064d-tistbz@rts-flowmailer.siemens.com designates 185.136.65.228 as permitted sender) smtp.mailfrom=fm-68982-20240828130519dc8f655faf62d2064d-tistBZ@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Florian Bezdeka Reply-To: Florian Bezdeka Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: 2e68bm5Kf0h9 Hi all, I'm not 100% sure, but it seems I'm facing some problems with this patch. I know about the situation that we sporadically saw some mounting issues and that patch tries to expose such issues. At least my issue seems to reproduce to 100%... See below... On Wed, 2024-06-19 at 13:41 +0300, Anton Mikanovich wrote: > From: Ilia Skochilov > > Cleanup lazy and recursive unmounting because they just mask other > issues caused by wrong mounting. > Also remove umount || true usages for the same reason. > > Signed-off-by: Anton Mikanovich > Signed-off-by: Ilia Skochilov > --- > meta/classes/deb-dl-dir.bbclass | 4 ++-- > meta/classes/image.bbclass | 14 +++++++++----- > meta/classes/isar-events.bbclass | 2 +- > meta/classes/rootfs.bbclass | 10 +++++----- > meta/classes/sbuild.bbclass | 12 ++++++------ > meta/classes/sdk.bbclass | 13 ++++++++++--- > .../isar-bootstrap/isar-bootstrap.inc | 19 ++++++++++--------- > .../sdk-files/files/README.sdk | 2 +- > scripts/mount_chroot.sh | 2 +- > 9 files changed, 45 insertions(+), 33 deletions(-) > > diff --git a/meta/classes/deb-dl-dir.bbclass b/meta/classes/deb-dl-dir.bbclass > index d36b7190..8e0243fe 100644 > --- a/meta/classes/deb-dl-dir.bbclass > +++ b/meta/classes/deb-dl-dir.bbclass > @@ -27,7 +27,7 @@ debsrc_do_mounts() { > set -e > mkdir -p "${1}/deb-src" > mountpoint -q "${1}/deb-src" || \ > - mount --bind "${DEBSRCDIR}" "${1}/deb-src" > + mount -o bind,private "${DEBSRCDIR}" "${1}/deb-src" > EOSUDO > } > > @@ -36,7 +36,7 @@ debsrc_undo_mounts() { > set -e > mkdir -p "${1}/deb-src" > mountpoint -q "${1}/deb-src" && \ > - umount -l "${1}/deb-src" > + umount "${1}/deb-src" > rm -rf "${1}/deb-src" > EOSUDO > } > diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass > index 4f774bbc..0a80273f 100644 > --- a/meta/classes/image.bbclass > +++ b/meta/classes/image.bbclass > @@ -407,19 +407,23 @@ do_rootfs_finalize() { > fi > > mountpoint -q '${ROOTFSDIR}/isar-apt' && \ > - umount -l ${ROOTFSDIR}/isar-apt && \ > + umount '${ROOTFSDIR}/isar-apt' && \ > rmdir --ignore-fail-on-non-empty ${ROOTFSDIR}/isar-apt > > mountpoint -q '${ROOTFSDIR}/base-apt' && \ > - umount -l ${ROOTFSDIR}/base-apt && \ > + umount '${ROOTFSDIR}/base-apt' && \ > rmdir --ignore-fail-on-non-empty ${ROOTFSDIR}/base-apt > > + mountpoint -q '${ROOTFSDIR}/dev/pts' && \ > + umount '${ROOTFSDIR}/dev/pts' > + mountpoint -q '${ROOTFSDIR}/dev/shm' && \ > + umount '${ROOTFSDIR}/dev/shm' > mountpoint -q '${ROOTFSDIR}/dev' && \ > - umount -l ${ROOTFSDIR}/dev > + umount '${ROOTFSDIR}/dev' > mountpoint -q '${ROOTFSDIR}/proc' && \ > - umount -l ${ROOTFSDIR}/proc > + umount '${ROOTFSDIR}/proc' > mountpoint -q '${ROOTFSDIR}/sys' && \ > - umount -l ${ROOTFSDIR}/sys > + umount '${ROOTFSDIR}/sys' > > if [ -e "${ROOTFSDIR}/etc/apt/sources-list" ]; then > mv "${ROOTFSDIR}/etc/apt/sources-list" \ > diff --git a/meta/classes/isar-events.bbclass b/meta/classes/isar-events.bbclass > index a6ba0a9e..f5061a8b 100644 > --- a/meta/classes/isar-events.bbclass > +++ b/meta/classes/isar-events.bbclass > @@ -55,7 +55,7 @@ python build_completed() { > if basepath in line: > bb.debug(1, '%s left mounted, unmounting...' % line.split()[1]) > subprocess.call( > - ["sudo", "umount", "-l", line.split()[1]], > + ["sudo", "umount", line.split()[1]], > stdout=subprocess.DEVNULL, > stderr=subprocess.DEVNULL, > ) > diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass > index 498fbfd6..2e091e0c 100644 > --- a/meta/classes/rootfs.bbclass > +++ b/meta/classes/rootfs.bbclass > @@ -37,11 +37,11 @@ rootfs_do_mounts() { > mountpoint -q '${ROOTFSDIR}/dev' || \ > ( mount -o bind,private /dev '${ROOTFSDIR}/dev' && > mount -t tmpfs none '${ROOTFSDIR}/dev/shm' && > - mount --bind /dev/pts '${ROOTFSDIR}/dev/pts' ) > + mount -o bind,private /dev/pts '${ROOTFSDIR}/dev/pts' ) > mountpoint -q '${ROOTFSDIR}/proc' || \ > mount -t proc none '${ROOTFSDIR}/proc' > mountpoint -q '${ROOTFSDIR}/sys' || \ > - mount --rbind /sys '${ROOTFSDIR}/sys' > + mount -o bind,private /sys '${ROOTFSDIR}/sys' > mount --make-rslave '${ROOTFSDIR}/sys' > > # Mount isar-apt if the directory does not exist or if it is empty > @@ -51,7 +51,7 @@ rootfs_do_mounts() { > then > mkdir -p '${ROOTFSDIR}/isar-apt' > mountpoint -q '${ROOTFSDIR}/isar-apt' || \ > - mount --bind '${REPO_ISAR_DIR}/${DISTRO}' '${ROOTFSDIR}/isar-apt' > + mount -o bind,private '${REPO_ISAR_DIR}/${DISTRO}' '${ROOTFSDIR}/isar-apt' > fi > > # Mount base-apt if 'ISAR_USE_CACHED_BASE_REPO' is set > @@ -59,7 +59,7 @@ rootfs_do_mounts() { > then > mkdir -p '${ROOTFSDIR}/base-apt' > mountpoint -q '${ROOTFSDIR}/base-apt' || \ > - mount --bind '${REPO_BASE_DIR}' '${ROOTFSDIR}/base-apt' > + mount -o bind,private '${REPO_BASE_DIR}' '${ROOTFSDIR}/base-apt' > fi > > EOSUDO > @@ -360,7 +360,7 @@ rootfs_install_sstate_prepare() { > # tar --one-file-system will cross bind-mounts to the same filesystem, > # so we use some mount magic to prevent that > mkdir -p ${WORKDIR}/mnt/rootfs > - sudo mount --bind ${WORKDIR}/rootfs ${WORKDIR}/mnt/rootfs -o ro > + sudo mount -o bind,private '${WORKDIR}/rootfs' '${WORKDIR}/mnt/rootfs' -o ro > lopts="--one-file-system --exclude=var/cache/apt/archives" > sudo tar -C ${WORKDIR}/mnt -cpSf rootfs.tar $lopts ${SSTATE_TAR_ATTR_FLAGS} rootfs > sudo umount ${WORKDIR}/mnt/rootfs > diff --git a/meta/classes/sbuild.bbclass b/meta/classes/sbuild.bbclass > index f1193c20..9c268281 100644 > --- a/meta/classes/sbuild.bbclass > +++ b/meta/classes/sbuild.bbclass > @@ -40,14 +40,14 @@ EOF > cp -rf "${SCHROOT_CONF}/sbuild" "${SBUILD_CONF_DIR}" > sbuild_fstab="${SBUILD_CONF_DIR}/fstab" > > - fstab_baseapt="${REPO_BASE_DIR} /base-apt none rw,bind 0 0" > + fstab_baseapt="${REPO_BASE_DIR} /base-apt none rw,bind,private 0 0" > grep -qxF "${fstab_baseapt}" ${sbuild_fstab} || echo "${fstab_baseapt}" >> ${sbuild_fstab} > > - fstab_pkgdir="${WORKDIR} /home/builder/${PN} none rw,bind 0 0" > + fstab_pkgdir="${WORKDIR} /home/builder/${PN} none rw,bind,private 0 0" > grep -qxF "${fstab_pkgdir}" ${sbuild_fstab} || echo "${fstab_pkgdir}" >> ${sbuild_fstab} > > if [ -d ${DL_DIR} ]; then > - fstab_downloads="${DL_DIR} /downloads none rw,bind 0 0" > + fstab_downloads="${DL_DIR} /downloads none rw,bind,private 0 0" > grep -qxF "${fstab_downloads}" ${sbuild_fstab} || echo "${fstab_downloads}" >> ${sbuild_fstab} > fi > EOSUDO > @@ -98,7 +98,7 @@ insert_mounts() { > sudo -s <<'EOSUDO' > set -e > for mp in ${SCHROOT_MOUNTS}; do > - FSTAB_LINE="${mp%%:*} ${mp#*:} none rw,bind 0 0" > + FSTAB_LINE="${mp%%:*} ${mp#*:} none rw,bind,private 0 0" > grep -qxF "${FSTAB_LINE}" ${SBUILD_CONF_DIR}/fstab || \ > echo "${FSTAB_LINE}" >> ${SBUILD_CONF_DIR}/fstab > done > @@ -109,7 +109,7 @@ remove_mounts() { > sudo -s <<'EOSUDO' > set -e > for mp in ${SCHROOT_MOUNTS}; do > - FSTAB_LINE="${mp%%:*} ${mp#*:} none rw,bind 0 0" > + FSTAB_LINE="${mp%%:*} ${mp#*:} none rw,bind,private 0 0" > sed -i "\|${FSTAB_LINE}|d" ${SBUILD_CONF_DIR}/fstab > done > EOSUDO > @@ -122,7 +122,7 @@ schroot_configure_ccache() { > > sbuild_fstab="${SBUILD_CONF_DIR}/fstab" > > - fstab_ccachedir="${CCACHE_DIR} /ccache none rw,bind 0 0" > + fstab_ccachedir="${CCACHE_DIR} /ccache none rw,bind,private 0 0" > grep -qxF "${fstab_ccachedir}" ${sbuild_fstab} || echo "${fstab_ccachedir}" >> ${sbuild_fstab} > > (flock 9 > diff --git a/meta/classes/sdk.bbclass b/meta/classes/sdk.bbclass > index 71db6f3a..754fd4cd 100644 > --- a/meta/classes/sdk.bbclass > +++ b/meta/classes/sdk.bbclass > @@ -92,9 +92,16 @@ sdkchroot_configscript () { > > ROOTFS_POSTPROCESS_COMMAND:append:class-sdk = " sdkchroot_finalize" > sdkchroot_finalize() { > - sudo umount -R ${ROOTFSDIR}/dev || true > - sudo umount ${ROOTFSDIR}/proc || true > - sudo umount -R ${ROOTFSDIR}/sys || true > + mountpoint -q "${ROOTFSDIR}/dev/pts" && \ > + sudo umount "${ROOTFSDIR}/dev/pts" > + mountpoint -q "${ROOTFSDIR}/dev/shm" && \ > + sudo umount "${ROOTFSDIR}/dev/shm" > + mountpoint -q "${ROOTFSDIR}/dev" && \ > + sudo umount "${ROOTFSDIR}/dev" > + mountpoint -q "${ROOTFSDIR}/proc" && \ > + sudo umount "${ROOTFSDIR}/proc" > + mountpoint -q "${ROOTFSDIR}/sys" && \ > + sudo umount "${ROOTFSDIR}/sys" > > # Remove setup scripts > sudo rm -f ${ROOTFSDIR}/chroot-setup.sh ${ROOTFSDIR}/configscript.sh > diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > index faf22a50..6bc667e7 100644 > --- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > +++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc > @@ -341,7 +341,7 @@ do_bootstrap() { > echo "deb-src ${line}" >> "${ROOTFSDIR}/etc/apt/sources.list.d/base-apt.list" > > mkdir -p ${ROOTFSDIR}/base-apt > - mount --bind ${REPO_BASE_DIR} ${ROOTFSDIR}/base-apt > + mount -o bind,private "${REPO_BASE_DIR}" "${ROOTFSDIR}/base-apt" > else > install -v -m644 "${APTSRCS}" \ > "${ROOTFSDIR}/etc/apt/sources.list.d/bootstrap.list" > @@ -378,10 +378,10 @@ do_bootstrap() { > > # update APT > mount -o bind,private /dev ${ROOTFSDIR}/dev That means that we mount /dev from "the host" into the rootfs/chroot environment, right? "Submounts included", no? I'm facing the following error with that. The isar build is executed inside a container / pod running on a k8s cluster. Inside the container the following steps are executed: build-bookworm: script: - kas build - sudo rm -rf build/tmp/work/debian-bookworm-amd64/buildchroot-target The rm command triggers the following errors: rm: cannot remove 'build/tmp/work/debian-bookworm-amd64/sbuild-chroot-target/1.0-r0/rootfs/dev/shm': Device or resource busy rm: cannot remove 'build/tmp/work/debian-bookworm-amd64/sbuild-chroot-target/1.0-r0/rootfs/dev/termination-log': Device or resource busy rm: cannot remove 'build/tmp/work/debian-bookworm-amd64/sbuild-chroot-target/1.0-r0/rootfs/dev/mqueue': Device or resource busy rm: cannot remove 'build/tmp/work/debian-bookworm-amd64/sbuild-chroot-target/1.0-r0/rootfs/dev/pts': Device or resource busy My assumption is that isar is not cleaning up all mounts. I think the interesting part is about /dev/termination-log. That device is mounted into the pod by the k8s infrastructure. I think we should never mount that into the chroot, or make sure it is properly unmounted again... Any thoughts on that? Any additional information needed? Florian > - mount --bind /dev/pts ${ROOTFSDIR}/dev/pts > + mount -o bind,private /dev/pts "${ROOTFSDIR}/dev/pts" > mount -t tmpfs none "${ROOTFSDIR}/dev/shm" > mount -t proc none ${ROOTFSDIR}/proc > - mount --rbind /sys ${ROOTFSDIR}/sys > + mount -o bind,private /sys "${ROOTFSDIR}/sys" > mount --make-rslave ${ROOTFSDIR}/sys > > export DEBIAN_FRONTEND=noninteractive > @@ -400,12 +400,13 @@ do_bootstrap() { > chroot "${ROOTFSDIR}" /usr/bin/apt-get dist-upgrade -y \ > -o Debug::pkgProblemResolver=yes > > - umount -l "${ROOTFSDIR}/dev/shm" > - umount -l "${ROOTFSDIR}/dev/pts" > - umount -l "${ROOTFSDIR}/dev" > - umount -l "${ROOTFSDIR}/proc" > - umount -l "${ROOTFSDIR}/sys" > - umount -l "${ROOTFSDIR}/base-apt" || true > + umount "${ROOTFSDIR}/dev/shm" > + umount "${ROOTFSDIR}/dev/pts" > + umount "${ROOTFSDIR}/dev" > + umount "${ROOTFSDIR}/proc" > + umount "${ROOTFSDIR}/sys" > + mountpoint -q "${ROOTFSDIR}/base-apt" && \ > + umount "${ROOTFSDIR}/base-apt" > > # Finalize debootstrap by setting the link in deploy > ln -Tfsr "${ROOTFSDIR}" "${DEPLOY_ISAR_BOOTSTRAP}" > diff --git a/meta/recipes-devtools/sdk-files/files/README.sdk b/meta/recipes-devtools/sdk-files/files/README.sdk > index 3e06d8c5..29c09950 100644 > --- a/meta/recipes-devtools/sdk-files/files/README.sdk > +++ b/meta/recipes-devtools/sdk-files/files/README.sdk > @@ -29,7 +29,7 @@ $ sudo /mount_chroot.sh > > Bind-mount the project into the rootfs: > > -$ sudo mount -o bind /path/to/project /mnt > +$ sudo mount -o bind,private /path/to/project /mnt > > If you have relocated the SDK previously for using option 1, you need to call > this next: > diff --git a/scripts/mount_chroot.sh b/scripts/mount_chroot.sh > index e238f1cc..122bb33b 100755 > --- a/scripts/mount_chroot.sh > +++ b/scripts/mount_chroot.sh > @@ -2,7 +2,7 @@ > > set -e > > -mount /tmp "$1/tmp" -o bind > +mount /tmp "$1/tmp" -o bind,private > mount proc "$1/proc" -t proc -o nosuid,noexec,nodev > mount sysfs "$1/sys" -t sysfs -o nosuid,noexec,nodev > mount devtmpfs "$1/dev" -t devtmpfs -o mode=0755,nosuid > -- > 2.34.1 > > -- > You received this message because you are subscribed to the Google Groups "isar-users" group. > To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/msgid/isar-users/20240619104126.105252-1-amikan%40ilbers.de. -- You received this message because you are subscribed to the Google Groups "isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/isar-users/dccfd6b9e590e3429f74a990648e27c4d5e25ff8.camel%40siemens.com.