[ostree] image: Add /sysroot as a toplevel bind mount to the real root
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ostree] image: Add /sysroot as a toplevel bind mount to the real root
- Date: Thu, 27 Oct 2011 21:01:10 +0000 (UTC)
commit d145b0426cde87eaa2efcbee870cde73480714ad
Author: Colin Walters <walters verbum org>
Date: Thu Oct 27 16:59:01 2011 -0400
image: Add /sysroot as a toplevel bind mount to the real root
This allows tools to see and operate on the "real" root conveniently;
for example, ostree clearly needs to operate on /ostree/repo.
parallel-debian/gnomeos-make-image.sh | 6 ++++--
parallel-debian/gnomeos-run.sh | 2 +-
parallel-debian/ostree_switch_root.c | 6 ++++++
3 files changed, 11 insertions(+), 3 deletions(-)
---
diff --git a/parallel-debian/gnomeos-make-image.sh b/parallel-debian/gnomeos-make-image.sh
index a159143..de3c30a 100755
--- a/parallel-debian/gnomeos-make-image.sh
+++ b/parallel-debian/gnomeos-make-image.sh
@@ -144,8 +144,10 @@ if ! test -d ${OBJ}; then
rm ostree/gnomeos-origin/debian-setup.sh
(cd ostree/gnomeos-origin; find . '!' -type p | grep -v '^.$' | $OSTREE commit -s 'Run debian-setup.sh' --repo=../repo --from-stdin)
- cp -p ${SRCDIR}/chroot_break ostree/gnomeos-origin/sbin/chroot_break
- (cd ostree/gnomeos-origin; $OSTREE commit -s 'Add chroot_break' --repo=../repo --add=sbin/chroot_break)
+ # This is the name for the real rootfs, not the chroot
+ (cd ostree/gnomeos-origin;
+ mkdir sysroot;
+ $OSTREE commit -s 'Add sysroot' --repo=../repo --add=sysroot)
(cd ostree;
rev=$($OSTREE rev-parse --repo=repo master)
diff --git a/parallel-debian/gnomeos-run.sh b/parallel-debian/gnomeos-run.sh
index cb41791..9d17ba2 100755
--- a/parallel-debian/gnomeos-run.sh
+++ b/parallel-debian/gnomeos-run.sh
@@ -45,4 +45,4 @@ fi
kv=`uname -r`
kernel=/boot/vmlinuz-${kv}
-exec qemu-kvm -kernel ${kernel} -initrd gnomeos-initrd.img -hda gnomeos-fs.img -append "root=/dev/sda ostree=current"
+exec qemu-kvm -kernel ${kernel} -initrd gnomeos-initrd.img -hda gnomeos-fs.img -append "root=/dev/sda ostree=current $1"
diff --git a/parallel-debian/ostree_switch_root.c b/parallel-debian/ostree_switch_root.c
index fb750f2..d3e82b1 100644
--- a/parallel-debian/ostree_switch_root.c
+++ b/parallel-debian/ostree_switch_root.c
@@ -219,6 +219,12 @@ static int switchroot(const char *newroot, const char *subroot)
}
}
+ snprintf(destpath, sizeof(destpath), "%s/sysroot", subroot_path);
+ if (mount(newroot, destpath, NULL, MS_BIND, NULL) < 0) {
+ perrorv("Failed bind mount sysroot");
+ return -1;
+ }
+
if (chdir(newroot)) {
perrorv("failed to change directory to %s", newroot);
return -1;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]