ksud/installer: /odm handling

we move the folder out of system if it exists in real filesystem and it
is not a symlink.
this is already supported on init_event.rs so only handle_partition
logic was needed to make it happen

since KernelSU is using overlayfs, we need to move these out.

Signed-off-by: backslashxx
<118538522+backslashxx@users.noreply.github.com>

---------

Signed-off-by: backslashxx <118538522+backslashxx@users.noreply.github.com>
This commit is contained in:
backslashxx
2025-05-18 03:42:32 +06:00
committed by Rifat Azad
parent 217d230b61
commit 9e150b2c44
3 changed files with 5 additions and 2 deletions

View File

@@ -392,7 +392,7 @@ install_module() {
handle_partition vendor true
handle_partition system_ext true
handle_partition product true
handle_partition odm false
handle_partition odm true
# Handle replace folders
for TARGET in $REPLACE; do

View File

@@ -309,7 +309,8 @@ handle_partition() {
return;
fi
if [ -L "/system/$1" ] && [ "$(readlink -f /system/$1)" = "/$1" ]; then
# we move the folder to / only if it is a native folder that is not a symlink
if [ -d "/$1" ] && [ ! -L "/$1" ]; then
ui_print "- Handle partition /$1"
# we create a symlink if module want to access $MODPATH/system/$1
# but it doesn't always work(ie. write it in post-fs-data.sh would fail because it is readonly)
@@ -406,6 +407,7 @@ install_module() {
handle_partition vendor
handle_partition system_ext
handle_partition product
handle_partition odm
if $BOOTMODE; then
mktouch $NVBASE/modules/$MODID/update