diff --git a/bin/xbps-uchroot/main.c b/bin/xbps-uchroot/main.c index 501e2223..a81a4ba6 100644 --- a/bin/xbps-uchroot/main.c +++ b/bin/xbps-uchroot/main.c @@ -275,8 +275,10 @@ main(int argc, char **argv) /* mount /proc */ snprintf(mountdir, sizeof(mountdir), "%s/proc", chrootdir); - if (mount("proc", mountdir, "proc", MS_MGC_VAL|MS_PRIVATE, NULL) == -1) - die("Failed to mount %s", mountdir); + if (mount("proc", mountdir, "proc", MS_MGC_VAL|MS_PRIVATE, NULL) == -1) { + /* try bind mount */ + bindmount(ruid, chrootdir, "/proc", NULL); + } /* bind mount /sys */ bindmount(ruid, chrootdir, "/sys", NULL);