public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Anton Mikanovich <amikan@ilbers.de>
To: "Bezdeka, Florian" <florian.bezdeka@siemens.com>,
	"isar-users@googlegroups.com" <isar-users@googlegroups.com>
Cc: "jan.kiszka@siemens.com" <jan.kiszka@siemens.com>,
	"Moessbauer, Felix" <felix.moessbauer@siemens.com>,
	"ibr@radix50.net" <ibr@radix50.net>
Subject: Re: [PATCH v3 1/1] fix: mount pts into rootfs
Date: Wed, 18 May 2022 16:00:28 +0300	[thread overview]
Message-ID: <678fd4ec-5a81-f7e0-465e-39591fa93d77@ilbers.de> (raw)
In-Reply-To: <c185baeb9d9a293444f28ffd13b4a538154ca299.camel@siemens.com>

18.05.2022 15:28, Bezdeka, Florian wrote:
> On Wed, 2022-05-18 at 14:12 +0300, Anton Mikanovich wrote:
>> 11.05.2022 12:38, Felix Moessbauer wrote:
>>> This fixes a regression introduced in 4e1dacc.
>>> Pseudo ttys might be required during package building
>>> as well as package installation
>>> (e.g. to make expect work).
>>>
>>> The patch mounts /dev/pts from the host.
>>>
>>> Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
>>> ---
>>>    meta/classes/buildchroot.bbclass                    | 3 ++-
>>>    meta/classes/rootfs.bbclass                         | 3 ++-
>>>    meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 2 ++
>>>    3 files changed, 6 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
>>> index 3d2211b9..af391dff 100644
>>> --- a/meta/classes/buildchroot.bbclass
>>> +++ b/meta/classes/buildchroot.bbclass
>>> @@ -43,7 +43,8 @@ buildchroot_do_mounts() {
>>>            fi
>>>            mountpoint -q '${BUILDCHROOT_DIR}/dev' ||
>>>                ( mount --bind /dev '${BUILDCHROOT_DIR}/dev' &&
>>> -              mount -t tmpfs none '${BUILDCHROOT_DIR}/dev/shm' )
>>> +              mount -t tmpfs none '${BUILDCHROOT_DIR}/dev/shm' &&
>>> +              mount --bind /dev/pts '${BUILDCHROOT_DIR}/dev/pts' )
>>>            mountpoint -q '${BUILDCHROOT_DIR}/proc' ||
>>>                mount -t proc none '${BUILDCHROOT_DIR}/proc'
>>>            mountpoint -q '${BUILDCHROOT_DIR}/sys' ||
>>> diff --git a/meta/classes/rootfs.bbclass b/meta/classes/rootfs.bbclass
>>> index 7e9fb0f3..2f4ea008 100644
>>> --- a/meta/classes/rootfs.bbclass
>>> +++ b/meta/classes/rootfs.bbclass
>>> @@ -35,7 +35,8 @@ rootfs_do_mounts() {
>>>            set -e
>>>            mountpoint -q '${ROOTFSDIR}/dev' || \
>>>                ( mount --bind /dev '${ROOTFSDIR}/dev' &&
>>> -              mount -t tmpfs none '${ROOTFSDIR}/dev/shm' )
>>> +              mount -t tmpfs none '${ROOTFSDIR}/dev/shm' &&
>>> +              mount --bind /dev/pts '${ROOTFSDIR}/dev/pts' )
>>>            mountpoint -q '${ROOTFSDIR}/proc' || \
>>>                mount -t proc none '${ROOTFSDIR}/proc'
>>>            mountpoint -q '${ROOTFSDIR}/sys' || \
>>> diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
>>> index 6cc62a5e..7b4def14 100644
>>> --- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
>>> +++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
>>> @@ -370,6 +370,7 @@ do_bootstrap() {
>>>    
>>>            # update APT
>>>            mount --bind /dev ${ROOTFSDIR}/dev
>>> +        mount --bind /dev/pts ${ROOTFSDIR}/dev/pts
>>>            mount -t tmpfs none "${ROOTFSDIR}/dev/shm"
>>>            mount -t proc none ${ROOTFSDIR}/proc
>>>            mount --rbind /sys ${ROOTFSDIR}/sys
>>> @@ -391,6 +392,7 @@ do_bootstrap() {
>>>                                    -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"
>> Hello,
>>
>> It looks like we also have other issue caused by 4e1dacc with /dev/shm
>> mounting.
>> Here is an easy example for reproduce:
> Please note that this is not 4e1dacc. The patch we're looking at here
> seems fine and seems unrelated.
>
> The author of 4e1dacc is Jan, not Felix.
Of course this is not caused by 'mount pts into rootfs' patch, but 
definitely related to it.
Please look at my comments below.
Jan is here in CC, so he will also see it.
>> $ bitbake mc:qemuamd64-bullseye:isar-bootstrap-target
>> mc:qemuarm64-bullseye:isar-bootstrap-target
>> mc:qemuarm-bullseye:isar-bootstrap-target
>>
>> sometimes fails with:
>>
>>> umount:
>> /home/amikan/isar/build/tmp/work/debian-bullseye-arm64/isar-bootstrap-target/1.0-r0/rootfs/dev/shm:
>> not mounted.
>> ERROR: Task
>> (mc:qemuarm64-bullseye:/home/amikan/isar/meta/recipes-core/isar-bootstrap/isar-bootstrap-target.bb:do_bootstrap)
>> failed with exit code '1'
>>
>> So there are 2 options:
>> 1) revert 4e1dacc
> I have a valid use case here which requires 4e1dacc. I would like to
> learn the root cause. I have no idea (so far) why /dev/shm is not
> mounted in your case. Any ideas?

There is no '--make-rslave' on /dev during its mount to bootstrapped rootfs.
It means all the mounts on top of it (like /dev/pts or /dev/shm) can be
unmounted by the first finished do_bootstrap.
In the case I've mentioned /dev/shm of one task got unmounted by the 
other one
who finished earlier, to it fails to perform unmount by its own.


  reply	other threads:[~2022-05-18 13:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-11  9:38 [PATCH v3 0/1] " Felix Moessbauer
2022-05-11  9:38 ` [PATCH v3 1/1] " Felix Moessbauer
2022-05-18 11:12   ` Anton Mikanovich
2022-05-18 12:28     ` Bezdeka, Florian
2022-05-18 13:00       ` Anton Mikanovich [this message]
2022-06-08  9:29 ` [PATCH v3 0/1] " Anton Mikanovich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=678fd4ec-5a81-f7e0-465e-39591fa93d77@ilbers.de \
    --to=amikan@ilbers.de \
    --cc=felix.moessbauer@siemens.com \
    --cc=florian.bezdeka@siemens.com \
    --cc=ibr@radix50.net \
    --cc=isar-users@googlegroups.com \
    --cc=jan.kiszka@siemens.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox