public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [PATCH] buildchroot: add sysfs mount since expected by some packages
@ 2018-11-09 20:11 Cedric Hombourger
  2018-11-10  7:15 ` [PATCH v2] " Cedric Hombourger
  0 siblings, 1 reply; 37+ messages in thread
From: Cedric Hombourger @ 2018-11-09 20:11 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

Some packages look for /sys when they configure, build or test themselves (for
instance golang-google-grpc).

Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
---
 meta/classes/buildchroot.bbclass | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
index 870d27c..6bc57f4 100644
--- a/meta/classes/buildchroot.bbclass
+++ b/meta/classes/buildchroot.bbclass
@@ -29,5 +29,6 @@ buildchroot_do_mounts() {
             mount --bind ${DL_DIR} ${BUILDCHROOT_DIR}/downloads
             mount -t devtmpfs -o mode=0755,nosuid devtmpfs ${BUILDCHROOT_DIR}/dev
             mount -t proc none ${BUILDCHROOT_DIR}/proc
+            mount -t sysfs none ${BUILDCHROOT_DIR}/sys
         fi'
 }
-- 
2.11.0


^ permalink raw reply	[flat|nested] 37+ messages in thread

* [PATCH v2] buildchroot: add sysfs mount since expected by some packages
  2018-11-09 20:11 [PATCH] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
@ 2018-11-10  7:15 ` Cedric Hombourger
  2018-11-12  9:31   ` Henning Schild
  2018-11-12  9:46   ` [PATCH v2] buildchroot: add sysfs mount since expected by some packages Maxim Yu. Osipov
  0 siblings, 2 replies; 37+ messages in thread
From: Cedric Hombourger @ 2018-11-10  7:15 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

Some packages look for /sys when they configure, build or test themselves (for
instance golang-google-grpc).

Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
---
 meta/classes/buildchroot.bbclass           | 1 +
 meta/classes/isar-bootstrap-helper.bbclass | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
index 870d27c..6bc57f4 100644
--- a/meta/classes/buildchroot.bbclass
+++ b/meta/classes/buildchroot.bbclass
@@ -29,5 +29,6 @@ buildchroot_do_mounts() {
             mount --bind ${DL_DIR} ${BUILDCHROOT_DIR}/downloads
             mount -t devtmpfs -o mode=0755,nosuid devtmpfs ${BUILDCHROOT_DIR}/dev
             mount -t proc none ${BUILDCHROOT_DIR}/proc
+            mount -t sysfs none ${BUILDCHROOT_DIR}/sys
         fi'
 }
diff --git a/meta/classes/isar-bootstrap-helper.bbclass b/meta/classes/isar-bootstrap-helper.bbclass
index 1ac39db..874bed4 100644
--- a/meta/classes/isar-bootstrap-helper.bbclass
+++ b/meta/classes/isar-bootstrap-helper.bbclass
@@ -105,6 +105,8 @@ setup_root_file_system() {
 
     sudo mount -t devtmpfs -o mode=0755,nosuid devtmpfs $ROOTFSDIR/dev
     sudo mount -t proc none $ROOTFSDIR/proc
+    sudo install -m 755 -d $ROOTFSDIR/sys
+    sudo mount -t sysfs none $ROOTFSDIR/sys
 
     # Install packages:
     E="${@ bb.utils.export_proxies(d)}"
-- 
2.11.0


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v2] buildchroot: add sysfs mount since expected by some packages
  2018-11-10  7:15 ` [PATCH v2] " Cedric Hombourger
@ 2018-11-12  9:31   ` Henning Schild
  2018-11-13  4:59     ` [PATCH v3 1/2] buildchroot+bootstrap: use rbinds for /dev and /proc Cedric Hombourger
  2018-11-12  9:46   ` [PATCH v2] buildchroot: add sysfs mount since expected by some packages Maxim Yu. Osipov
  1 sibling, 1 reply; 37+ messages in thread
From: Henning Schild @ 2018-11-12  9:31 UTC (permalink / raw)
  To: Cedric Hombourger; +Cc: isar-users

Am Sat, 10 Nov 2018 08:15:39 +0100
schrieb Cedric Hombourger <Cedric_Hombourger@mentor.com>:

> Some packages look for /sys when they configure, build or test
> themselves (for instance golang-google-grpc).
> 
> Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
> ---
>  meta/classes/buildchroot.bbclass           | 1 +
>  meta/classes/isar-bootstrap-helper.bbclass | 2 ++
>  2 files changed, 3 insertions(+)
> 
> diff --git a/meta/classes/buildchroot.bbclass
> b/meta/classes/buildchroot.bbclass index 870d27c..6bc57f4 100644
> --- a/meta/classes/buildchroot.bbclass
> +++ b/meta/classes/buildchroot.bbclass
> @@ -29,5 +29,6 @@ buildchroot_do_mounts() {
>              mount --bind ${DL_DIR} ${BUILDCHROOT_DIR}/downloads
>              mount -t devtmpfs -o mode=0755,nosuid devtmpfs
> ${BUILDCHROOT_DIR}/dev mount -t proc none ${BUILDCHROOT_DIR}/proc
> +            mount -t sysfs none ${BUILDCHROOT_DIR}/sys

We once had /sys on the list of filesystems to mount. But for some
reason it was dropped. Patches and reasons can be found in the
mailinglist archive ... i assume.

And things like that should probably be mounted with --rbind and
--make-rslave.
https://wiki.gentoo.org/wiki/Chroot/en#Configuration

Henning

>          fi'
>  }
> diff --git a/meta/classes/isar-bootstrap-helper.bbclass
> b/meta/classes/isar-bootstrap-helper.bbclass index 1ac39db..874bed4
> 100644 --- a/meta/classes/isar-bootstrap-helper.bbclass
> +++ b/meta/classes/isar-bootstrap-helper.bbclass
> @@ -105,6 +105,8 @@ setup_root_file_system() {
>  
>      sudo mount -t devtmpfs -o mode=0755,nosuid devtmpfs
> $ROOTFSDIR/dev sudo mount -t proc none $ROOTFSDIR/proc
> +    sudo install -m 755 -d $ROOTFSDIR/sys
> +    sudo mount -t sysfs none $ROOTFSDIR/sys
>  
>      # Install packages:
>      E="${@ bb.utils.export_proxies(d)}"


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v2] buildchroot: add sysfs mount since expected by some packages
  2018-11-10  7:15 ` [PATCH v2] " Cedric Hombourger
  2018-11-12  9:31   ` Henning Schild
@ 2018-11-12  9:46   ` Maxim Yu. Osipov
  1 sibling, 0 replies; 37+ messages in thread
From: Maxim Yu. Osipov @ 2018-11-12  9:46 UTC (permalink / raw)
  To: Cedric Hombourger, isar-users

Hi Cedric,

On 11/10/18 10:15 AM, Cedric Hombourger wrote:
> Some packages look for /sys when they configure, build or test themselves (for
> instance golang-google-grpc).

It's worth to check where this sysfs has to be unmounted (from the first 
glance in isar_image_cleanup) and amend it to the patch.


Kind regards,
Maxim.

> Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
> ---
>   meta/classes/buildchroot.bbclass           | 1 +
>   meta/classes/isar-bootstrap-helper.bbclass | 2 ++
>   2 files changed, 3 insertions(+)
> 
> diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
> index 870d27c..6bc57f4 100644
> --- a/meta/classes/buildchroot.bbclass
> +++ b/meta/classes/buildchroot.bbclass
> @@ -29,5 +29,6 @@ buildchroot_do_mounts() {
>               mount --bind ${DL_DIR} ${BUILDCHROOT_DIR}/downloads
>               mount -t devtmpfs -o mode=0755,nosuid devtmpfs ${BUILDCHROOT_DIR}/dev
>               mount -t proc none ${BUILDCHROOT_DIR}/proc
> +            mount -t sysfs none ${BUILDCHROOT_DIR}/sys
>           fi'
>   }
> diff --git a/meta/classes/isar-bootstrap-helper.bbclass b/meta/classes/isar-bootstrap-helper.bbclass
> index 1ac39db..874bed4 100644
> --- a/meta/classes/isar-bootstrap-helper.bbclass
> +++ b/meta/classes/isar-bootstrap-helper.bbclass
> @@ -105,6 +105,8 @@ setup_root_file_system() {
>   
>       sudo mount -t devtmpfs -o mode=0755,nosuid devtmpfs $ROOTFSDIR/dev
>       sudo mount -t proc none $ROOTFSDIR/proc
> +    sudo install -m 755 -d $ROOTFSDIR/sys
> +    sudo mount -t sysfs none $ROOTFSDIR/sys
>   
>       # Install packages:
>       E="${@ bb.utils.export_proxies(d)}"
> 


-- 
Maxim Osipov
ilbers GmbH
Maria-Merian-Str. 8
85521 Ottobrunn
Germany
+49 (151) 6517 6917
mosipov@ilbers.de
http://ilbers.de/
Commercial register Munich, HRB 214197
General Manager: Baurzhan Ismagulov

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [PATCH v3 1/2] buildchroot+bootstrap: use rbinds for /dev and /proc
  2018-11-12  9:31   ` Henning Schild
@ 2018-11-13  4:59     ` Cedric Hombourger
  2018-11-13  4:59       ` [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
  2018-11-13 12:06       ` [PATCH v3 1/2] buildchroot+bootstrap: use rbinds for /dev and /proc Henning Schild
  0 siblings, 2 replies; 37+ messages in thread
From: Cedric Hombourger @ 2018-11-13  4:59 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

Bind mount the entire hierarchy for /dev and /proc as recommended in Gentoo's
chroot setup guide.

Suggested-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
---
 meta/classes/buildchroot.bbclass                    | 6 ++++--
 meta/classes/isar-bootstrap-helper.bbclass          | 6 ++++--
 meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 6 ++++--
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
index 870d27c..26d5e80 100644
--- a/meta/classes/buildchroot.bbclass
+++ b/meta/classes/buildchroot.bbclass
@@ -27,7 +27,9 @@ buildchroot_do_mounts() {
         if ! grep -q ${BUILDCHROOT_DIR}/isar-apt /proc/mounts; then
             mount --bind ${REPO_ISAR_DIR}/${DISTRO} ${BUILDCHROOT_DIR}/isar-apt
             mount --bind ${DL_DIR} ${BUILDCHROOT_DIR}/downloads
-            mount -t devtmpfs -o mode=0755,nosuid devtmpfs ${BUILDCHROOT_DIR}/dev
-            mount -t proc none ${BUILDCHROOT_DIR}/proc
+            mount --rbind /dev ${BUILDCHROOT_DIR}/dev
+            mount --make-rslave ${BUILDCHROOT_DIR}/dev
+            mount --rbind /proc ${BUILDCHROOT_DIR}/proc
+            mount --make-rslave ${BUILDCHROOT_DIR}/proc
         fi'
 }
diff --git a/meta/classes/isar-bootstrap-helper.bbclass b/meta/classes/isar-bootstrap-helper.bbclass
index 1ac39db..62c0839 100644
--- a/meta/classes/isar-bootstrap-helper.bbclass
+++ b/meta/classes/isar-bootstrap-helper.bbclass
@@ -103,8 +103,10 @@ setup_root_file_system() {
         sudo mount --bind ${REPO_BASE_DIR} ${ROOTFSDIR}/base-apt
     fi
 
-    sudo mount -t devtmpfs -o mode=0755,nosuid devtmpfs $ROOTFSDIR/dev
-    sudo mount -t proc none $ROOTFSDIR/proc
+    sudo mount --rbind /dev ${ROOTFSDIR}/dev
+    sudo mount --make-rslave ${ROOTFSDIR}/dev
+    sudo mount --rbind /proc ${ROOTFSDIR}/proc
+    sudo mount --make-rslave ${ROOTFSDIR}/proc
 
     # Install packages:
     E="${@ bb.utils.export_proxies(d)}"
diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
index 592d042..cd93f6c 100644
--- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
+++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
@@ -241,8 +241,10 @@ isar_bootstrap() {
             "${ROOTFSDIR}/chroot-setup.sh" "setup" "${ROOTFSDIR}"
 
             # update APT
-            mount -t devtmpfs -o mode=0755,nosuid devtmpfs ${ROOTFSDIR}/dev
-            mount -t proc none ${ROOTFSDIR}/proc
+	    mount --rbind /dev ${BUILDCHROOT_DIR}/dev
+	    mount --make-rslave ${BUILDCHROOT_DIR}/dev
+	    mount --rbind /proc ${BUILDCHROOT_DIR}/proc
+	    mount --make-rslave ${BUILDCHROOT_DIR}/proc
 
             export DEBIAN_FRONTEND=noninteractive
             chroot "${ROOTFSDIR}" /usr/bin/apt-get update -y
-- 
2.11.0


^ permalink raw reply	[flat|nested] 37+ messages in thread

* [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages
  2018-11-13  4:59     ` [PATCH v3 1/2] buildchroot+bootstrap: use rbinds for /dev and /proc Cedric Hombourger
@ 2018-11-13  4:59       ` Cedric Hombourger
  2018-11-13 10:43         ` chombourger
                           ` (2 more replies)
  2018-11-13 12:06       ` [PATCH v3 1/2] buildchroot+bootstrap: use rbinds for /dev and /proc Henning Schild
  1 sibling, 3 replies; 37+ messages in thread
From: Cedric Hombourger @ 2018-11-13  4:59 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

Some packages look for /sys when they configure, build or test themselves (for
instance golang-google-grpc).

Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
---
 meta/classes/buildchroot.bbclass           | 2 ++
 meta/classes/image.bbclass                 | 1 +
 meta/classes/isar-bootstrap-helper.bbclass | 3 +++
 meta/classes/isar-image.bbclass            | 1 +
 4 files changed, 7 insertions(+)

diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
index 26d5e80..d2f138f 100644
--- a/meta/classes/buildchroot.bbclass
+++ b/meta/classes/buildchroot.bbclass
@@ -31,5 +31,7 @@ buildchroot_do_mounts() {
             mount --make-rslave ${BUILDCHROOT_DIR}/dev
             mount --rbind /proc ${BUILDCHROOT_DIR}/proc
             mount --make-rslave ${BUILDCHROOT_DIR}/proc
+            mount --rbind /sys ${BUILDCHROOT_DIR}/sys
+            mount --make-rslave ${BUILDCHROOT_DIR}/sys
         fi'
 }
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index d033cf5..5806a59 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -110,6 +110,7 @@ do_populate_sdk() {
 
     sudo umount ${SDKCHROOT_DIR}/rootfs/dev || true
     sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true
+    sudo umount ${SDKCHROOT_DIR}/rootfs/sys || true
 
     # Create SDK archive
     sudo tar -C ${SDKCHROOT_DIR} --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \
diff --git a/meta/classes/isar-bootstrap-helper.bbclass b/meta/classes/isar-bootstrap-helper.bbclass
index 62c0839..7b2ddf3 100644
--- a/meta/classes/isar-bootstrap-helper.bbclass
+++ b/meta/classes/isar-bootstrap-helper.bbclass
@@ -107,6 +107,9 @@ setup_root_file_system() {
     sudo mount --make-rslave ${ROOTFSDIR}/dev
     sudo mount --rbind /proc ${ROOTFSDIR}/proc
     sudo mount --make-rslave ${ROOTFSDIR}/proc
+    sudo install -m 755 -d ${ROOTFSDIR}/sys
+    sudo mount --rbind /sys ${ROOTFSDIR}/sys
+    sudo mount --make-rslave ${ROOTFSDIR}/sys
 
     # Install packages:
     E="${@ bb.utils.export_proxies(d)}"
diff --git a/meta/classes/isar-image.bbclass b/meta/classes/isar-image.bbclass
index e0508be..356c97a 100644
--- a/meta/classes/isar-image.bbclass
+++ b/meta/classes/isar-image.bbclass
@@ -61,6 +61,7 @@ isar_image_cleanup() {
     sudo rmdir ${IMAGE_ROOTFS}/isar-apt
     sudo umount -l ${IMAGE_ROOTFS}/dev
     sudo umount -l ${IMAGE_ROOTFS}/proc
+    sudo umount -l ${IMAGE_ROOTFS}/sys
     sudo rm -f "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf"
 }
 
-- 
2.11.0


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages
  2018-11-13  4:59       ` [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
@ 2018-11-13 10:43         ` chombourger
  2018-11-13 10:59           ` Jan Kiszka
  2018-11-13 12:07         ` Henning Schild
  2018-11-14  7:44         ` Henning Schild
  2 siblings, 1 reply; 37+ messages in thread
From: chombourger @ 2018-11-13 10:43 UTC (permalink / raw)
  To: isar-users


[-- Attachment #1.1: Type: text/plain, Size: 3204 bytes --]

Hello all,

While testing this patch series further in a more complex environment, I 
noticed some build errors that I did not get with pristine Isar builds.
The build logs show mkstemp being called in the buildchroot'ed environment 
and failing to find /tmp. Gentoo's guide was also bind mounting /tmp
I am however unclear on why this shows up with this particular change.

Cedric

On Monday, November 12, 2018 at 8:59:49 PM UTC-8, Cedric Hombourger wrote:
>
> Some packages look for /sys when they configure, build or test themselves 
> (for 
> instance golang-google-grpc). 
>
> Signed-off-by: Cedric Hombourger <Cedric_H...@mentor.com <javascript:>> 
> --- 
>  meta/classes/buildchroot.bbclass           | 2 ++ 
>  meta/classes/image.bbclass                 | 1 + 
>  meta/classes/isar-bootstrap-helper.bbclass | 3 +++ 
>  meta/classes/isar-image.bbclass            | 1 + 
>  4 files changed, 7 insertions(+) 
>
> diff --git a/meta/classes/buildchroot.bbclass 
> b/meta/classes/buildchroot.bbclass 
> index 26d5e80..d2f138f 100644 
> --- a/meta/classes/buildchroot.bbclass 
> +++ b/meta/classes/buildchroot.bbclass 
> @@ -31,5 +31,7 @@ buildchroot_do_mounts() { 
>              mount --make-rslave ${BUILDCHROOT_DIR}/dev 
>              mount --rbind /proc ${BUILDCHROOT_DIR}/proc 
>              mount --make-rslave ${BUILDCHROOT_DIR}/proc 
> +            mount --rbind /sys ${BUILDCHROOT_DIR}/sys 
> +            mount --make-rslave ${BUILDCHROOT_DIR}/sys 
>          fi' 
>  } 
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass 
> index d033cf5..5806a59 100644 
> --- a/meta/classes/image.bbclass 
> +++ b/meta/classes/image.bbclass 
> @@ -110,6 +110,7 @@ do_populate_sdk() { 
>   
>      sudo umount ${SDKCHROOT_DIR}/rootfs/dev || true 
>      sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true 
> +    sudo umount ${SDKCHROOT_DIR}/rootfs/sys || true 
>   
>      # Create SDK archive 
>      sudo tar -C ${SDKCHROOT_DIR} 
> --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \ 
> diff --git a/meta/classes/isar-bootstrap-helper.bbclass 
> b/meta/classes/isar-bootstrap-helper.bbclass 
> index 62c0839..7b2ddf3 100644 
> --- a/meta/classes/isar-bootstrap-helper.bbclass 
> +++ b/meta/classes/isar-bootstrap-helper.bbclass 
> @@ -107,6 +107,9 @@ setup_root_file_system() { 
>      sudo mount --make-rslave ${ROOTFSDIR}/dev 
>      sudo mount --rbind /proc ${ROOTFSDIR}/proc 
>      sudo mount --make-rslave ${ROOTFSDIR}/proc 
> +    sudo install -m 755 -d ${ROOTFSDIR}/sys 
> +    sudo mount --rbind /sys ${ROOTFSDIR}/sys 
> +    sudo mount --make-rslave ${ROOTFSDIR}/sys 
>   
>      # Install packages: 
>      E="${@ bb.utils.export_proxies(d)}" 
> diff --git a/meta/classes/isar-image.bbclass 
> b/meta/classes/isar-image.bbclass 
> index e0508be..356c97a 100644 
> --- a/meta/classes/isar-image.bbclass 
> +++ b/meta/classes/isar-image.bbclass 
> @@ -61,6 +61,7 @@ isar_image_cleanup() { 
>      sudo rmdir ${IMAGE_ROOTFS}/isar-apt 
>      sudo umount -l ${IMAGE_ROOTFS}/dev 
>      sudo umount -l ${IMAGE_ROOTFS}/proc 
> +    sudo umount -l ${IMAGE_ROOTFS}/sys 
>      sudo rm -f "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf" 
>  } 
>   
> -- 
> 2.11.0 
>
>

[-- Attachment #1.2: Type: text/html, Size: 3986 bytes --]

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages
  2018-11-13 10:43         ` chombourger
@ 2018-11-13 10:59           ` Jan Kiszka
  0 siblings, 0 replies; 37+ messages in thread
From: Jan Kiszka @ 2018-11-13 10:59 UTC (permalink / raw)
  To: chombourger, isar-users

On 13.11.18 11:43, chombourger@gmail.com wrote:
> Hello all,
> 
> While testing this patch series further in a more complex environment, I noticed 
> some build errors that I did not get with pristine Isar builds.
> The build logs show mkstemp being called in the buildchroot'ed environment and 
> failing to find /tmp. Gentoo's guide was also bind mounting /tmp
> I am however unclear on why this shows up with this particular change.

Confused. We do have /tmp inside the buildchroot, don't we? Or what is missing 
from /tmp?

Jan

> 
> Cedric
> 
> On Monday, November 12, 2018 at 8:59:49 PM UTC-8, Cedric Hombourger wrote:
> 
>     Some packages look for /sys when they configure, build or test themselves (for
>     instance golang-google-grpc).
> 
>     Signed-off-by: Cedric Hombourger <Cedric_H...@mentor.com <javascript:>>
>     ---
>       meta/classes/buildchroot.bbclass           | 2 ++
>       meta/classes/image.bbclass                 | 1 +
>       meta/classes/isar-bootstrap-helper.bbclass | 3 +++
>       meta/classes/isar-image.bbclass            | 1 +
>       4 files changed, 7 insertions(+)
> 
>     diff --git a/meta/classes/buildchroot.bbclass
>     b/meta/classes/buildchroot.bbclass
>     index 26d5e80..d2f138f 100644
>     --- a/meta/classes/buildchroot.bbclass
>     +++ b/meta/classes/buildchroot.bbclass
>     @@ -31,5 +31,7 @@ buildchroot_do_mounts() {
>                   mount --make-rslave ${BUILDCHROOT_DIR}/dev
>                   mount --rbind /proc ${BUILDCHROOT_DIR}/proc
>                   mount --make-rslave ${BUILDCHROOT_DIR}/proc
>     +            mount --rbind /sys ${BUILDCHROOT_DIR}/sys
>     +            mount --make-rslave ${BUILDCHROOT_DIR}/sys
>               fi'
>       }
>     diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
>     index d033cf5..5806a59 100644
>     --- a/meta/classes/image.bbclass
>     +++ b/meta/classes/image.bbclass
>     @@ -110,6 +110,7 @@ do_populate_sdk() {
> 
>           sudo umount ${SDKCHROOT_DIR}/rootfs/dev || true
>           sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true
>     +    sudo umount ${SDKCHROOT_DIR}/rootfs/sys || true
> 
>           # Create SDK archive
>           sudo tar -C ${SDKCHROOT_DIR}
>     --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \
>     diff --git a/meta/classes/isar-bootstrap-helper.bbclass
>     b/meta/classes/isar-bootstrap-helper.bbclass
>     index 62c0839..7b2ddf3 100644
>     --- a/meta/classes/isar-bootstrap-helper.bbclass
>     +++ b/meta/classes/isar-bootstrap-helper.bbclass
>     @@ -107,6 +107,9 @@ setup_root_file_system() {
>           sudo mount --make-rslave ${ROOTFSDIR}/dev
>           sudo mount --rbind /proc ${ROOTFSDIR}/proc
>           sudo mount --make-rslave ${ROOTFSDIR}/proc
>     +    sudo install -m 755 -d ${ROOTFSDIR}/sys
>     +    sudo mount --rbind /sys ${ROOTFSDIR}/sys
>     +    sudo mount --make-rslave ${ROOTFSDIR}/sys
> 
>           # Install packages:
>           E="${@ bb.utils.export_proxies(d)}"
>     diff --git a/meta/classes/isar-image.bbclass b/meta/classes/isar-image.bbclass
>     index e0508be..356c97a 100644
>     --- a/meta/classes/isar-image.bbclass
>     +++ b/meta/classes/isar-image.bbclass
>     @@ -61,6 +61,7 @@ isar_image_cleanup() {
>           sudo rmdir ${IMAGE_ROOTFS}/isar-apt
>           sudo umount -l ${IMAGE_ROOTFS}/dev
>           sudo umount -l ${IMAGE_ROOTFS}/proc
>     +    sudo umount -l ${IMAGE_ROOTFS}/sys
>           sudo rm -f "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf"
>       }
> 
>     -- 
>     2.11.0
> 
> -- 
> 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 
> <mailto:isar-users+unsubscribe@googlegroups.com>.
> To post to this group, send email to isar-users@googlegroups.com 
> <mailto:isar-users@googlegroups.com>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/isar-users/93fdfb3c-d759-4157-a269-f7f4987d581d%40googlegroups.com 
> <https://groups.google.com/d/msgid/isar-users/93fdfb3c-d759-4157-a269-f7f4987d581d%40googlegroups.com?utm_medium=email&utm_source=footer>.
> For more options, visit https://groups.google.com/d/optout.

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v3 1/2] buildchroot+bootstrap: use rbinds for /dev and /proc
  2018-11-13  4:59     ` [PATCH v3 1/2] buildchroot+bootstrap: use rbinds for /dev and /proc Cedric Hombourger
  2018-11-13  4:59       ` [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
@ 2018-11-13 12:06       ` Henning Schild
  1 sibling, 0 replies; 37+ messages in thread
From: Henning Schild @ 2018-11-13 12:06 UTC (permalink / raw)
  To: Cedric Hombourger; +Cc: isar-users

Am Mon, 12 Nov 2018 20:59:32 -0800
schrieb Cedric Hombourger <Cedric_Hombourger@mentor.com>:

> Bind mount the entire hierarchy for /dev and /proc as recommended in
> Gentoo's chroot setup guide.
> 
> Suggested-by: Henning Schild <henning.schild@siemens.com>
> Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
> ---
>  meta/classes/buildchroot.bbclass                    | 6 ++++--
>  meta/classes/isar-bootstrap-helper.bbclass          | 6 ++++--
>  meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 6 ++++--
>  3 files changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/meta/classes/buildchroot.bbclass
> b/meta/classes/buildchroot.bbclass index 870d27c..26d5e80 100644
> --- a/meta/classes/buildchroot.bbclass
> +++ b/meta/classes/buildchroot.bbclass
> @@ -27,7 +27,9 @@ buildchroot_do_mounts() {
>          if ! grep -q ${BUILDCHROOT_DIR}/isar-apt /proc/mounts; then
>              mount --bind ${REPO_ISAR_DIR}/${DISTRO}
> ${BUILDCHROOT_DIR}/isar-apt mount --bind ${DL_DIR}
> ${BUILDCHROOT_DIR}/downloads
> -            mount -t devtmpfs -o mode=0755,nosuid devtmpfs
> ${BUILDCHROOT_DIR}/dev
> -            mount -t proc none ${BUILDCHROOT_DIR}/proc
> +            mount --rbind /dev ${BUILDCHROOT_DIR}/dev
> +            mount --make-rslave ${BUILDCHROOT_DIR}/dev
> +            mount --rbind /proc ${BUILDCHROOT_DIR}/proc
> +            mount --make-rslave ${BUILDCHROOT_DIR}/proc

/proc should be mounted as it was before.

Henning

>          fi'
>  }
> diff --git a/meta/classes/isar-bootstrap-helper.bbclass
> b/meta/classes/isar-bootstrap-helper.bbclass index 1ac39db..62c0839
> 100644 --- a/meta/classes/isar-bootstrap-helper.bbclass
> +++ b/meta/classes/isar-bootstrap-helper.bbclass
> @@ -103,8 +103,10 @@ setup_root_file_system() {
>          sudo mount --bind ${REPO_BASE_DIR} ${ROOTFSDIR}/base-apt
>      fi
>  
> -    sudo mount -t devtmpfs -o mode=0755,nosuid devtmpfs
> $ROOTFSDIR/dev
> -    sudo mount -t proc none $ROOTFSDIR/proc
> +    sudo mount --rbind /dev ${ROOTFSDIR}/dev
> +    sudo mount --make-rslave ${ROOTFSDIR}/dev
> +    sudo mount --rbind /proc ${ROOTFSDIR}/proc
> +    sudo mount --make-rslave ${ROOTFSDIR}/proc
>  
>      # Install packages:
>      E="${@ bb.utils.export_proxies(d)}"
> diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
> b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc index
> 592d042..cd93f6c 100644 ---
> a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc +++
> b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc @@ -241,8
> +241,10 @@ isar_bootstrap() { "${ROOTFSDIR}/chroot-setup.sh" "setup"
> "${ROOTFSDIR}" 
>              # update APT
> -            mount -t devtmpfs -o mode=0755,nosuid devtmpfs
> ${ROOTFSDIR}/dev
> -            mount -t proc none ${ROOTFSDIR}/proc
> +	    mount --rbind /dev ${BUILDCHROOT_DIR}/dev
> +	    mount --make-rslave ${BUILDCHROOT_DIR}/dev
> +	    mount --rbind /proc ${BUILDCHROOT_DIR}/proc
> +	    mount --make-rslave ${BUILDCHROOT_DIR}/proc
>  
>              export DEBIAN_FRONTEND=noninteractive
>              chroot "${ROOTFSDIR}" /usr/bin/apt-get update -y


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages
  2018-11-13  4:59       ` [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
  2018-11-13 10:43         ` chombourger
@ 2018-11-13 12:07         ` Henning Schild
  2018-11-13 12:37           ` Hombourger, Cedric
  2018-11-14  7:44         ` Henning Schild
  2 siblings, 1 reply; 37+ messages in thread
From: Henning Schild @ 2018-11-13 12:07 UTC (permalink / raw)
  To: Cedric Hombourger; +Cc: isar-users

Did you go through the mailinglist archives and find out why we do not
mount sys (anymore?) ?

Henning

Am Mon, 12 Nov 2018 20:59:33 -0800
schrieb Cedric Hombourger <Cedric_Hombourger@mentor.com>:

> Some packages look for /sys when they configure, build or test
> themselves (for instance golang-google-grpc).
> 
> Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
> ---
>  meta/classes/buildchroot.bbclass           | 2 ++
>  meta/classes/image.bbclass                 | 1 +
>  meta/classes/isar-bootstrap-helper.bbclass | 3 +++
>  meta/classes/isar-image.bbclass            | 1 +
>  4 files changed, 7 insertions(+)
> 
> diff --git a/meta/classes/buildchroot.bbclass
> b/meta/classes/buildchroot.bbclass index 26d5e80..d2f138f 100644
> --- a/meta/classes/buildchroot.bbclass
> +++ b/meta/classes/buildchroot.bbclass
> @@ -31,5 +31,7 @@ buildchroot_do_mounts() {
>              mount --make-rslave ${BUILDCHROOT_DIR}/dev
>              mount --rbind /proc ${BUILDCHROOT_DIR}/proc
>              mount --make-rslave ${BUILDCHROOT_DIR}/proc
> +            mount --rbind /sys ${BUILDCHROOT_DIR}/sys
> +            mount --make-rslave ${BUILDCHROOT_DIR}/sys
>          fi'
>  }
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index d033cf5..5806a59 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -110,6 +110,7 @@ do_populate_sdk() {
>  
>      sudo umount ${SDKCHROOT_DIR}/rootfs/dev || true
>      sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true
> +    sudo umount ${SDKCHROOT_DIR}/rootfs/sys || true
>  
>      # Create SDK archive
>      sudo tar -C ${SDKCHROOT_DIR}
> --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \ diff --git
> a/meta/classes/isar-bootstrap-helper.bbclass
> b/meta/classes/isar-bootstrap-helper.bbclass index 62c0839..7b2ddf3
> 100644 --- a/meta/classes/isar-bootstrap-helper.bbclass +++
> b/meta/classes/isar-bootstrap-helper.bbclass @@ -107,6 +107,9 @@
> setup_root_file_system() { sudo mount --make-rslave ${ROOTFSDIR}/dev
>      sudo mount --rbind /proc ${ROOTFSDIR}/proc
>      sudo mount --make-rslave ${ROOTFSDIR}/proc
> +    sudo install -m 755 -d ${ROOTFSDIR}/sys
> +    sudo mount --rbind /sys ${ROOTFSDIR}/sys
> +    sudo mount --make-rslave ${ROOTFSDIR}/sys
>  
>      # Install packages:
>      E="${@ bb.utils.export_proxies(d)}"
> diff --git a/meta/classes/isar-image.bbclass
> b/meta/classes/isar-image.bbclass index e0508be..356c97a 100644
> --- a/meta/classes/isar-image.bbclass
> +++ b/meta/classes/isar-image.bbclass
> @@ -61,6 +61,7 @@ isar_image_cleanup() {
>      sudo rmdir ${IMAGE_ROOTFS}/isar-apt
>      sudo umount -l ${IMAGE_ROOTFS}/dev
>      sudo umount -l ${IMAGE_ROOTFS}/proc
> +    sudo umount -l ${IMAGE_ROOTFS}/sys
>      sudo rm -f
> "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf" }
>  


^ permalink raw reply	[flat|nested] 37+ messages in thread

* RE: [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages
  2018-11-13 12:07         ` Henning Schild
@ 2018-11-13 12:37           ` Hombourger, Cedric
  2018-11-13 12:59             ` Jan Kiszka
  0 siblings, 1 reply; 37+ messages in thread
From: Hombourger, Cedric @ 2018-11-13 12:37 UTC (permalink / raw)
  To: Henning Schild; +Cc: isar-users

Hi Henning,

I have found this thread: https://groups.google.com/forum/#!searchin/isar-users/sysfs%7Csort:date/isar-users/YvBj1W8v-AM/yyNmaczJAwAJ
It suggests that attempts to mount another of sysfs in a docker would fail if not mounted read-only
I do not use Isar in a docker environment but would suspect the use of a bind mount would resolve that issue?

Cedric

-----Original Message-----
From: Henning Schild [mailto:henning.schild@siemens.com] 
Sent: Tuesday, November 13, 2018 4:07 AM
To: Hombourger, Cedric <Cedric_Hombourger@mentor.com>
Cc: isar-users@googlegroups.com
Subject: Re: [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages

Did you go through the mailinglist archives and find out why we do not mount sys (anymore?) ?

Henning

Am Mon, 12 Nov 2018 20:59:33 -0800
schrieb Cedric Hombourger <Cedric_Hombourger@mentor.com>:

> Some packages look for /sys when they configure, build or test 
> themselves (for instance golang-google-grpc).
> 
> Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
> ---
>  meta/classes/buildchroot.bbclass           | 2 ++
>  meta/classes/image.bbclass                 | 1 +
>  meta/classes/isar-bootstrap-helper.bbclass | 3 +++
>  meta/classes/isar-image.bbclass            | 1 +
>  4 files changed, 7 insertions(+)
> 
> diff --git a/meta/classes/buildchroot.bbclass
> b/meta/classes/buildchroot.bbclass index 26d5e80..d2f138f 100644
> --- a/meta/classes/buildchroot.bbclass
> +++ b/meta/classes/buildchroot.bbclass
> @@ -31,5 +31,7 @@ buildchroot_do_mounts() {
>              mount --make-rslave ${BUILDCHROOT_DIR}/dev
>              mount --rbind /proc ${BUILDCHROOT_DIR}/proc
>              mount --make-rslave ${BUILDCHROOT_DIR}/proc
> +            mount --rbind /sys ${BUILDCHROOT_DIR}/sys
> +            mount --make-rslave ${BUILDCHROOT_DIR}/sys
>          fi'
>  }
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass 
> index d033cf5..5806a59 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -110,6 +110,7 @@ do_populate_sdk() {
>  
>      sudo umount ${SDKCHROOT_DIR}/rootfs/dev || true
>      sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true
> +    sudo umount ${SDKCHROOT_DIR}/rootfs/sys || true
>  
>      # Create SDK archive
>      sudo tar -C ${SDKCHROOT_DIR}
> --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \ diff --git 
> a/meta/classes/isar-bootstrap-helper.bbclass
> b/meta/classes/isar-bootstrap-helper.bbclass index 62c0839..7b2ddf3
> 100644 --- a/meta/classes/isar-bootstrap-helper.bbclass +++ 
> b/meta/classes/isar-bootstrap-helper.bbclass @@ -107,6 +107,9 @@
> setup_root_file_system() { sudo mount --make-rslave ${ROOTFSDIR}/dev
>      sudo mount --rbind /proc ${ROOTFSDIR}/proc
>      sudo mount --make-rslave ${ROOTFSDIR}/proc
> +    sudo install -m 755 -d ${ROOTFSDIR}/sys
> +    sudo mount --rbind /sys ${ROOTFSDIR}/sys
> +    sudo mount --make-rslave ${ROOTFSDIR}/sys
>  
>      # Install packages:
>      E="${@ bb.utils.export_proxies(d)}"
> diff --git a/meta/classes/isar-image.bbclass 
> b/meta/classes/isar-image.bbclass index e0508be..356c97a 100644
> --- a/meta/classes/isar-image.bbclass
> +++ b/meta/classes/isar-image.bbclass
> @@ -61,6 +61,7 @@ isar_image_cleanup() {
>      sudo rmdir ${IMAGE_ROOTFS}/isar-apt
>      sudo umount -l ${IMAGE_ROOTFS}/dev
>      sudo umount -l ${IMAGE_ROOTFS}/proc
> +    sudo umount -l ${IMAGE_ROOTFS}/sys
>      sudo rm -f
> "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf" }
>  


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages
  2018-11-13 12:37           ` Hombourger, Cedric
@ 2018-11-13 12:59             ` Jan Kiszka
  0 siblings, 0 replies; 37+ messages in thread
From: Jan Kiszka @ 2018-11-13 12:59 UTC (permalink / raw)
  To: Hombourger, Cedric, Henning Schild; +Cc: isar-users

On 13.11.18 13:37, Hombourger, Cedric wrote:
> Hi Henning,
> 
> I have found this thread: https://groups.google.com/forum/#!searchin/isar-users/sysfs%7Csort:date/isar-users/YvBj1W8v-AM/yyNmaczJAwAJ
> It suggests that attempts to mount another of sysfs in a docker would fail if not mounted read-only
> I do not use Isar in a docker environment but would suspect the use of a bind mount would resolve that issue?

That issue was "resolved" already back then: We need docker run --privileged for 
Isar anyway, so even mounting sysfs should be no issue. Needs a test, but that 
is simple: jailhouse-images (soon also xenomai-images).

Jan

> 
> Cedric
> 
> -----Original Message-----
> From: Henning Schild [mailto:henning.schild@siemens.com]
> Sent: Tuesday, November 13, 2018 4:07 AM
> To: Hombourger, Cedric <Cedric_Hombourger@mentor.com>
> Cc: isar-users@googlegroups.com
> Subject: Re: [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages
> 
> Did you go through the mailinglist archives and find out why we do not mount sys (anymore?) ?
> 
> Henning
> 
> Am Mon, 12 Nov 2018 20:59:33 -0800
> schrieb Cedric Hombourger <Cedric_Hombourger@mentor.com>:
> 
>> Some packages look for /sys when they configure, build or test
>> themselves (for instance golang-google-grpc).
>>
>> Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
>> ---
>>   meta/classes/buildchroot.bbclass           | 2 ++
>>   meta/classes/image.bbclass                 | 1 +
>>   meta/classes/isar-bootstrap-helper.bbclass | 3 +++
>>   meta/classes/isar-image.bbclass            | 1 +
>>   4 files changed, 7 insertions(+)
>>
>> diff --git a/meta/classes/buildchroot.bbclass
>> b/meta/classes/buildchroot.bbclass index 26d5e80..d2f138f 100644
>> --- a/meta/classes/buildchroot.bbclass
>> +++ b/meta/classes/buildchroot.bbclass
>> @@ -31,5 +31,7 @@ buildchroot_do_mounts() {
>>               mount --make-rslave ${BUILDCHROOT_DIR}/dev
>>               mount --rbind /proc ${BUILDCHROOT_DIR}/proc
>>               mount --make-rslave ${BUILDCHROOT_DIR}/proc
>> +            mount --rbind /sys ${BUILDCHROOT_DIR}/sys
>> +            mount --make-rslave ${BUILDCHROOT_DIR}/sys
>>           fi'
>>   }
>> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
>> index d033cf5..5806a59 100644
>> --- a/meta/classes/image.bbclass
>> +++ b/meta/classes/image.bbclass
>> @@ -110,6 +110,7 @@ do_populate_sdk() {
>>   
>>       sudo umount ${SDKCHROOT_DIR}/rootfs/dev || true
>>       sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true
>> +    sudo umount ${SDKCHROOT_DIR}/rootfs/sys || true
>>   
>>       # Create SDK archive
>>       sudo tar -C ${SDKCHROOT_DIR}
>> --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \ diff --git
>> a/meta/classes/isar-bootstrap-helper.bbclass
>> b/meta/classes/isar-bootstrap-helper.bbclass index 62c0839..7b2ddf3
>> 100644 --- a/meta/classes/isar-bootstrap-helper.bbclass +++
>> b/meta/classes/isar-bootstrap-helper.bbclass @@ -107,6 +107,9 @@
>> setup_root_file_system() { sudo mount --make-rslave ${ROOTFSDIR}/dev
>>       sudo mount --rbind /proc ${ROOTFSDIR}/proc
>>       sudo mount --make-rslave ${ROOTFSDIR}/proc
>> +    sudo install -m 755 -d ${ROOTFSDIR}/sys
>> +    sudo mount --rbind /sys ${ROOTFSDIR}/sys
>> +    sudo mount --make-rslave ${ROOTFSDIR}/sys
>>   
>>       # Install packages:
>>       E="${@ bb.utils.export_proxies(d)}"
>> diff --git a/meta/classes/isar-image.bbclass
>> b/meta/classes/isar-image.bbclass index e0508be..356c97a 100644
>> --- a/meta/classes/isar-image.bbclass
>> +++ b/meta/classes/isar-image.bbclass
>> @@ -61,6 +61,7 @@ isar_image_cleanup() {
>>       sudo rmdir ${IMAGE_ROOTFS}/isar-apt
>>       sudo umount -l ${IMAGE_ROOTFS}/dev
>>       sudo umount -l ${IMAGE_ROOTFS}/proc
>> +    sudo umount -l ${IMAGE_ROOTFS}/sys
>>       sudo rm -f
>> "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf" }
>>   
> 

-- 
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages
  2018-11-13  4:59       ` [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
  2018-11-13 10:43         ` chombourger
  2018-11-13 12:07         ` Henning Schild
@ 2018-11-14  7:44         ` Henning Schild
  2018-11-16 16:29           ` chombourger
  2 siblings, 1 reply; 37+ messages in thread
From: Henning Schild @ 2018-11-14  7:44 UTC (permalink / raw)
  To: Cedric Hombourger; +Cc: isar-users

Two more things to double-check.

1. Do the umount hooks we have in place clean up all the recursiveness?
2. Once we rbind mount sys the chroot will probably be allowed to mess
with cgroups, tracing etc. Does a debootstrap change anything there,
i.e. by installing systemd, libvirt, or perf?

Henning

Am Mon, 12 Nov 2018 20:59:33 -0800
schrieb Cedric Hombourger <Cedric_Hombourger@mentor.com>:

> Some packages look for /sys when they configure, build or test
> themselves (for instance golang-google-grpc).
> 
> Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
> ---
>  meta/classes/buildchroot.bbclass           | 2 ++
>  meta/classes/image.bbclass                 | 1 +
>  meta/classes/isar-bootstrap-helper.bbclass | 3 +++
>  meta/classes/isar-image.bbclass            | 1 +
>  4 files changed, 7 insertions(+)
> 
> diff --git a/meta/classes/buildchroot.bbclass
> b/meta/classes/buildchroot.bbclass index 26d5e80..d2f138f 100644
> --- a/meta/classes/buildchroot.bbclass
> +++ b/meta/classes/buildchroot.bbclass
> @@ -31,5 +31,7 @@ buildchroot_do_mounts() {
>              mount --make-rslave ${BUILDCHROOT_DIR}/dev
>              mount --rbind /proc ${BUILDCHROOT_DIR}/proc
>              mount --make-rslave ${BUILDCHROOT_DIR}/proc
> +            mount --rbind /sys ${BUILDCHROOT_DIR}/sys
> +            mount --make-rslave ${BUILDCHROOT_DIR}/sys
>          fi'
>  }
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index d033cf5..5806a59 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -110,6 +110,7 @@ do_populate_sdk() {
>  
>      sudo umount ${SDKCHROOT_DIR}/rootfs/dev || true
>      sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true
> +    sudo umount ${SDKCHROOT_DIR}/rootfs/sys || true
>  
>      # Create SDK archive
>      sudo tar -C ${SDKCHROOT_DIR}
> --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \ diff --git
> a/meta/classes/isar-bootstrap-helper.bbclass
> b/meta/classes/isar-bootstrap-helper.bbclass index 62c0839..7b2ddf3
> 100644 --- a/meta/classes/isar-bootstrap-helper.bbclass +++
> b/meta/classes/isar-bootstrap-helper.bbclass @@ -107,6 +107,9 @@
> setup_root_file_system() { sudo mount --make-rslave ${ROOTFSDIR}/dev
>      sudo mount --rbind /proc ${ROOTFSDIR}/proc
>      sudo mount --make-rslave ${ROOTFSDIR}/proc
> +    sudo install -m 755 -d ${ROOTFSDIR}/sys
> +    sudo mount --rbind /sys ${ROOTFSDIR}/sys
> +    sudo mount --make-rslave ${ROOTFSDIR}/sys
>  
>      # Install packages:
>      E="${@ bb.utils.export_proxies(d)}"
> diff --git a/meta/classes/isar-image.bbclass
> b/meta/classes/isar-image.bbclass index e0508be..356c97a 100644
> --- a/meta/classes/isar-image.bbclass
> +++ b/meta/classes/isar-image.bbclass
> @@ -61,6 +61,7 @@ isar_image_cleanup() {
>      sudo rmdir ${IMAGE_ROOTFS}/isar-apt
>      sudo umount -l ${IMAGE_ROOTFS}/dev
>      sudo umount -l ${IMAGE_ROOTFS}/proc
> +    sudo umount -l ${IMAGE_ROOTFS}/sys
>      sudo rm -f
> "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf" }
>  


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages
  2018-11-14  7:44         ` Henning Schild
@ 2018-11-16 16:29           ` chombourger
  2018-11-16 16:31             ` [PATCH v4 1/2] buildchroot+bootstrap: rbind mount for /dev Cedric Hombourger
  0 siblings, 1 reply; 37+ messages in thread
From: chombourger @ 2018-11-16 16:29 UTC (permalink / raw)
  To: isar-users


[-- Attachment #1.1: Type: text/plain, Size: 3721 bytes --]

Hi Henning,

1. the hook we have for when the build ends does handle nested mounts just 
fine. I will however post a new patch with 'umount -R' calls in places 
where we explicitly umount /dev, /proc and /sys
2. I don't think we have an issue here, the use-case is similar to e.g. 
lxc, they do have /sys mounted and packages may be installed at will within 
the container

Cedric

On Tuesday, November 13, 2018 at 11:44:57 PM UTC-8, Henning Schild wrote:
>
> Two more things to double-check. 
>
> 1. Do the umount hooks we have in place clean up all the recursiveness? 
> 2. Once we rbind mount sys the chroot will probably be allowed to mess 
> with cgroups, tracing etc. Does a debootstrap change anything there, 
> i.e. by installing systemd, libvirt, or perf? 
>
> Henning 
>
> Am Mon, 12 Nov 2018 20:59:33 -0800 
> schrieb Cedric Hombourger <Cedric_H...@mentor.com <javascript:>>: 
>
> > Some packages look for /sys when they configure, build or test 
> > themselves (for instance golang-google-grpc). 
> > 
> > Signed-off-by: Cedric Hombourger <Cedric_H...@mentor.com <javascript:>> 
> > --- 
> >  meta/classes/buildchroot.bbclass           | 2 ++ 
> >  meta/classes/image.bbclass                 | 1 + 
> >  meta/classes/isar-bootstrap-helper.bbclass | 3 +++ 
> >  meta/classes/isar-image.bbclass            | 1 + 
> >  4 files changed, 7 insertions(+) 
> > 
> > diff --git a/meta/classes/buildchroot.bbclass 
> > b/meta/classes/buildchroot.bbclass index 26d5e80..d2f138f 100644 
> > --- a/meta/classes/buildchroot.bbclass 
> > +++ b/meta/classes/buildchroot.bbclass 
> > @@ -31,5 +31,7 @@ buildchroot_do_mounts() { 
> >              mount --make-rslave ${BUILDCHROOT_DIR}/dev 
> >              mount --rbind /proc ${BUILDCHROOT_DIR}/proc 
> >              mount --make-rslave ${BUILDCHROOT_DIR}/proc 
> > +            mount --rbind /sys ${BUILDCHROOT_DIR}/sys 
> > +            mount --make-rslave ${BUILDCHROOT_DIR}/sys 
> >          fi' 
> >  } 
> > diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass 
> > index d033cf5..5806a59 100644 
> > --- a/meta/classes/image.bbclass 
> > +++ b/meta/classes/image.bbclass 
> > @@ -110,6 +110,7 @@ do_populate_sdk() { 
> >   
> >      sudo umount ${SDKCHROOT_DIR}/rootfs/dev || true 
> >      sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true 
> > +    sudo umount ${SDKCHROOT_DIR}/rootfs/sys || true 
> >   
> >      # Create SDK archive 
> >      sudo tar -C ${SDKCHROOT_DIR} 
> > --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \ diff --git 
> > a/meta/classes/isar-bootstrap-helper.bbclass 
> > b/meta/classes/isar-bootstrap-helper.bbclass index 62c0839..7b2ddf3 
> > 100644 --- a/meta/classes/isar-bootstrap-helper.bbclass +++ 
> > b/meta/classes/isar-bootstrap-helper.bbclass @@ -107,6 +107,9 @@ 
> > setup_root_file_system() { sudo mount --make-rslave ${ROOTFSDIR}/dev 
> >      sudo mount --rbind /proc ${ROOTFSDIR}/proc 
> >      sudo mount --make-rslave ${ROOTFSDIR}/proc 
> > +    sudo install -m 755 -d ${ROOTFSDIR}/sys 
> > +    sudo mount --rbind /sys ${ROOTFSDIR}/sys 
> > +    sudo mount --make-rslave ${ROOTFSDIR}/sys 
> >   
> >      # Install packages: 
> >      E="${@ bb.utils.export_proxies(d)}" 
> > diff --git a/meta/classes/isar-image.bbclass 
> > b/meta/classes/isar-image.bbclass index e0508be..356c97a 100644 
> > --- a/meta/classes/isar-image.bbclass 
> > +++ b/meta/classes/isar-image.bbclass 
> > @@ -61,6 +61,7 @@ isar_image_cleanup() { 
> >      sudo rmdir ${IMAGE_ROOTFS}/isar-apt 
> >      sudo umount -l ${IMAGE_ROOTFS}/dev 
> >      sudo umount -l ${IMAGE_ROOTFS}/proc 
> > +    sudo umount -l ${IMAGE_ROOTFS}/sys 
> >      sudo rm -f 
> > "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf" } 
> >   
>
>

[-- Attachment #1.2: Type: text/html, Size: 4919 bytes --]

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [PATCH v4 1/2] buildchroot+bootstrap: rbind mount for /dev
  2018-11-16 16:29           ` chombourger
@ 2018-11-16 16:31             ` Cedric Hombourger
  2018-11-16 16:31               ` [PATCH v3 1/2] buildchroot+bootstrap: use rbinds for /dev and /proc Cedric Hombourger
  2018-11-16 16:31               ` [PATCH v4 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
  0 siblings, 2 replies; 37+ messages in thread
From: Cedric Hombourger @ 2018-11-16 16:31 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

Bind mount the entire hierarchy for /dev as recommended in Gentoo's chroot
setup guide.

Suggested-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
---
 meta/classes/buildchroot.bbclass                    | 3 ++-
 meta/classes/image.bbclass                          | 2 +-
 meta/classes/isar-bootstrap-helper.bbclass          | 3 ++-
 meta/classes/isar-image.bbclass                     | 2 +-
 meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 5 +++--
 5 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
index 34b7f59..a8964c6 100644
--- a/meta/classes/buildchroot.bbclass
+++ b/meta/classes/buildchroot.bbclass
@@ -27,7 +27,8 @@ buildchroot_do_mounts() {
         if ! grep -q ${BUILDCHROOT_DIR}/isar-apt /proc/mounts; then
             mount --bind ${REPO_ISAR_DIR}/${DISTRO} ${BUILDCHROOT_DIR}/isar-apt
             mount --bind ${DL_DIR} ${BUILDCHROOT_DIR}/downloads
-            mount -t devtmpfs -o mode=0755,nosuid devtmpfs ${BUILDCHROOT_DIR}/dev
+            mount --rbind /dev ${BUILDCHROOT_DIR}/dev
+            mount --make-rslave ${BUILDCHROOT_DIR}/dev
             mount -t proc none ${BUILDCHROOT_DIR}/proc
         fi
 
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index d033cf5..01e045d 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -108,7 +108,7 @@ do_populate_sdk() {
     # Purge apt cache to make image slimmer
     sudo rm -rf ${SDKCHROOT_DIR}/rootfs/var/cache/apt/*
 
-    sudo umount ${SDKCHROOT_DIR}/rootfs/dev || true
+    sudo umount -R ${SDKCHROOT_DIR}/rootfs/dev || true
     sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true
 
     # Create SDK archive
diff --git a/meta/classes/isar-bootstrap-helper.bbclass b/meta/classes/isar-bootstrap-helper.bbclass
index e6a46ce..1d3e5f6 100644
--- a/meta/classes/isar-bootstrap-helper.bbclass
+++ b/meta/classes/isar-bootstrap-helper.bbclass
@@ -103,7 +103,8 @@ setup_root_file_system() {
         sudo mount --bind ${REPO_BASE_DIR} ${ROOTFSDIR}/base-apt
     fi
 
-    sudo mount -t devtmpfs -o mode=0755,nosuid devtmpfs $ROOTFSDIR/dev
+    sudo mount --rbind /dev ${ROOTFSDIR}/dev
+    sudo mount --make-rslave ${ROOTFSDIR}/dev
     sudo mount -t proc none $ROOTFSDIR/proc
 
     # Refresh /etc/resolv.conf
diff --git a/meta/classes/isar-image.bbclass b/meta/classes/isar-image.bbclass
index e0508be..703b3e7 100644
--- a/meta/classes/isar-image.bbclass
+++ b/meta/classes/isar-image.bbclass
@@ -59,7 +59,7 @@ isar_image_cleanup() {
               -maxdepth 1 -name 'qemu-*-static' -type f -delete
     sudo umount -l ${IMAGE_ROOTFS}/isar-apt
     sudo rmdir ${IMAGE_ROOTFS}/isar-apt
-    sudo umount -l ${IMAGE_ROOTFS}/dev
+    sudo umount -R -l ${IMAGE_ROOTFS}/dev
     sudo umount -l ${IMAGE_ROOTFS}/proc
     sudo rm -f "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf"
 }
diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
index 21454b0..dfd649e 100644
--- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
+++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
@@ -183,7 +183,7 @@ isar_bootstrap() {
         set -e
         if [ ! -e "${DEPLOY_ISAR_BOOTSTRAP}" ]; then
             if [ -e "${ROOTFSDIR}" ]; then
-               umount -l "${ROOTFSDIR}/dev" || true
+               umount -R -l "${ROOTFSDIR}/dev" || true
                umount -l "${ROOTFSDIR}/proc" || true
                rm -rf "${ROOTFSDIR}"
             fi
@@ -243,7 +243,8 @@ isar_bootstrap() {
             "${ROOTFSDIR}/chroot-setup.sh" "setup" "${ROOTFSDIR}"
 
             # update APT
-            mount -t devtmpfs -o mode=0755,nosuid devtmpfs ${ROOTFSDIR}/dev
+            mount --rbind /dev ${BUILDCHROOT_DIR}/dev
+            mount --make-rslave ${BUILDCHROOT_DIR}/dev
             mount -t proc none ${ROOTFSDIR}/proc
 
             export DEBIAN_FRONTEND=noninteractive
-- 
2.11.0


^ permalink raw reply	[flat|nested] 37+ messages in thread

* [PATCH v3 1/2] buildchroot+bootstrap: use rbinds for /dev and /proc
  2018-11-16 16:31             ` [PATCH v4 1/2] buildchroot+bootstrap: rbind mount for /dev Cedric Hombourger
@ 2018-11-16 16:31               ` Cedric Hombourger
  2018-11-16 16:31               ` [PATCH v4 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
  1 sibling, 0 replies; 37+ messages in thread
From: Cedric Hombourger @ 2018-11-16 16:31 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

Bind mount the entire hierarchy for /dev and /proc as recommended in Gentoo's
chroot setup guide.

Suggested-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
---
 meta/classes/buildchroot.bbclass                    | 6 ++++--
 meta/classes/isar-bootstrap-helper.bbclass          | 6 ++++--
 meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 6 ++++--
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
index 870d27c..26d5e80 100644
--- a/meta/classes/buildchroot.bbclass
+++ b/meta/classes/buildchroot.bbclass
@@ -27,7 +27,9 @@ buildchroot_do_mounts() {
         if ! grep -q ${BUILDCHROOT_DIR}/isar-apt /proc/mounts; then
             mount --bind ${REPO_ISAR_DIR}/${DISTRO} ${BUILDCHROOT_DIR}/isar-apt
             mount --bind ${DL_DIR} ${BUILDCHROOT_DIR}/downloads
-            mount -t devtmpfs -o mode=0755,nosuid devtmpfs ${BUILDCHROOT_DIR}/dev
-            mount -t proc none ${BUILDCHROOT_DIR}/proc
+            mount --rbind /dev ${BUILDCHROOT_DIR}/dev
+            mount --make-rslave ${BUILDCHROOT_DIR}/dev
+            mount --rbind /proc ${BUILDCHROOT_DIR}/proc
+            mount --make-rslave ${BUILDCHROOT_DIR}/proc
         fi'
 }
diff --git a/meta/classes/isar-bootstrap-helper.bbclass b/meta/classes/isar-bootstrap-helper.bbclass
index 1ac39db..62c0839 100644
--- a/meta/classes/isar-bootstrap-helper.bbclass
+++ b/meta/classes/isar-bootstrap-helper.bbclass
@@ -103,8 +103,10 @@ setup_root_file_system() {
         sudo mount --bind ${REPO_BASE_DIR} ${ROOTFSDIR}/base-apt
     fi
 
-    sudo mount -t devtmpfs -o mode=0755,nosuid devtmpfs $ROOTFSDIR/dev
-    sudo mount -t proc none $ROOTFSDIR/proc
+    sudo mount --rbind /dev ${ROOTFSDIR}/dev
+    sudo mount --make-rslave ${ROOTFSDIR}/dev
+    sudo mount --rbind /proc ${ROOTFSDIR}/proc
+    sudo mount --make-rslave ${ROOTFSDIR}/proc
 
     # Install packages:
     E="${@ bb.utils.export_proxies(d)}"
diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
index 592d042..cd93f6c 100644
--- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
+++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
@@ -241,8 +241,10 @@ isar_bootstrap() {
             "${ROOTFSDIR}/chroot-setup.sh" "setup" "${ROOTFSDIR}"
 
             # update APT
-            mount -t devtmpfs -o mode=0755,nosuid devtmpfs ${ROOTFSDIR}/dev
-            mount -t proc none ${ROOTFSDIR}/proc
+	    mount --rbind /dev ${BUILDCHROOT_DIR}/dev
+	    mount --make-rslave ${BUILDCHROOT_DIR}/dev
+	    mount --rbind /proc ${BUILDCHROOT_DIR}/proc
+	    mount --make-rslave ${BUILDCHROOT_DIR}/proc
 
             export DEBIAN_FRONTEND=noninteractive
             chroot "${ROOTFSDIR}" /usr/bin/apt-get update -y
-- 
2.11.0


^ permalink raw reply	[flat|nested] 37+ messages in thread

* [PATCH v4 2/2] buildchroot: add sysfs mount since expected by some packages
  2018-11-16 16:31             ` [PATCH v4 1/2] buildchroot+bootstrap: rbind mount for /dev Cedric Hombourger
  2018-11-16 16:31               ` [PATCH v3 1/2] buildchroot+bootstrap: use rbinds for /dev and /proc Cedric Hombourger
@ 2018-11-16 16:31               ` Cedric Hombourger
  2018-11-17 14:56                 ` [PATCH v5 0/2] rbind mounts for /dev and /sys Cedric Hombourger
  1 sibling, 1 reply; 37+ messages in thread
From: Cedric Hombourger @ 2018-11-16 16:31 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

Some packages look for /sys when they configure, build or test themselves (for
instance golang-google-grpc).

Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
---
 meta/classes/buildchroot.bbclass                    | 2 ++
 meta/classes/image.bbclass                          | 1 +
 meta/classes/isar-bootstrap-helper.bbclass          | 3 +++
 meta/classes/isar-image.bbclass                     | 1 +
 meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 3 +++
 5 files changed, 10 insertions(+)

diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
index a8964c6..0d4ff4e 100644
--- a/meta/classes/buildchroot.bbclass
+++ b/meta/classes/buildchroot.bbclass
@@ -30,6 +30,8 @@ buildchroot_do_mounts() {
             mount --rbind /dev ${BUILDCHROOT_DIR}/dev
             mount --make-rslave ${BUILDCHROOT_DIR}/dev
             mount -t proc none ${BUILDCHROOT_DIR}/proc
+            mount --rbind /sys ${BUILDCHROOT_DIR}/sys
+            mount --make-rslave ${BUILDCHROOT_DIR}/sys
         fi
 
         # Refresh /etc/resolv.conf at this chance
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 01e045d..d8fbfd5 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -110,6 +110,7 @@ do_populate_sdk() {
 
     sudo umount -R ${SDKCHROOT_DIR}/rootfs/dev || true
     sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true
+    sudo umount -R ${SDKCHROOT_DIR}/rootfs/sys || true
 
     # Create SDK archive
     sudo tar -C ${SDKCHROOT_DIR} --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \
diff --git a/meta/classes/isar-bootstrap-helper.bbclass b/meta/classes/isar-bootstrap-helper.bbclass
index 1d3e5f6..c065851 100644
--- a/meta/classes/isar-bootstrap-helper.bbclass
+++ b/meta/classes/isar-bootstrap-helper.bbclass
@@ -106,6 +106,9 @@ setup_root_file_system() {
     sudo mount --rbind /dev ${ROOTFSDIR}/dev
     sudo mount --make-rslave ${ROOTFSDIR}/dev
     sudo mount -t proc none $ROOTFSDIR/proc
+    sudo install -m 755 -d ${ROOTFSDIR}/sys
+    sudo mount --rbind /sys ${ROOTFSDIR}/sys
+    sudo mount --make-rslave ${ROOTFSDIR}/sys
 
     # Refresh /etc/resolv.conf
     sudo cp -L /etc/resolv.conf ${ROOTFSDIR}/etc
diff --git a/meta/classes/isar-image.bbclass b/meta/classes/isar-image.bbclass
index 703b3e7..7aaaecb 100644
--- a/meta/classes/isar-image.bbclass
+++ b/meta/classes/isar-image.bbclass
@@ -61,6 +61,7 @@ isar_image_cleanup() {
     sudo rmdir ${IMAGE_ROOTFS}/isar-apt
     sudo umount -R -l ${IMAGE_ROOTFS}/dev
     sudo umount -l ${IMAGE_ROOTFS}/proc
+    sudo umount -R -l ${IMAGE_ROOTFS}/sys
     sudo rm -f "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf"
 }
 
diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
index dfd649e..3f7910f 100644
--- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
+++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
@@ -185,6 +185,7 @@ isar_bootstrap() {
             if [ -e "${ROOTFSDIR}" ]; then
                umount -R -l "${ROOTFSDIR}/dev" || true
                umount -l "${ROOTFSDIR}/proc" || true
+               umount -R -l "${ROOTFSDIR}/sys" || true
                rm -rf "${ROOTFSDIR}"
             fi
             if [ ${IS_HOST} ]; then
@@ -246,6 +247,8 @@ isar_bootstrap() {
             mount --rbind /dev ${BUILDCHROOT_DIR}/dev
             mount --make-rslave ${BUILDCHROOT_DIR}/dev
             mount -t proc none ${ROOTFSDIR}/proc
+            mount --rbind /sys ${BUILDCHROOT_DIR}/sys
+            mount --make-rslave ${BUILDCHROOT_DIR}/sys
 
             export DEBIAN_FRONTEND=noninteractive
             chroot "${ROOTFSDIR}" /usr/bin/apt-get update -y
-- 
2.11.0


^ permalink raw reply	[flat|nested] 37+ messages in thread

* [PATCH v5 0/2] rbind mounts for /dev and /sys
  2018-11-16 16:31               ` [PATCH v4 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
@ 2018-11-17 14:56                 ` Cedric Hombourger
  2018-11-17 14:56                   ` [PATCH v5 1/2] buildchroot+bootstrap: rbind mount for /dev Cedric Hombourger
                                     ` (2 more replies)
  0 siblings, 3 replies; 37+ messages in thread
From: Cedric Hombourger @ 2018-11-17 14:56 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

Some of the packages I have been rebuilding within Isar require /sys mounted.
For instance, golang-google-grpc runs some package tests after it builds itself
and reads properties from /sys/class/dmi.

The initial version of this patch series only added a mount of /sys. Henning
then suggested that we follow Gentoo's guidelines for chroots. As such, this
patch series is now mounting /dev and /sys as rbind mounts but leaves /proc
as a regular procfs mount (like Gentoo does).

ChangeLog:

v5: cover letter added as suggested by Jan (private e-mail)
v4: limit rbind mounts to /dev and /sys, leave /proc as a regular mount
v3: rbind mounts for /dev, /proc and /sys, add explicit umount calls
v2: create /sys directory
v1: initial submission, simply mount /sys

Cedric Hombourger (2):
  buildchroot+bootstrap: rbind mount for /dev
  buildchroot: add sysfs mount since expected by some packages

 meta/classes/buildchroot.bbclass                    | 5 ++++-
 meta/classes/image.bbclass                          | 3 ++-
 meta/classes/isar-bootstrap-helper.bbclass          | 6 +++++-
 meta/classes/isar-image.bbclass                     | 3 ++-
 meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 8 ++++++--
 5 files changed, 19 insertions(+), 6 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 37+ messages in thread

* [PATCH v5 1/2] buildchroot+bootstrap: rbind mount for /dev
  2018-11-17 14:56                 ` [PATCH v5 0/2] rbind mounts for /dev and /sys Cedric Hombourger
@ 2018-11-17 14:56                   ` Cedric Hombourger
  2018-11-19  9:25                     ` Henning Schild
  2018-11-17 14:56                   ` [PATCH v5 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
  2018-11-19  9:27                   ` [PATCH v5 " Henning Schild
  2 siblings, 1 reply; 37+ messages in thread
From: Cedric Hombourger @ 2018-11-17 14:56 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

Bind mount the entire hierarchy for /dev as recommended in Gentoo's chroot
setup guide.

Suggested-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
---
 meta/classes/buildchroot.bbclass                    | 3 ++-
 meta/classes/image.bbclass                          | 2 +-
 meta/classes/isar-bootstrap-helper.bbclass          | 3 ++-
 meta/classes/isar-image.bbclass                     | 2 +-
 meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 5 +++--
 5 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
index 34b7f59..a8964c6 100644
--- a/meta/classes/buildchroot.bbclass
+++ b/meta/classes/buildchroot.bbclass
@@ -27,7 +27,8 @@ buildchroot_do_mounts() {
         if ! grep -q ${BUILDCHROOT_DIR}/isar-apt /proc/mounts; then
             mount --bind ${REPO_ISAR_DIR}/${DISTRO} ${BUILDCHROOT_DIR}/isar-apt
             mount --bind ${DL_DIR} ${BUILDCHROOT_DIR}/downloads
-            mount -t devtmpfs -o mode=0755,nosuid devtmpfs ${BUILDCHROOT_DIR}/dev
+            mount --rbind /dev ${BUILDCHROOT_DIR}/dev
+            mount --make-rslave ${BUILDCHROOT_DIR}/dev
             mount -t proc none ${BUILDCHROOT_DIR}/proc
         fi
 
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index d033cf5..01e045d 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -108,7 +108,7 @@ do_populate_sdk() {
     # Purge apt cache to make image slimmer
     sudo rm -rf ${SDKCHROOT_DIR}/rootfs/var/cache/apt/*
 
-    sudo umount ${SDKCHROOT_DIR}/rootfs/dev || true
+    sudo umount -R ${SDKCHROOT_DIR}/rootfs/dev || true
     sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true
 
     # Create SDK archive
diff --git a/meta/classes/isar-bootstrap-helper.bbclass b/meta/classes/isar-bootstrap-helper.bbclass
index e6a46ce..1d3e5f6 100644
--- a/meta/classes/isar-bootstrap-helper.bbclass
+++ b/meta/classes/isar-bootstrap-helper.bbclass
@@ -103,7 +103,8 @@ setup_root_file_system() {
         sudo mount --bind ${REPO_BASE_DIR} ${ROOTFSDIR}/base-apt
     fi
 
-    sudo mount -t devtmpfs -o mode=0755,nosuid devtmpfs $ROOTFSDIR/dev
+    sudo mount --rbind /dev ${ROOTFSDIR}/dev
+    sudo mount --make-rslave ${ROOTFSDIR}/dev
     sudo mount -t proc none $ROOTFSDIR/proc
 
     # Refresh /etc/resolv.conf
diff --git a/meta/classes/isar-image.bbclass b/meta/classes/isar-image.bbclass
index e0508be..703b3e7 100644
--- a/meta/classes/isar-image.bbclass
+++ b/meta/classes/isar-image.bbclass
@@ -59,7 +59,7 @@ isar_image_cleanup() {
               -maxdepth 1 -name 'qemu-*-static' -type f -delete
     sudo umount -l ${IMAGE_ROOTFS}/isar-apt
     sudo rmdir ${IMAGE_ROOTFS}/isar-apt
-    sudo umount -l ${IMAGE_ROOTFS}/dev
+    sudo umount -R -l ${IMAGE_ROOTFS}/dev
     sudo umount -l ${IMAGE_ROOTFS}/proc
     sudo rm -f "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf"
 }
diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
index 21454b0..dfd649e 100644
--- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
+++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
@@ -183,7 +183,7 @@ isar_bootstrap() {
         set -e
         if [ ! -e "${DEPLOY_ISAR_BOOTSTRAP}" ]; then
             if [ -e "${ROOTFSDIR}" ]; then
-               umount -l "${ROOTFSDIR}/dev" || true
+               umount -R -l "${ROOTFSDIR}/dev" || true
                umount -l "${ROOTFSDIR}/proc" || true
                rm -rf "${ROOTFSDIR}"
             fi
@@ -243,7 +243,8 @@ isar_bootstrap() {
             "${ROOTFSDIR}/chroot-setup.sh" "setup" "${ROOTFSDIR}"
 
             # update APT
-            mount -t devtmpfs -o mode=0755,nosuid devtmpfs ${ROOTFSDIR}/dev
+            mount --rbind /dev ${BUILDCHROOT_DIR}/dev
+            mount --make-rslave ${BUILDCHROOT_DIR}/dev
             mount -t proc none ${ROOTFSDIR}/proc
 
             export DEBIAN_FRONTEND=noninteractive
-- 
2.7.4


^ permalink raw reply	[flat|nested] 37+ messages in thread

* [PATCH v5 2/2] buildchroot: add sysfs mount since expected by some packages
  2018-11-17 14:56                 ` [PATCH v5 0/2] rbind mounts for /dev and /sys Cedric Hombourger
  2018-11-17 14:56                   ` [PATCH v5 1/2] buildchroot+bootstrap: rbind mount for /dev Cedric Hombourger
@ 2018-11-17 14:56                   ` Cedric Hombourger
  2018-11-19  9:24                     ` Henning Schild
  2018-11-19  9:27                   ` [PATCH v5 " Henning Schild
  2 siblings, 1 reply; 37+ messages in thread
From: Cedric Hombourger @ 2018-11-17 14:56 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

Some packages look for /sys when they configure, build or test themselves (for
instance golang-google-grpc).

Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
---
 meta/classes/buildchroot.bbclass                    | 2 ++
 meta/classes/image.bbclass                          | 1 +
 meta/classes/isar-bootstrap-helper.bbclass          | 3 +++
 meta/classes/isar-image.bbclass                     | 1 +
 meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 3 +++
 5 files changed, 10 insertions(+)

diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
index a8964c6..0d4ff4e 100644
--- a/meta/classes/buildchroot.bbclass
+++ b/meta/classes/buildchroot.bbclass
@@ -30,6 +30,8 @@ buildchroot_do_mounts() {
             mount --rbind /dev ${BUILDCHROOT_DIR}/dev
             mount --make-rslave ${BUILDCHROOT_DIR}/dev
             mount -t proc none ${BUILDCHROOT_DIR}/proc
+            mount --rbind /sys ${BUILDCHROOT_DIR}/sys
+            mount --make-rslave ${BUILDCHROOT_DIR}/sys
         fi
 
         # Refresh /etc/resolv.conf at this chance
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 01e045d..d8fbfd5 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -110,6 +110,7 @@ do_populate_sdk() {
 
     sudo umount -R ${SDKCHROOT_DIR}/rootfs/dev || true
     sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true
+    sudo umount -R ${SDKCHROOT_DIR}/rootfs/sys || true
 
     # Create SDK archive
     sudo tar -C ${SDKCHROOT_DIR} --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \
diff --git a/meta/classes/isar-bootstrap-helper.bbclass b/meta/classes/isar-bootstrap-helper.bbclass
index 1d3e5f6..c065851 100644
--- a/meta/classes/isar-bootstrap-helper.bbclass
+++ b/meta/classes/isar-bootstrap-helper.bbclass
@@ -106,6 +106,9 @@ setup_root_file_system() {
     sudo mount --rbind /dev ${ROOTFSDIR}/dev
     sudo mount --make-rslave ${ROOTFSDIR}/dev
     sudo mount -t proc none $ROOTFSDIR/proc
+    sudo install -m 755 -d ${ROOTFSDIR}/sys
+    sudo mount --rbind /sys ${ROOTFSDIR}/sys
+    sudo mount --make-rslave ${ROOTFSDIR}/sys
 
     # Refresh /etc/resolv.conf
     sudo cp -L /etc/resolv.conf ${ROOTFSDIR}/etc
diff --git a/meta/classes/isar-image.bbclass b/meta/classes/isar-image.bbclass
index 703b3e7..7aaaecb 100644
--- a/meta/classes/isar-image.bbclass
+++ b/meta/classes/isar-image.bbclass
@@ -61,6 +61,7 @@ isar_image_cleanup() {
     sudo rmdir ${IMAGE_ROOTFS}/isar-apt
     sudo umount -R -l ${IMAGE_ROOTFS}/dev
     sudo umount -l ${IMAGE_ROOTFS}/proc
+    sudo umount -R -l ${IMAGE_ROOTFS}/sys
     sudo rm -f "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf"
 }
 
diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
index dfd649e..3f7910f 100644
--- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
+++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
@@ -185,6 +185,7 @@ isar_bootstrap() {
             if [ -e "${ROOTFSDIR}" ]; then
                umount -R -l "${ROOTFSDIR}/dev" || true
                umount -l "${ROOTFSDIR}/proc" || true
+               umount -R -l "${ROOTFSDIR}/sys" || true
                rm -rf "${ROOTFSDIR}"
             fi
             if [ ${IS_HOST} ]; then
@@ -246,6 +247,8 @@ isar_bootstrap() {
             mount --rbind /dev ${BUILDCHROOT_DIR}/dev
             mount --make-rslave ${BUILDCHROOT_DIR}/dev
             mount -t proc none ${ROOTFSDIR}/proc
+            mount --rbind /sys ${BUILDCHROOT_DIR}/sys
+            mount --make-rslave ${BUILDCHROOT_DIR}/sys
 
             export DEBIAN_FRONTEND=noninteractive
             chroot "${ROOTFSDIR}" /usr/bin/apt-get update -y
-- 
2.7.4


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v5 2/2] buildchroot: add sysfs mount since expected by some packages
  2018-11-17 14:56                   ` [PATCH v5 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
@ 2018-11-19  9:24                     ` Henning Schild
  2018-11-20 12:40                       ` [PATCH v6 0/2] rbind mounts for /dev and /sys Cedric Hombourger
  0 siblings, 1 reply; 37+ messages in thread
From: Henning Schild @ 2018-11-19  9:24 UTC (permalink / raw)
  To: Cedric Hombourger; +Cc: isar-users

Am Sat, 17 Nov 2018 15:56:59 +0100
schrieb Cedric Hombourger <Cedric_Hombourger@mentor.com>:

> Some packages look for /sys when they configure, build or test
> themselves (for instance golang-google-grpc).
> 
> Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
> ---
>  meta/classes/buildchroot.bbclass                    | 2 ++
>  meta/classes/image.bbclass                          | 1 +
>  meta/classes/isar-bootstrap-helper.bbclass          | 3 +++
>  meta/classes/isar-image.bbclass                     | 1 +
>  meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 3 +++
>  5 files changed, 10 insertions(+)
> 
> diff --git a/meta/classes/buildchroot.bbclass
> b/meta/classes/buildchroot.bbclass index a8964c6..0d4ff4e 100644
> --- a/meta/classes/buildchroot.bbclass
> +++ b/meta/classes/buildchroot.bbclass
> @@ -30,6 +30,8 @@ buildchroot_do_mounts() {
>              mount --rbind /dev ${BUILDCHROOT_DIR}/dev
>              mount --make-rslave ${BUILDCHROOT_DIR}/dev
>              mount -t proc none ${BUILDCHROOT_DIR}/proc
> +            mount --rbind /sys ${BUILDCHROOT_DIR}/sys
> +            mount --make-rslave ${BUILDCHROOT_DIR}/sys
>          fi
>  
>          # Refresh /etc/resolv.conf at this chance
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index 01e045d..d8fbfd5 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -110,6 +110,7 @@ do_populate_sdk() {
>  
>      sudo umount -R ${SDKCHROOT_DIR}/rootfs/dev || true
>      sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true
> +    sudo umount -R ${SDKCHROOT_DIR}/rootfs/sys || true
>  
>      # Create SDK archive
>      sudo tar -C ${SDKCHROOT_DIR}
> --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \ diff --git
> a/meta/classes/isar-bootstrap-helper.bbclass
> b/meta/classes/isar-bootstrap-helper.bbclass index 1d3e5f6..c065851
> 100644 --- a/meta/classes/isar-bootstrap-helper.bbclass +++
> b/meta/classes/isar-bootstrap-helper.bbclass @@ -106,6 +106,9 @@
> setup_root_file_system() { sudo mount --rbind /dev ${ROOTFSDIR}/dev
>      sudo mount --make-rslave ${ROOTFSDIR}/dev
>      sudo mount -t proc none $ROOTFSDIR/proc
> +    sudo install -m 755 -d ${ROOTFSDIR}/sys

Why this mkdir? Does debootstrap create the other two and not this one?

Henning

> +    sudo mount --rbind /sys ${ROOTFSDIR}/sys
> +    sudo mount --make-rslave ${ROOTFSDIR}/sys
>  
>      # Refresh /etc/resolv.conf
>      sudo cp -L /etc/resolv.conf ${ROOTFSDIR}/etc
> diff --git a/meta/classes/isar-image.bbclass
> b/meta/classes/isar-image.bbclass index 703b3e7..7aaaecb 100644
> --- a/meta/classes/isar-image.bbclass
> +++ b/meta/classes/isar-image.bbclass
> @@ -61,6 +61,7 @@ isar_image_cleanup() {
>      sudo rmdir ${IMAGE_ROOTFS}/isar-apt
>      sudo umount -R -l ${IMAGE_ROOTFS}/dev
>      sudo umount -l ${IMAGE_ROOTFS}/proc
> +    sudo umount -R -l ${IMAGE_ROOTFS}/sys
>      sudo rm -f
> "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf" }
>  
> diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
> b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc index
> dfd649e..3f7910f 100644 ---
> a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc +++
> b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc @@ -185,6
> +185,7 @@ isar_bootstrap() { if [ -e "${ROOTFSDIR}" ]; then
>                 umount -R -l "${ROOTFSDIR}/dev" || true
>                 umount -l "${ROOTFSDIR}/proc" || true
> +               umount -R -l "${ROOTFSDIR}/sys" || true
>                 rm -rf "${ROOTFSDIR}"
>              fi
>              if [ ${IS_HOST} ]; then
> @@ -246,6 +247,8 @@ isar_bootstrap() {
>              mount --rbind /dev ${BUILDCHROOT_DIR}/dev
>              mount --make-rslave ${BUILDCHROOT_DIR}/dev
>              mount -t proc none ${ROOTFSDIR}/proc
> +            mount --rbind /sys ${BUILDCHROOT_DIR}/sys
> +            mount --make-rslave ${BUILDCHROOT_DIR}/sys
>  
>              export DEBIAN_FRONTEND=noninteractive
>              chroot "${ROOTFSDIR}" /usr/bin/apt-get update -y


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v5 1/2] buildchroot+bootstrap: rbind mount for /dev
  2018-11-17 14:56                   ` [PATCH v5 1/2] buildchroot+bootstrap: rbind mount for /dev Cedric Hombourger
@ 2018-11-19  9:25                     ` Henning Schild
  2018-11-20 12:36                       ` chombourger
  0 siblings, 1 reply; 37+ messages in thread
From: Henning Schild @ 2018-11-19  9:25 UTC (permalink / raw)
  To: Cedric Hombourger; +Cc: isar-users

Am Sat, 17 Nov 2018 15:56:58 +0100
schrieb Cedric Hombourger <Cedric_Hombourger@mentor.com>:

> Bind mount the entire hierarchy for /dev as recommended in Gentoo's
> chroot setup guide.
> 
> Suggested-by: Henning Schild <henning.schild@siemens.com>
> Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
> ---
>  meta/classes/buildchroot.bbclass                    | 3 ++-
>  meta/classes/image.bbclass                          | 2 +-
>  meta/classes/isar-bootstrap-helper.bbclass          | 3 ++-
>  meta/classes/isar-image.bbclass                     | 2 +-
>  meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 5 +++--
>  5 files changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/meta/classes/buildchroot.bbclass
> b/meta/classes/buildchroot.bbclass index 34b7f59..a8964c6 100644
> --- a/meta/classes/buildchroot.bbclass
> +++ b/meta/classes/buildchroot.bbclass
> @@ -27,7 +27,8 @@ buildchroot_do_mounts() {
>          if ! grep -q ${BUILDCHROOT_DIR}/isar-apt /proc/mounts; then
>              mount --bind ${REPO_ISAR_DIR}/${DISTRO}
> ${BUILDCHROOT_DIR}/isar-apt mount --bind ${DL_DIR}
> ${BUILDCHROOT_DIR}/downloads
> -            mount -t devtmpfs -o mode=0755,nosuid devtmpfs
> ${BUILDCHROOT_DIR}/dev
> +            mount --rbind /dev ${BUILDCHROOT_DIR}/dev
> +            mount --make-rslave ${BUILDCHROOT_DIR}/dev
>              mount -t proc none ${BUILDCHROOT_DIR}/proc
>          fi
>  
> diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
> index d033cf5..01e045d 100644
> --- a/meta/classes/image.bbclass
> +++ b/meta/classes/image.bbclass
> @@ -108,7 +108,7 @@ do_populate_sdk() {
>      # Purge apt cache to make image slimmer
>      sudo rm -rf ${SDKCHROOT_DIR}/rootfs/var/cache/apt/*
>  
> -    sudo umount ${SDKCHROOT_DIR}/rootfs/dev || true
> +    sudo umount -R ${SDKCHROOT_DIR}/rootfs/dev || true
>      sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true
>  
>      # Create SDK archive
> diff --git a/meta/classes/isar-bootstrap-helper.bbclass
> b/meta/classes/isar-bootstrap-helper.bbclass index e6a46ce..1d3e5f6
> 100644 --- a/meta/classes/isar-bootstrap-helper.bbclass
> +++ b/meta/classes/isar-bootstrap-helper.bbclass
> @@ -103,7 +103,8 @@ setup_root_file_system() {
>          sudo mount --bind ${REPO_BASE_DIR} ${ROOTFSDIR}/base-apt
>      fi
>  
> -    sudo mount -t devtmpfs -o mode=0755,nosuid devtmpfs
> $ROOTFSDIR/dev
> +    sudo mount --rbind /dev ${ROOTFSDIR}/dev
> +    sudo mount --make-rslave ${ROOTFSDIR}/dev
>      sudo mount -t proc none $ROOTFSDIR/proc
>  
>      # Refresh /etc/resolv.conf
> diff --git a/meta/classes/isar-image.bbclass
> b/meta/classes/isar-image.bbclass index e0508be..703b3e7 100644
> --- a/meta/classes/isar-image.bbclass
> +++ b/meta/classes/isar-image.bbclass
> @@ -59,7 +59,7 @@ isar_image_cleanup() {
>                -maxdepth 1 -name 'qemu-*-static' -type f -delete
>      sudo umount -l ${IMAGE_ROOTFS}/isar-apt
>      sudo rmdir ${IMAGE_ROOTFS}/isar-apt
> -    sudo umount -l ${IMAGE_ROOTFS}/dev
> +    sudo umount -R -l ${IMAGE_ROOTFS}/dev
>      sudo umount -l ${IMAGE_ROOTFS}/proc
>      sudo rm -f
> "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf" }
> diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
> b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc index
> 21454b0..dfd649e 100644 ---
> a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc +++
> b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc @@ -183,7
> +183,7 @@ isar_bootstrap() { set -e
>          if [ ! -e "${DEPLOY_ISAR_BOOTSTRAP}" ]; then
>              if [ -e "${ROOTFSDIR}" ]; then
> -               umount -l "${ROOTFSDIR}/dev" || true
> +               umount -R -l "${ROOTFSDIR}/dev" || true
>                 umount -l "${ROOTFSDIR}/proc" || true
>                 rm -rf "${ROOTFSDIR}"

 umount -R ${ROOTFSDIR} ?

Maybe as a third patch on top.

Henning

>              fi
> @@ -243,7 +243,8 @@ isar_bootstrap() {
>              "${ROOTFSDIR}/chroot-setup.sh" "setup" "${ROOTFSDIR}"
>  
>              # update APT
> -            mount -t devtmpfs -o mode=0755,nosuid devtmpfs
> ${ROOTFSDIR}/dev
> +            mount --rbind /dev ${BUILDCHROOT_DIR}/dev
> +            mount --make-rslave ${BUILDCHROOT_DIR}/dev
>              mount -t proc none ${ROOTFSDIR}/proc
>  
>              export DEBIAN_FRONTEND=noninteractive


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v5 0/2] rbind mounts for /dev and /sys
  2018-11-17 14:56                 ` [PATCH v5 0/2] rbind mounts for /dev and /sys Cedric Hombourger
  2018-11-17 14:56                   ` [PATCH v5 1/2] buildchroot+bootstrap: rbind mount for /dev Cedric Hombourger
  2018-11-17 14:56                   ` [PATCH v5 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
@ 2018-11-19  9:27                   ` Henning Schild
  2018-11-19  9:30                     ` Hombourger, Cedric
  2 siblings, 1 reply; 37+ messages in thread
From: Henning Schild @ 2018-11-19  9:27 UTC (permalink / raw)
  To: Cedric Hombourger; +Cc: isar-users

Looking at how many places we have to change to get the mounts right,
we most likely want all that logic in a function. I recently had issues
with an imager class in a layer, that also carries mounting logic.

But i guess that would be a cleanup step on top.

Henning

Am Sat, 17 Nov 2018 15:56:57 +0100
schrieb Cedric Hombourger <Cedric_Hombourger@mentor.com>:

> Some of the packages I have been rebuilding within Isar require /sys
> mounted. For instance, golang-google-grpc runs some package tests
> after it builds itself and reads properties from /sys/class/dmi.
> 
> The initial version of this patch series only added a mount of /sys.
> Henning then suggested that we follow Gentoo's guidelines for
> chroots. As such, this patch series is now mounting /dev and /sys as
> rbind mounts but leaves /proc as a regular procfs mount (like Gentoo
> does).
> 
> ChangeLog:
> 
> v5: cover letter added as suggested by Jan (private e-mail)
> v4: limit rbind mounts to /dev and /sys, leave /proc as a regular
> mount v3: rbind mounts for /dev, /proc and /sys, add explicit umount
> calls v2: create /sys directory
> v1: initial submission, simply mount /sys
> 
> Cedric Hombourger (2):
>   buildchroot+bootstrap: rbind mount for /dev
>   buildchroot: add sysfs mount since expected by some packages
> 
>  meta/classes/buildchroot.bbclass                    | 5 ++++-
>  meta/classes/image.bbclass                          | 3 ++-
>  meta/classes/isar-bootstrap-helper.bbclass          | 6 +++++-
>  meta/classes/isar-image.bbclass                     | 3 ++-
>  meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 8 ++++++--
>  5 files changed, 19 insertions(+), 6 deletions(-)
> 


^ permalink raw reply	[flat|nested] 37+ messages in thread

* RE: [PATCH v5 0/2] rbind mounts for /dev and /sys
  2018-11-19  9:27                   ` [PATCH v5 " Henning Schild
@ 2018-11-19  9:30                     ` Hombourger, Cedric
  0 siblings, 0 replies; 37+ messages in thread
From: Hombourger, Cedric @ 2018-11-19  9:30 UTC (permalink / raw)
  To: Henning Schild; +Cc: isar-users

Hi Henning,

Yes you read my mind, that's the next thing I'd like to do but wouldn't mind getting this series in first to unblock some other work we have on-going here
I will go through your comments on the v5 series and respond/handle

Cedric

-----Original Message-----
From: Henning Schild [mailto:henning.schild@siemens.com] 
Sent: Monday, November 19, 2018 10:27 AM
To: Hombourger, Cedric <Cedric_Hombourger@mentor.com>
Cc: isar-users@googlegroups.com
Subject: Re: [PATCH v5 0/2] rbind mounts for /dev and /sys

Looking at how many places we have to change to get the mounts right, we most likely want all that logic in a function. I recently had issues with an imager class in a layer, that also carries mounting logic.

But i guess that would be a cleanup step on top.

Henning

Am Sat, 17 Nov 2018 15:56:57 +0100
schrieb Cedric Hombourger <Cedric_Hombourger@mentor.com>:

> Some of the packages I have been rebuilding within Isar require /sys 
> mounted. For instance, golang-google-grpc runs some package tests 
> after it builds itself and reads properties from /sys/class/dmi.
> 
> The initial version of this patch series only added a mount of /sys.
> Henning then suggested that we follow Gentoo's guidelines for chroots. 
> As such, this patch series is now mounting /dev and /sys as rbind 
> mounts but leaves /proc as a regular procfs mount (like Gentoo does).
> 
> ChangeLog:
> 
> v5: cover letter added as suggested by Jan (private e-mail)
> v4: limit rbind mounts to /dev and /sys, leave /proc as a regular 
> mount v3: rbind mounts for /dev, /proc and /sys, add explicit umount 
> calls v2: create /sys directory
> v1: initial submission, simply mount /sys
> 
> Cedric Hombourger (2):
>   buildchroot+bootstrap: rbind mount for /dev
>   buildchroot: add sysfs mount since expected by some packages
> 
>  meta/classes/buildchroot.bbclass                    | 5 ++++-
>  meta/classes/image.bbclass                          | 3 ++-
>  meta/classes/isar-bootstrap-helper.bbclass          | 6 +++++-
>  meta/classes/isar-image.bbclass                     | 3 ++-
>  meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 8 ++++++--
>  5 files changed, 19 insertions(+), 6 deletions(-)
> 


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v5 1/2] buildchroot+bootstrap: rbind mount for /dev
  2018-11-19  9:25                     ` Henning Schild
@ 2018-11-20 12:36                       ` chombourger
  0 siblings, 0 replies; 37+ messages in thread
From: chombourger @ 2018-11-20 12:36 UTC (permalink / raw)
  To: isar-users


[-- Attachment #1.1: Type: text/plain, Size: 952 bytes --]



On Monday, November 19, 2018 at 10:25:25 AM UTC+1, Henning Schild wrote:
>
> > diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc 
> > b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc index 
> > 21454b0..dfd649e 100644 --- 
> > a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc +++ 
> > b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc @@ -183,7 
> > +183,7 @@ isar_bootstrap() { set -e 
> >          if [ ! -e "${DEPLOY_ISAR_BOOTSTRAP}" ]; then 
> >              if [ -e "${ROOTFSDIR}" ]; then 
> > -               umount -l "${ROOTFSDIR}/dev" || true 
> > +               umount -R -l "${ROOTFSDIR}/dev" || true 
> >                 umount -l "${ROOTFSDIR}/proc" || true 
> >                 rm -rf "${ROOTFSDIR}" 
>
>  umount -R ${ROOTFSDIR} ? 
>
> Maybe as a third patch on top. 


This will not work as ROOTFSDIR is not a mountpoint.
I will post a v6 with the removal of the mkdir of /sys as the only change

Cedric 

[-- Attachment #1.2: Type: text/html, Size: 1354 bytes --]

^ permalink raw reply	[flat|nested] 37+ messages in thread

* [PATCH v6 0/2] rbind mounts for /dev and /sys
  2018-11-19  9:24                     ` Henning Schild
@ 2018-11-20 12:40                       ` Cedric Hombourger
  2018-11-20 12:40                         ` [PATCH v6 1/2] buildchroot+bootstrap: rbind mount for /dev Cedric Hombourger
                                           ` (3 more replies)
  0 siblings, 4 replies; 37+ messages in thread
From: Cedric Hombourger @ 2018-11-20 12:40 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

Some of the packages I have been rebuilding within Isar require /sys mounted.
For instance, golang-google-grpc runs some package tests after it builds itself
and reads properties from /sys/class/dmi.

The initial version of this patch series only added a mount of /sys. Henning
then suggested that we follow Gentoo's guidelines for chroots. As such, this
patch series is now mounting /dev and /sys as rbind mounts but leaves /proc
as a regular procfs mount (like Gentoo does).

ChangeLog:

v6: remove unnecessary mkdir for /sys
v5: cover letter added as suggested by Jan (private e-mail)
v4: limit rbind mounts to /dev and /sys, leave /proc as a regular mount
v3: rbind mounts for /dev, /proc and /sys, add explicit umount calls
v2: create /sys directory
v1: initial submission, simply mount /sys

Cedric Hombourger (2):
  buildchroot+bootstrap: rbind mount for /dev
  buildchroot: add sysfs mount since expected by some packages

 meta/classes/buildchroot.bbclass                    | 5 ++++-
 meta/classes/image.bbclass                          | 3 ++-
 meta/classes/isar-bootstrap-helper.bbclass          | 6 +++++-
 meta/classes/isar-image.bbclass                     | 3 ++-
 meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 8 ++++++--
 5 files changed, 19 insertions(+), 6 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 37+ messages in thread

* [PATCH v6 1/2] buildchroot+bootstrap: rbind mount for /dev
  2018-11-20 12:40                       ` [PATCH v6 0/2] rbind mounts for /dev and /sys Cedric Hombourger
@ 2018-11-20 12:40                         ` Cedric Hombourger
  2018-11-20 12:40                         ` [PATCH v6 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
                                           ` (2 subsequent siblings)
  3 siblings, 0 replies; 37+ messages in thread
From: Cedric Hombourger @ 2018-11-20 12:40 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

Bind mount the entire hierarchy for /dev as recommended in Gentoo's chroot
setup guide.

Suggested-by: Henning Schild <henning.schild@siemens.com>
Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
---
 meta/classes/buildchroot.bbclass                    | 3 ++-
 meta/classes/image.bbclass                          | 2 +-
 meta/classes/isar-bootstrap-helper.bbclass          | 3 ++-
 meta/classes/isar-image.bbclass                     | 2 +-
 meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 5 +++--
 5 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
index 34b7f59..a8964c6 100644
--- a/meta/classes/buildchroot.bbclass
+++ b/meta/classes/buildchroot.bbclass
@@ -27,7 +27,8 @@ buildchroot_do_mounts() {
         if ! grep -q ${BUILDCHROOT_DIR}/isar-apt /proc/mounts; then
             mount --bind ${REPO_ISAR_DIR}/${DISTRO} ${BUILDCHROOT_DIR}/isar-apt
             mount --bind ${DL_DIR} ${BUILDCHROOT_DIR}/downloads
-            mount -t devtmpfs -o mode=0755,nosuid devtmpfs ${BUILDCHROOT_DIR}/dev
+            mount --rbind /dev ${BUILDCHROOT_DIR}/dev
+            mount --make-rslave ${BUILDCHROOT_DIR}/dev
             mount -t proc none ${BUILDCHROOT_DIR}/proc
         fi
 
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index d033cf5..01e045d 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -108,7 +108,7 @@ do_populate_sdk() {
     # Purge apt cache to make image slimmer
     sudo rm -rf ${SDKCHROOT_DIR}/rootfs/var/cache/apt/*
 
-    sudo umount ${SDKCHROOT_DIR}/rootfs/dev || true
+    sudo umount -R ${SDKCHROOT_DIR}/rootfs/dev || true
     sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true
 
     # Create SDK archive
diff --git a/meta/classes/isar-bootstrap-helper.bbclass b/meta/classes/isar-bootstrap-helper.bbclass
index e6a46ce..1d3e5f6 100644
--- a/meta/classes/isar-bootstrap-helper.bbclass
+++ b/meta/classes/isar-bootstrap-helper.bbclass
@@ -103,7 +103,8 @@ setup_root_file_system() {
         sudo mount --bind ${REPO_BASE_DIR} ${ROOTFSDIR}/base-apt
     fi
 
-    sudo mount -t devtmpfs -o mode=0755,nosuid devtmpfs $ROOTFSDIR/dev
+    sudo mount --rbind /dev ${ROOTFSDIR}/dev
+    sudo mount --make-rslave ${ROOTFSDIR}/dev
     sudo mount -t proc none $ROOTFSDIR/proc
 
     # Refresh /etc/resolv.conf
diff --git a/meta/classes/isar-image.bbclass b/meta/classes/isar-image.bbclass
index e0508be..703b3e7 100644
--- a/meta/classes/isar-image.bbclass
+++ b/meta/classes/isar-image.bbclass
@@ -59,7 +59,7 @@ isar_image_cleanup() {
               -maxdepth 1 -name 'qemu-*-static' -type f -delete
     sudo umount -l ${IMAGE_ROOTFS}/isar-apt
     sudo rmdir ${IMAGE_ROOTFS}/isar-apt
-    sudo umount -l ${IMAGE_ROOTFS}/dev
+    sudo umount -R -l ${IMAGE_ROOTFS}/dev
     sudo umount -l ${IMAGE_ROOTFS}/proc
     sudo rm -f "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf"
 }
diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
index 21454b0..dfd649e 100644
--- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
+++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
@@ -183,7 +183,7 @@ isar_bootstrap() {
         set -e
         if [ ! -e "${DEPLOY_ISAR_BOOTSTRAP}" ]; then
             if [ -e "${ROOTFSDIR}" ]; then
-               umount -l "${ROOTFSDIR}/dev" || true
+               umount -R -l "${ROOTFSDIR}/dev" || true
                umount -l "${ROOTFSDIR}/proc" || true
                rm -rf "${ROOTFSDIR}"
             fi
@@ -243,7 +243,8 @@ isar_bootstrap() {
             "${ROOTFSDIR}/chroot-setup.sh" "setup" "${ROOTFSDIR}"
 
             # update APT
-            mount -t devtmpfs -o mode=0755,nosuid devtmpfs ${ROOTFSDIR}/dev
+            mount --rbind /dev ${BUILDCHROOT_DIR}/dev
+            mount --make-rslave ${BUILDCHROOT_DIR}/dev
             mount -t proc none ${ROOTFSDIR}/proc
 
             export DEBIAN_FRONTEND=noninteractive
-- 
2.7.4


^ permalink raw reply	[flat|nested] 37+ messages in thread

* [PATCH v6 2/2] buildchroot: add sysfs mount since expected by some packages
  2018-11-20 12:40                       ` [PATCH v6 0/2] rbind mounts for /dev and /sys Cedric Hombourger
  2018-11-20 12:40                         ` [PATCH v6 1/2] buildchroot+bootstrap: rbind mount for /dev Cedric Hombourger
@ 2018-11-20 12:40                         ` Cedric Hombourger
  2018-11-22 16:08                           ` chombourger
  2018-11-23 14:13                         ` [PATCH v6 0/2] rbind mounts for /dev and /sys Maxim Yu. Osipov
  2018-11-27 14:45                         ` Maxim Yu. Osipov
  3 siblings, 1 reply; 37+ messages in thread
From: Cedric Hombourger @ 2018-11-20 12:40 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

Some packages look for /sys when they configure, build or test themselves (for
instance golang-google-grpc).

Signed-off-by: Cedric Hombourger <Cedric_Hombourger@mentor.com>
---
 meta/classes/buildchroot.bbclass                    | 2 ++
 meta/classes/image.bbclass                          | 1 +
 meta/classes/isar-bootstrap-helper.bbclass          | 2 ++
 meta/classes/isar-image.bbclass                     | 1 +
 meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 3 +++
 5 files changed, 9 insertions(+)

diff --git a/meta/classes/buildchroot.bbclass b/meta/classes/buildchroot.bbclass
index a8964c6..0d4ff4e 100644
--- a/meta/classes/buildchroot.bbclass
+++ b/meta/classes/buildchroot.bbclass
@@ -30,6 +30,8 @@ buildchroot_do_mounts() {
             mount --rbind /dev ${BUILDCHROOT_DIR}/dev
             mount --make-rslave ${BUILDCHROOT_DIR}/dev
             mount -t proc none ${BUILDCHROOT_DIR}/proc
+            mount --rbind /sys ${BUILDCHROOT_DIR}/sys
+            mount --make-rslave ${BUILDCHROOT_DIR}/sys
         fi
 
         # Refresh /etc/resolv.conf at this chance
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 01e045d..d8fbfd5 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -110,6 +110,7 @@ do_populate_sdk() {
 
     sudo umount -R ${SDKCHROOT_DIR}/rootfs/dev || true
     sudo umount ${SDKCHROOT_DIR}/rootfs/proc || true
+    sudo umount -R ${SDKCHROOT_DIR}/rootfs/sys || true
 
     # Create SDK archive
     sudo tar -C ${SDKCHROOT_DIR} --transform="s|^rootfs|sdk-${DISTRO}-${DISTRO_ARCH}|" \
diff --git a/meta/classes/isar-bootstrap-helper.bbclass b/meta/classes/isar-bootstrap-helper.bbclass
index 1d3e5f6..d77690f 100644
--- a/meta/classes/isar-bootstrap-helper.bbclass
+++ b/meta/classes/isar-bootstrap-helper.bbclass
@@ -106,6 +106,8 @@ setup_root_file_system() {
     sudo mount --rbind /dev ${ROOTFSDIR}/dev
     sudo mount --make-rslave ${ROOTFSDIR}/dev
     sudo mount -t proc none $ROOTFSDIR/proc
+    sudo mount --rbind /sys ${ROOTFSDIR}/sys
+    sudo mount --make-rslave ${ROOTFSDIR}/sys
 
     # Refresh /etc/resolv.conf
     sudo cp -L /etc/resolv.conf ${ROOTFSDIR}/etc
diff --git a/meta/classes/isar-image.bbclass b/meta/classes/isar-image.bbclass
index 703b3e7..7aaaecb 100644
--- a/meta/classes/isar-image.bbclass
+++ b/meta/classes/isar-image.bbclass
@@ -61,6 +61,7 @@ isar_image_cleanup() {
     sudo rmdir ${IMAGE_ROOTFS}/isar-apt
     sudo umount -R -l ${IMAGE_ROOTFS}/dev
     sudo umount -l ${IMAGE_ROOTFS}/proc
+    sudo umount -R -l ${IMAGE_ROOTFS}/sys
     sudo rm -f "${IMAGE_ROOTFS}/etc/apt/apt.conf.d/55isar-fallback.conf"
 }
 
diff --git a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
index dfd649e..3f7910f 100644
--- a/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
+++ b/meta/recipes-core/isar-bootstrap/isar-bootstrap.inc
@@ -185,6 +185,7 @@ isar_bootstrap() {
             if [ -e "${ROOTFSDIR}" ]; then
                umount -R -l "${ROOTFSDIR}/dev" || true
                umount -l "${ROOTFSDIR}/proc" || true
+               umount -R -l "${ROOTFSDIR}/sys" || true
                rm -rf "${ROOTFSDIR}"
             fi
             if [ ${IS_HOST} ]; then
@@ -246,6 +247,8 @@ isar_bootstrap() {
             mount --rbind /dev ${BUILDCHROOT_DIR}/dev
             mount --make-rslave ${BUILDCHROOT_DIR}/dev
             mount -t proc none ${ROOTFSDIR}/proc
+            mount --rbind /sys ${BUILDCHROOT_DIR}/sys
+            mount --make-rslave ${BUILDCHROOT_DIR}/sys
 
             export DEBIAN_FRONTEND=noninteractive
             chroot "${ROOTFSDIR}" /usr/bin/apt-get update -y
-- 
2.7.4


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v6 2/2] buildchroot: add sysfs mount since expected by some packages
  2018-11-20 12:40                         ` [PATCH v6 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
@ 2018-11-22 16:08                           ` chombourger
  0 siblings, 0 replies; 37+ messages in thread
From: chombourger @ 2018-11-22 16:08 UTC (permalink / raw)
  To: isar-users


[-- Attachment #1.1: Type: text/plain, Size: 46 bytes --]

Is the v6 series ready/ok for Maxim to merge?

[-- Attachment #1.2: Type: text/html, Size: 66 bytes --]

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v6 0/2] rbind mounts for /dev and /sys
  2018-11-20 12:40                       ` [PATCH v6 0/2] rbind mounts for /dev and /sys Cedric Hombourger
  2018-11-20 12:40                         ` [PATCH v6 1/2] buildchroot+bootstrap: rbind mount for /dev Cedric Hombourger
  2018-11-20 12:40                         ` [PATCH v6 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
@ 2018-11-23 14:13                         ` Maxim Yu. Osipov
  2018-11-27 14:45                         ` Maxim Yu. Osipov
  3 siblings, 0 replies; 37+ messages in thread
From: Maxim Yu. Osipov @ 2018-11-23 14:13 UTC (permalink / raw)
  To: Cedric Hombourger, isar-users

On 11/20/18 3:40 PM, Cedric Hombourger wrote:
> Some of the packages I have been rebuilding within Isar require /sys mounted.
> For instance, golang-google-grpc runs some package tests after it builds itself
> and reads properties from /sys/class/dmi.
> 
> The initial version of this patch series only added a mount of /sys. Henning
> then suggested that we follow Gentoo's guidelines for chroots. As such, this
> patch series is now mounting /dev and /sys as rbind mounts but leaves /proc
> as a regular procfs mount (like Gentoo does).
> 
> ChangeLog:
> 
> v6: remove unnecessary mkdir for /sys
> v5: cover letter added as suggested by Jan (private e-mail)
> v4: limit rbind mounts to /dev and /sys, leave /proc as a regular mount
> v3: rbind mounts for /dev, /proc and /sys, add explicit umount calls
> v2: create /sys directory
> v1: initial submission, simply mount /sys

Applied (finally!) to the 'next',

Thanks,
Maxim.

> Cedric Hombourger (2):
>    buildchroot+bootstrap: rbind mount for /dev
>    buildchroot: add sysfs mount since expected by some packages
> 
>   meta/classes/buildchroot.bbclass                    | 5 ++++-
>   meta/classes/image.bbclass                          | 3 ++-
>   meta/classes/isar-bootstrap-helper.bbclass          | 6 +++++-
>   meta/classes/isar-image.bbclass                     | 3 ++-
>   meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 8 ++++++--
>   5 files changed, 19 insertions(+), 6 deletions(-)
> 


-- 
Maxim Osipov
ilbers GmbH
Maria-Merian-Str. 8
85521 Ottobrunn
Germany
+49 (151) 6517 6917
mosipov@ilbers.de
http://ilbers.de/
Commercial register Munich, HRB 214197
General Manager: Baurzhan Ismagulov

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v6 0/2] rbind mounts for /dev and /sys
  2018-11-20 12:40                       ` [PATCH v6 0/2] rbind mounts for /dev and /sys Cedric Hombourger
                                           ` (2 preceding siblings ...)
  2018-11-23 14:13                         ` [PATCH v6 0/2] rbind mounts for /dev and /sys Maxim Yu. Osipov
@ 2018-11-27 14:45                         ` Maxim Yu. Osipov
  2018-11-27 14:48                           ` Hombourger, Cedric
  3 siblings, 1 reply; 37+ messages in thread
From: Maxim Yu. Osipov @ 2018-11-27 14:45 UTC (permalink / raw)
  To: Cedric Hombourger, isar-users

Hi Cedric,

After applying these patches I've recognized that after
running ci_build.sh script, the number of mounts significantly increases.

On my PC it looks like that

$ mount | wc -l
34
isar$ ./scripts/ci_build.sh -q -f
...
$ mount | wc -l
100

If I revert these patches the number of mount points
stays the same after running ci_build.sh script.

This behavior significantly affects CI -
builds start to fail. This is a blocking point for CI and if we don't 
find a quick solution I will have to revert these patches in 'next'.

Thanks,
Maxim.

On 11/20/18 3:40 PM, Cedric Hombourger wrote:
> Some of the packages I have been rebuilding within Isar require /sys mounted.
> For instance, golang-google-grpc runs some package tests after it builds itself
> and reads properties from /sys/class/dmi.
> 
> The initial version of this patch series only added a mount of /sys. Henning
> then suggested that we follow Gentoo's guidelines for chroots. As such, this
> patch series is now mounting /dev and /sys as rbind mounts but leaves /proc
> as a regular procfs mount (like Gentoo does).
> 
> ChangeLog:
> 
> v6: remove unnecessary mkdir for /sys
> v5: cover letter added as suggested by Jan (private e-mail)
> v4: limit rbind mounts to /dev and /sys, leave /proc as a regular mount
> v3: rbind mounts for /dev, /proc and /sys, add explicit umount calls
> v2: create /sys directory
> v1: initial submission, simply mount /sys
> 
> Cedric Hombourger (2):
>    buildchroot+bootstrap: rbind mount for /dev
>    buildchroot: add sysfs mount since expected by some packages
> 
>   meta/classes/buildchroot.bbclass                    | 5 ++++-
>   meta/classes/image.bbclass                          | 3 ++-
>   meta/classes/isar-bootstrap-helper.bbclass          | 6 +++++-
>   meta/classes/isar-image.bbclass                     | 3 ++-
>   meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 8 ++++++--
>   5 files changed, 19 insertions(+), 6 deletions(-)
> 


-- 
Maxim Osipov
ilbers GmbH
Maria-Merian-Str. 8
85521 Ottobrunn
Germany
+49 (151) 6517 6917
mosipov@ilbers.de
http://ilbers.de/
Commercial register Munich, HRB 214197
General Manager: Baurzhan Ismagulov

^ permalink raw reply	[flat|nested] 37+ messages in thread

* RE: [PATCH v6 0/2] rbind mounts for /dev and /sys
  2018-11-27 14:45                         ` Maxim Yu. Osipov
@ 2018-11-27 14:48                           ` Hombourger, Cedric
  2018-11-29  8:22                             ` Maxim Yu. Osipov
  2018-11-29  9:54                             ` Henning Schild
  0 siblings, 2 replies; 37+ messages in thread
From: Hombourger, Cedric @ 2018-11-27 14:48 UTC (permalink / raw)
  To: Maxim Yu. Osipov; +Cc: isar-users

Hi Maxim,

We may need to revert Henning's suggestion to rbind /sys and mount /sys as a regular mount (the chroot may not need all of the sub-mounts from /sys)
What do people think?

Cedric

-----Original Message-----
From: Maxim Yu. Osipov [mailto:mosipov@ilbers.de] 
Sent: Tuesday, November 27, 2018 5:45 PM
To: Hombourger, Cedric <Cedric_Hombourger@mentor.com>; isar-users@googlegroups.com
Subject: Re: [PATCH v6 0/2] rbind mounts for /dev and /sys

Hi Cedric,

After applying these patches I've recognized that after running ci_build.sh script, the number of mounts significantly increases.

On my PC it looks like that

$ mount | wc -l
34
isar$ ./scripts/ci_build.sh -q -f
...
$ mount | wc -l
100

If I revert these patches the number of mount points stays the same after running ci_build.sh script.

This behavior significantly affects CI - builds start to fail. This is a blocking point for CI and if we don't find a quick solution I will have to revert these patches in 'next'.

Thanks,
Maxim.

On 11/20/18 3:40 PM, Cedric Hombourger wrote:
> Some of the packages I have been rebuilding within Isar require /sys mounted.
> For instance, golang-google-grpc runs some package tests after it 
> builds itself and reads properties from /sys/class/dmi.
> 
> The initial version of this patch series only added a mount of /sys. 
> Henning then suggested that we follow Gentoo's guidelines for chroots. 
> As such, this patch series is now mounting /dev and /sys as rbind 
> mounts but leaves /proc as a regular procfs mount (like Gentoo does).
> 
> ChangeLog:
> 
> v6: remove unnecessary mkdir for /sys
> v5: cover letter added as suggested by Jan (private e-mail)
> v4: limit rbind mounts to /dev and /sys, leave /proc as a regular 
> mount
> v3: rbind mounts for /dev, /proc and /sys, add explicit umount calls
> v2: create /sys directory
> v1: initial submission, simply mount /sys
> 
> Cedric Hombourger (2):
>    buildchroot+bootstrap: rbind mount for /dev
>    buildchroot: add sysfs mount since expected by some packages
> 
>   meta/classes/buildchroot.bbclass                    | 5 ++++-
>   meta/classes/image.bbclass                          | 3 ++-
>   meta/classes/isar-bootstrap-helper.bbclass          | 6 +++++-
>   meta/classes/isar-image.bbclass                     | 3 ++-
>   meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 8 ++++++--
>   5 files changed, 19 insertions(+), 6 deletions(-)
> 


--
Maxim Osipov
ilbers GmbH
Maria-Merian-Str. 8
85521 Ottobrunn
Germany
+49 (151) 6517 6917
mosipov@ilbers.de
http://ilbers.de/
Commercial register Munich, HRB 214197
General Manager: Baurzhan Ismagulov

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v6 0/2] rbind mounts for /dev and /sys
  2018-11-27 14:48                           ` Hombourger, Cedric
@ 2018-11-29  8:22                             ` Maxim Yu. Osipov
  2018-11-29  8:28                               ` Hombourger, Cedric
  2018-11-29  9:54                             ` Henning Schild
  1 sibling, 1 reply; 37+ messages in thread
From: Maxim Yu. Osipov @ 2018-11-29  8:22 UTC (permalink / raw)
  To: Hombourger, Cedric; +Cc: isar-users

Hi Cedric,

On 11/27/18 5:48 PM, Hombourger, Cedric wrote:
> Hi Maxim,
> 
> We may need to revert Henning's suggestion to rbind /sys and mount /sys as a regular mount (the chroot may not need all of the sub-mounts from /sys)
> What do people think?

My apologies for late reply (was busy with other urgent topics).
Have you tested the version with regular mounts?

Kind regards,
Maxim.


> Cedric
> 
> -----Original Message-----
> From: Maxim Yu. Osipov [mailto:mosipov@ilbers.de]
> Sent: Tuesday, November 27, 2018 5:45 PM
> To: Hombourger, Cedric <Cedric_Hombourger@mentor.com>; isar-users@googlegroups.com
> Subject: Re: [PATCH v6 0/2] rbind mounts for /dev and /sys
> 
> Hi Cedric,
> 
> After applying these patches I've recognized that after running ci_build.sh script, the number of mounts significantly increases.
> 
> On my PC it looks like that
> 
> $ mount | wc -l
> 34
> isar$ ./scripts/ci_build.sh -q -f
> ...
> $ mount | wc -l
> 100
> 
> If I revert these patches the number of mount points stays the same after running ci_build.sh script.
> 
> This behavior significantly affects CI - builds start to fail. This is a blocking point for CI and if we don't find a quick solution I will have to revert these patches in 'next'.
> 
> Thanks,
> Maxim.
> 
> On 11/20/18 3:40 PM, Cedric Hombourger wrote:
>> Some of the packages I have been rebuilding within Isar require /sys mounted.
>> For instance, golang-google-grpc runs some package tests after it
>> builds itself and reads properties from /sys/class/dmi.
>>
>> The initial version of this patch series only added a mount of /sys.
>> Henning then suggested that we follow Gentoo's guidelines for chroots.
>> As such, this patch series is now mounting /dev and /sys as rbind
>> mounts but leaves /proc as a regular procfs mount (like Gentoo does).
>>
>> ChangeLog:
>>
>> v6: remove unnecessary mkdir for /sys
>> v5: cover letter added as suggested by Jan (private e-mail)
>> v4: limit rbind mounts to /dev and /sys, leave /proc as a regular
>> mount
>> v3: rbind mounts for /dev, /proc and /sys, add explicit umount calls
>> v2: create /sys directory
>> v1: initial submission, simply mount /sys
>>
>> Cedric Hombourger (2):
>>     buildchroot+bootstrap: rbind mount for /dev
>>     buildchroot: add sysfs mount since expected by some packages
>>
>>    meta/classes/buildchroot.bbclass                    | 5 ++++-
>>    meta/classes/image.bbclass                          | 3 ++-
>>    meta/classes/isar-bootstrap-helper.bbclass          | 6 +++++-
>>    meta/classes/isar-image.bbclass                     | 3 ++-
>>    meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 8 ++++++--
>>    5 files changed, 19 insertions(+), 6 deletions(-)
>>
> 
> 
> --
> Maxim Osipov
> ilbers GmbH
> Maria-Merian-Str. 8
> 85521 Ottobrunn
> Germany
> +49 (151) 6517 6917
> mosipov@ilbers.de
> http://ilbers.de/
> Commercial register Munich, HRB 214197
> General Manager: Baurzhan Ismagulov
> 


-- 
Maxim Osipov
ilbers GmbH
Maria-Merian-Str. 8
85521 Ottobrunn
Germany
+49 (151) 6517 6917
mosipov@ilbers.de
http://ilbers.de/
Commercial register Munich, HRB 214197
General Manager: Baurzhan Ismagulov

^ permalink raw reply	[flat|nested] 37+ messages in thread

* RE: [PATCH v6 0/2] rbind mounts for /dev and /sys
  2018-11-29  8:22                             ` Maxim Yu. Osipov
@ 2018-11-29  8:28                               ` Hombourger, Cedric
  2018-11-29  8:48                                 ` Maxim Yu. Osipov
  2018-11-29 10:00                                 ` Baurzhan Ismagulov
  0 siblings, 2 replies; 37+ messages in thread
From: Hombourger, Cedric @ 2018-11-29  8:28 UTC (permalink / raw)
  To: Maxim Yu. Osipov; +Cc: isar-users

Hi Maxim,

No worries - I was also busy here in St Petersburg because of an accident and now have a broken ankle :(
Yes I had tested with regular mounts (patch series v1/v2) and it worked just fine. I can submit a patch this week

Cedric

-----Original Message-----
From: Maxim Yu. Osipov [mailto:mosipov@ilbers.de] 
Sent: Thursday, November 29, 2018 11:23 AM
To: Hombourger, Cedric <Cedric_Hombourger@mentor.com>
Cc: isar-users@googlegroups.com
Subject: Re: [PATCH v6 0/2] rbind mounts for /dev and /sys

Hi Cedric,

On 11/27/18 5:48 PM, Hombourger, Cedric wrote:
> Hi Maxim,
> 
> We may need to revert Henning's suggestion to rbind /sys and mount 
> /sys as a regular mount (the chroot may not need all of the sub-mounts from /sys) What do people think?

My apologies for late reply (was busy with other urgent topics).
Have you tested the version with regular mounts?

Kind regards,
Maxim.


> Cedric
> 
> -----Original Message-----
> From: Maxim Yu. Osipov [mailto:mosipov@ilbers.de]
> Sent: Tuesday, November 27, 2018 5:45 PM
> To: Hombourger, Cedric <Cedric_Hombourger@mentor.com>; 
> isar-users@googlegroups.com
> Subject: Re: [PATCH v6 0/2] rbind mounts for /dev and /sys
> 
> Hi Cedric,
> 
> After applying these patches I've recognized that after running ci_build.sh script, the number of mounts significantly increases.
> 
> On my PC it looks like that
> 
> $ mount | wc -l
> 34
> isar$ ./scripts/ci_build.sh -q -f
> ...
> $ mount | wc -l
> 100
> 
> If I revert these patches the number of mount points stays the same after running ci_build.sh script.
> 
> This behavior significantly affects CI - builds start to fail. This is a blocking point for CI and if we don't find a quick solution I will have to revert these patches in 'next'.
> 
> Thanks,
> Maxim.
> 
> On 11/20/18 3:40 PM, Cedric Hombourger wrote:
>> Some of the packages I have been rebuilding within Isar require /sys mounted.
>> For instance, golang-google-grpc runs some package tests after it 
>> builds itself and reads properties from /sys/class/dmi.
>>
>> The initial version of this patch series only added a mount of /sys.
>> Henning then suggested that we follow Gentoo's guidelines for chroots.
>> As such, this patch series is now mounting /dev and /sys as rbind 
>> mounts but leaves /proc as a regular procfs mount (like Gentoo does).
>>
>> ChangeLog:
>>
>> v6: remove unnecessary mkdir for /sys
>> v5: cover letter added as suggested by Jan (private e-mail)
>> v4: limit rbind mounts to /dev and /sys, leave /proc as a regular 
>> mount
>> v3: rbind mounts for /dev, /proc and /sys, add explicit umount calls
>> v2: create /sys directory
>> v1: initial submission, simply mount /sys
>>
>> Cedric Hombourger (2):
>>     buildchroot+bootstrap: rbind mount for /dev
>>     buildchroot: add sysfs mount since expected by some packages
>>
>>    meta/classes/buildchroot.bbclass                    | 5 ++++-
>>    meta/classes/image.bbclass                          | 3 ++-
>>    meta/classes/isar-bootstrap-helper.bbclass          | 6 +++++-
>>    meta/classes/isar-image.bbclass                     | 3 ++-
>>    meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 8 ++++++--
>>    5 files changed, 19 insertions(+), 6 deletions(-)
>>
> 
> 
> --
> Maxim Osipov
> ilbers GmbH
> Maria-Merian-Str. 8
> 85521 Ottobrunn
> Germany
> +49 (151) 6517 6917
> mosipov@ilbers.de
> http://ilbers.de/
> Commercial register Munich, HRB 214197 General Manager: Baurzhan 
> Ismagulov
> 


--
Maxim Osipov
ilbers GmbH
Maria-Merian-Str. 8
85521 Ottobrunn
Germany
+49 (151) 6517 6917
mosipov@ilbers.de
http://ilbers.de/
Commercial register Munich, HRB 214197
General Manager: Baurzhan Ismagulov

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v6 0/2] rbind mounts for /dev and /sys
  2018-11-29  8:28                               ` Hombourger, Cedric
@ 2018-11-29  8:48                                 ` Maxim Yu. Osipov
  2018-11-29 10:00                                 ` Baurzhan Ismagulov
  1 sibling, 0 replies; 37+ messages in thread
From: Maxim Yu. Osipov @ 2018-11-29  8:48 UTC (permalink / raw)
  To: Hombourger, Cedric; +Cc: isar-users

Hi Cedric,

On 11/29/18 11:28 AM, Hombourger, Cedric wrote:
> Hi Maxim,
> 
> No worries - I was also busy here in St Petersburg because of an accident and now have a broken ankle :(

Sad to hear :(...
So you are the victim of Russian winter and you learned the Russian word 
'gololed' (iced surface)...

> Yes I had tested with regular mounts (patch series v1/v2) and it worked just fine. I can submit a patch this week

Yes, I've re-read the thread. My concern on v2 was to double check that 
all /sys are properly unmounted (this is a problem we experience in 'next').

I wish you to recover and take care,
Maxim.


> Cedric
> 
> -----Original Message-----
> From: Maxim Yu. Osipov [mailto:mosipov@ilbers.de]
> Sent: Thursday, November 29, 2018 11:23 AM
> To: Hombourger, Cedric <Cedric_Hombourger@mentor.com>
> Cc: isar-users@googlegroups.com
> Subject: Re: [PATCH v6 0/2] rbind mounts for /dev and /sys
> 
> Hi Cedric,
> 
> On 11/27/18 5:48 PM, Hombourger, Cedric wrote:
>> Hi Maxim,
>>
>> We may need to revert Henning's suggestion to rbind /sys and mount
>> /sys as a regular mount (the chroot may not need all of the sub-mounts from /sys) What do people think?
> 
> My apologies for late reply (was busy with other urgent topics).
> Have you tested the version with regular mounts?
> 
> Kind regards,
> Maxim.
> 
> 
>> Cedric
>>
>> -----Original Message-----
>> From: Maxim Yu. Osipov [mailto:mosipov@ilbers.de]
>> Sent: Tuesday, November 27, 2018 5:45 PM
>> To: Hombourger, Cedric <Cedric_Hombourger@mentor.com>;
>> isar-users@googlegroups.com
>> Subject: Re: [PATCH v6 0/2] rbind mounts for /dev and /sys
>>
>> Hi Cedric,
>>
>> After applying these patches I've recognized that after running ci_build.sh script, the number of mounts significantly increases.
>>
>> On my PC it looks like that
>>
>> $ mount | wc -l
>> 34
>> isar$ ./scripts/ci_build.sh -q -f
>> ...
>> $ mount | wc -l
>> 100
>>
>> If I revert these patches the number of mount points stays the same after running ci_build.sh script.
>>
>> This behavior significantly affects CI - builds start to fail. This is a blocking point for CI and if we don't find a quick solution I will have to revert these patches in 'next'.
>>
>> Thanks,
>> Maxim.
>>
>> On 11/20/18 3:40 PM, Cedric Hombourger wrote:
>>> Some of the packages I have been rebuilding within Isar require /sys mounted.
>>> For instance, golang-google-grpc runs some package tests after it
>>> builds itself and reads properties from /sys/class/dmi.
>>>
>>> The initial version of this patch series only added a mount of /sys.
>>> Henning then suggested that we follow Gentoo's guidelines for chroots.
>>> As such, this patch series is now mounting /dev and /sys as rbind
>>> mounts but leaves /proc as a regular procfs mount (like Gentoo does).
>>>
>>> ChangeLog:
>>>
>>> v6: remove unnecessary mkdir for /sys
>>> v5: cover letter added as suggested by Jan (private e-mail)
>>> v4: limit rbind mounts to /dev and /sys, leave /proc as a regular
>>> mount
>>> v3: rbind mounts for /dev, /proc and /sys, add explicit umount calls
>>> v2: create /sys directory
>>> v1: initial submission, simply mount /sys
>>>
>>> Cedric Hombourger (2):
>>>      buildchroot+bootstrap: rbind mount for /dev
>>>      buildchroot: add sysfs mount since expected by some packages
>>>
>>>     meta/classes/buildchroot.bbclass                    | 5 ++++-
>>>     meta/classes/image.bbclass                          | 3 ++-
>>>     meta/classes/isar-bootstrap-helper.bbclass          | 6 +++++-
>>>     meta/classes/isar-image.bbclass                     | 3 ++-
>>>     meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 8 ++++++--
>>>     5 files changed, 19 insertions(+), 6 deletions(-)
>>>
>>
>>
>> --
>> Maxim Osipov
>> ilbers GmbH
>> Maria-Merian-Str. 8
>> 85521 Ottobrunn
>> Germany
>> +49 (151) 6517 6917
>> mosipov@ilbers.de
>> http://ilbers.de/
>> Commercial register Munich, HRB 214197 General Manager: Baurzhan
>> Ismagulov
>>
> 
> 
> --
> Maxim Osipov
> ilbers GmbH
> Maria-Merian-Str. 8
> 85521 Ottobrunn
> Germany
> +49 (151) 6517 6917
> mosipov@ilbers.de
> http://ilbers.de/
> Commercial register Munich, HRB 214197
> General Manager: Baurzhan Ismagulov
> 


-- 
Maxim Osipov
ilbers GmbH
Maria-Merian-Str. 8
85521 Ottobrunn
Germany
+49 (151) 6517 6917
mosipov@ilbers.de
http://ilbers.de/
Commercial register Munich, HRB 214197
General Manager: Baurzhan Ismagulov

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v6 0/2] rbind mounts for /dev and /sys
  2018-11-27 14:48                           ` Hombourger, Cedric
  2018-11-29  8:22                             ` Maxim Yu. Osipov
@ 2018-11-29  9:54                             ` Henning Schild
  1 sibling, 0 replies; 37+ messages in thread
From: Henning Schild @ 2018-11-29  9:54 UTC (permalink / raw)
  To: Hombourger, Cedric; +Cc: Maxim Yu. Osipov, isar-users

Am Tue, 27 Nov 2018 14:48:37 +0000
schrieb "Hombourger, Cedric" <Cedric_Hombourger@mentor.com>:

> Hi Maxim,
> 
> We may need to revert Henning's suggestion to rbind /sys and
> mount /sys as a regular mount (the chroot may not need all of the
> sub-mounts from /sys) What do people think?

I already expected the umount not being able to clean up, but Cedric
tested that and made the umount recursive.
I guess it would be a good idea to understand what is going on, and why
those mounts do not get cleaned up. Maybe we still have a problem in
the umounting logic and mounting less will not fix but just hide it.

But we can also revert to mounting as little as needed and accept new
mounts on demand, just like we did for sys. However the demand for
something under sys would not be a big surprise and we might be talking
about that topic again soon ... or never. I do not know.

Henning

> Cedric
> 
> -----Original Message-----
> From: Maxim Yu. Osipov [mailto:mosipov@ilbers.de] 
> Sent: Tuesday, November 27, 2018 5:45 PM
> To: Hombourger, Cedric <Cedric_Hombourger@mentor.com>;
> isar-users@googlegroups.com Subject: Re: [PATCH v6 0/2] rbind mounts
> for /dev and /sys
> 
> Hi Cedric,
> 
> After applying these patches I've recognized that after running
> ci_build.sh script, the number of mounts significantly increases.
> 
> On my PC it looks like that
> 
> $ mount | wc -l
> 34
> isar$ ./scripts/ci_build.sh -q -f
> ...
> $ mount | wc -l
> 100
> 
> If I revert these patches the number of mount points stays the same
> after running ci_build.sh script.
> 
> This behavior significantly affects CI - builds start to fail. This
> is a blocking point for CI and if we don't find a quick solution I
> will have to revert these patches in 'next'.
> 
> Thanks,
> Maxim.
> 
> On 11/20/18 3:40 PM, Cedric Hombourger wrote:
> > Some of the packages I have been rebuilding within Isar
> > require /sys mounted. For instance, golang-google-grpc runs some
> > package tests after it builds itself and reads properties
> > from /sys/class/dmi.
> > 
> > The initial version of this patch series only added a mount
> > of /sys. Henning then suggested that we follow Gentoo's guidelines
> > for chroots. As such, this patch series is now mounting /dev
> > and /sys as rbind mounts but leaves /proc as a regular procfs mount
> > (like Gentoo does).
> > 
> > ChangeLog:
> > 
> > v6: remove unnecessary mkdir for /sys
> > v5: cover letter added as suggested by Jan (private e-mail)
> > v4: limit rbind mounts to /dev and /sys, leave /proc as a regular 
> > mount
> > v3: rbind mounts for /dev, /proc and /sys, add explicit umount calls
> > v2: create /sys directory
> > v1: initial submission, simply mount /sys
> > 
> > Cedric Hombourger (2):
> >    buildchroot+bootstrap: rbind mount for /dev
> >    buildchroot: add sysfs mount since expected by some packages
> > 
> >   meta/classes/buildchroot.bbclass                    | 5 ++++-
> >   meta/classes/image.bbclass                          | 3 ++-
> >   meta/classes/isar-bootstrap-helper.bbclass          | 6 +++++-
> >   meta/classes/isar-image.bbclass                     | 3 ++-
> >   meta/recipes-core/isar-bootstrap/isar-bootstrap.inc | 8 ++++++--
> >   5 files changed, 19 insertions(+), 6 deletions(-)
> >   
> 
> 
> --
> Maxim Osipov
> ilbers GmbH
> Maria-Merian-Str. 8
> 85521 Ottobrunn
> Germany
> +49 (151) 6517 6917
> mosipov@ilbers.de
> http://ilbers.de/
> Commercial register Munich, HRB 214197
> General Manager: Baurzhan Ismagulov
> 


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH v6 0/2] rbind mounts for /dev and /sys
  2018-11-29  8:28                               ` Hombourger, Cedric
  2018-11-29  8:48                                 ` Maxim Yu. Osipov
@ 2018-11-29 10:00                                 ` Baurzhan Ismagulov
  1 sibling, 0 replies; 37+ messages in thread
From: Baurzhan Ismagulov @ 2018-11-29 10:00 UTC (permalink / raw)
  To: isar-users

Hello Cedric,

On Thu, Nov 29, 2018 at 08:28:37AM +0000, Hombourger, Cedric wrote:
> No worries - I was also busy here in St Petersburg because of an accident and
> now have a broken ankle :(

Oh :( , get well soon!

With kind regards,
Baurzhan.

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2018-11-29 10:00 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-09 20:11 [PATCH] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
2018-11-10  7:15 ` [PATCH v2] " Cedric Hombourger
2018-11-12  9:31   ` Henning Schild
2018-11-13  4:59     ` [PATCH v3 1/2] buildchroot+bootstrap: use rbinds for /dev and /proc Cedric Hombourger
2018-11-13  4:59       ` [PATCH v3 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
2018-11-13 10:43         ` chombourger
2018-11-13 10:59           ` Jan Kiszka
2018-11-13 12:07         ` Henning Schild
2018-11-13 12:37           ` Hombourger, Cedric
2018-11-13 12:59             ` Jan Kiszka
2018-11-14  7:44         ` Henning Schild
2018-11-16 16:29           ` chombourger
2018-11-16 16:31             ` [PATCH v4 1/2] buildchroot+bootstrap: rbind mount for /dev Cedric Hombourger
2018-11-16 16:31               ` [PATCH v3 1/2] buildchroot+bootstrap: use rbinds for /dev and /proc Cedric Hombourger
2018-11-16 16:31               ` [PATCH v4 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
2018-11-17 14:56                 ` [PATCH v5 0/2] rbind mounts for /dev and /sys Cedric Hombourger
2018-11-17 14:56                   ` [PATCH v5 1/2] buildchroot+bootstrap: rbind mount for /dev Cedric Hombourger
2018-11-19  9:25                     ` Henning Schild
2018-11-20 12:36                       ` chombourger
2018-11-17 14:56                   ` [PATCH v5 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
2018-11-19  9:24                     ` Henning Schild
2018-11-20 12:40                       ` [PATCH v6 0/2] rbind mounts for /dev and /sys Cedric Hombourger
2018-11-20 12:40                         ` [PATCH v6 1/2] buildchroot+bootstrap: rbind mount for /dev Cedric Hombourger
2018-11-20 12:40                         ` [PATCH v6 2/2] buildchroot: add sysfs mount since expected by some packages Cedric Hombourger
2018-11-22 16:08                           ` chombourger
2018-11-23 14:13                         ` [PATCH v6 0/2] rbind mounts for /dev and /sys Maxim Yu. Osipov
2018-11-27 14:45                         ` Maxim Yu. Osipov
2018-11-27 14:48                           ` Hombourger, Cedric
2018-11-29  8:22                             ` Maxim Yu. Osipov
2018-11-29  8:28                               ` Hombourger, Cedric
2018-11-29  8:48                                 ` Maxim Yu. Osipov
2018-11-29 10:00                                 ` Baurzhan Ismagulov
2018-11-29  9:54                             ` Henning Schild
2018-11-19  9:27                   ` [PATCH v5 " Henning Schild
2018-11-19  9:30                     ` Hombourger, Cedric
2018-11-13 12:06       ` [PATCH v3 1/2] buildchroot+bootstrap: use rbinds for /dev and /proc Henning Schild
2018-11-12  9:46   ` [PATCH v2] buildchroot: add sysfs mount since expected by some packages Maxim Yu. Osipov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox