aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2012-07-01 11:06:32 +0000
committerJo-Philipp Wich <jow@openwrt.org>2012-07-01 11:06:32 +0000
commit6e419fbdeb4bb65d61f86a28ac0fbdfa40e03091 (patch)
tree36fad1a6aee96433534a7177cca5049fe33f33fc
parent5d3f21904f37f718dcef7aa8d2d664f1bb76ed6a (diff)
downloadupstream-6e419fbdeb4bb65d61f86a28ac0fbdfa40e03091.tar.gz
upstream-6e419fbdeb4bb65d61f86a28ac0fbdfa40e03091.tar.bz2
upstream-6e419fbdeb4bb65d61f86a28ac0fbdfa40e03091.zip
Fix extroot by UUID
Extroot works fine when the target device is specified by a path. It fails however if the device is specified by UUID (the target partition gets mounted much later by hotplug hooks). This is because the blkid command is no longer compiled into BusyBox (since changeset [1]) so it's unavailable for the preinit phase. The closest bug report I was able to find is [2], although the reporting person mentions that /tmp/overlay-disabled showed up which wasn't there in my case. This patch sets PATH and LD_LIBRARY_PATH environment variables so that the blkid command installed on the target device can be used by that particular preinit script. [1] https://dev.openwrt.org/changeset/26245 [2] https://dev.openwrt.org/ticket/10653 Signed-off-by: Jaroslaw Swierczynski <jarek1701@gmail.com> SVN-Revision: 32567
-rw-r--r--package/block-mount/files/50_determine_usb_root8
1 files changed, 8 insertions, 0 deletions
diff --git a/package/block-mount/files/50_determine_usb_root b/package/block-mount/files/50_determine_usb_root
index 8c5841e32b..d398062664 100644
--- a/package/block-mount/files/50_determine_usb_root
+++ b/package/block-mount/files/50_determine_usb_root
@@ -9,6 +9,8 @@ determine_external_root() {
pi_include /lib/functions/mount.sh
local OLD_UCI_CONFIG_DIR="$UCI_CONFIG_DIR"
+ local OLD_PATH="$PATH"
+ local OLD_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
set_jffs_mp
determine_root_device
@@ -19,6 +21,9 @@ determine_external_root() {
UCI_CONFIG_DIR="/tmp/overlay/etc/config"
ER_IS_SQUASHFS=true
ER_OVERLAY_PREFIX="/tmp/overlay"
+ PATH=$ER_OVERLAY_PREFIX/sbin:$PATH
+ LD_LIBRARY_PATH=$ER_OVERLAY_PREFIX/usr/lib:$LD_LIBRARY_PATH
+ export PATH LD_LIBRARY_PATH
fi
# For squashfs on firstboot root_device will be tmpfs for the ramoverlay,
@@ -51,6 +56,9 @@ determine_external_root() {
}
}
UCI_CONFIG_DIR="$OLD_UCI_CONFIG_DIR"
+ PATH="$OLD_PATH"
+ LD_LIBRARY_PATH="$OLD_LD_LIBRARY_PATH"
+ export PATH LD_LIBRARY_PATH
}
boot_hook_add preinit_mount_root determine_external_root