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 <jarek1...@gmail.com>

---

Index: package/block-mount/files/50_determine_usb_root
===================================================================
--- package/block-mount/files/50_determine_usb_root     (wersja 32004)
+++ package/block-mount/files/50_determine_usb_root     (kopia robocza)
@@ -9,6 +9,8 @@
        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 @@
                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 @@
                }
        }
        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
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to