aboutsummaryrefslogtreecommitdiffstats
path: root/package/block-mount/files/60_pivot_usb_root
diff options
context:
space:
mode:
authorDaniel Dickinson <crazycshore@gmail.com>2011-03-27 06:40:51 +0000
committerDaniel Dickinson <crazycshore@gmail.com>2011-03-27 06:40:51 +0000
commit7f8fb5cb78a9964bcf2e5fc5305c25dec36304ad (patch)
tree9d3a4dcab1c3c93f1d53f7caeb24cc301c7eed66 /package/block-mount/files/60_pivot_usb_root
parent657d0a265cb180490ffe40777586d347a59498b3 (diff)
downloadupstream-7f8fb5cb78a9964bcf2e5fc5305c25dec36304ad.tar.gz
upstream-7f8fb5cb78a9964bcf2e5fc5305c25dec36304ad.tar.bz2
upstream-7f8fb5cb78a9964bcf2e5fc5305c25dec36304ad.zip
block-mount: Merged block-mount, block-extroot, and block-hotplug into a single binary package called block-mount.
SVN-Revision: 26314
Diffstat (limited to 'package/block-mount/files/60_pivot_usb_root')
-rw-r--r--package/block-mount/files/60_pivot_usb_root27
1 files changed, 27 insertions, 0 deletions
diff --git a/package/block-mount/files/60_pivot_usb_root b/package/block-mount/files/60_pivot_usb_root
new file mode 100644
index 0000000000..b610a4ade1
--- /dev/null
+++ b/package/block-mount/files/60_pivot_usb_root
@@ -0,0 +1,27 @@
+#!/bin/sh
+# Copyright (C) 2010 Vertical Communications
+
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+
+# Determine if we are requested to mount external root
+
+external_root_pivot() {
+ check_skip || [ "$pi_extroot_mount_success" != "true" ] || {
+ echo "switching to external rootfs"
+ if [ "$ER_OVERLAY_ROM" = "/overlay" ]; then
+ if [ "$ER_IS_SQUASHFS" = "true" ]; then
+ umount /tmp/overlay
+ fi
+ mount -o remount,ro / && fopivot /overlay /rom && pi_mount_skip_next=true
+ elif [ "$ER_OVERLAY_ROM" = "/rom" ]; then
+ if [ "$ER_IS_SQUASHFS" = "true" ]; then
+ umount /tmp/overlay
+ fi
+ mount -o remount,ro / && pivot_rom /rom /rom && pi_mount_skip_next=true
+ fi
+ }
+}
+
+boot_hook_add preinit_mount_root external_root_pivot
+