From 02dbb7d0f7f27b0e45c35a65a53b474c677da4cf Mon Sep 17 00:00:00 2001 From: rifsxd Date: Wed, 2 Apr 2025 15:12:44 +0600 Subject: [PATCH] ksud: added module mount command to check current mount system enabled --- userspace/ksud_magic/src/cli.rs | 4 ++++ userspace/ksud_magic/src/defs.rs | 2 ++ userspace/ksud_magic/src/module.rs | 6 ++++++ userspace/ksud_overlayfs/src/cli.rs | 5 +++++ userspace/ksud_overlayfs/src/defs.rs | 2 ++ userspace/ksud_overlayfs/src/module.rs | 8 ++++++++ 6 files changed, 27 insertions(+) diff --git a/userspace/ksud_magic/src/cli.rs b/userspace/ksud_magic/src/cli.rs index 43b2f978..40000279 100644 --- a/userspace/ksud_magic/src/cli.rs +++ b/userspace/ksud_magic/src/cli.rs @@ -228,6 +228,9 @@ enum Module { id: String, }, + /// current mount system + Mount, + /// list all modules List, } @@ -313,6 +316,7 @@ pub fn run() -> Result<()> { Module::Enable { id } => module::enable_module(&id), Module::Disable { id } => module::disable_module(&id), Module::Action { id } => module::run_action(&id), + Module::Mount => module::mount_system(), Module::List => module::list_modules(), } } diff --git a/userspace/ksud_magic/src/defs.rs b/userspace/ksud_magic/src/defs.rs index 976a4d63..95633257 100644 --- a/userspace/ksud_magic/src/defs.rs +++ b/userspace/ksud_magic/src/defs.rs @@ -42,3 +42,5 @@ pub const BACKUP_FILENAME: &str = "stock_image.sha1"; pub const NO_TMPFS_PATH: &str = concatcp!(WORKING_DIR, ".notmpfs"); pub const NO_MOUNT_PATH: &str = concatcp!(WORKING_DIR, ".nomount"); + +pub const MOUNT_SYSTEM: &str = "Magic_Mount"; diff --git a/userspace/ksud_magic/src/module.rs b/userspace/ksud_magic/src/module.rs index 40f3f002..f95e10b5 100644 --- a/userspace/ksud_magic/src/module.rs +++ b/userspace/ksud_magic/src/module.rs @@ -493,6 +493,12 @@ fn _list_modules(path: &str) -> Vec> { modules } +pub fn mount_system() -> Result<()> { + println!("Current mount system: {}", defs::MOUNT_SYSTEM); + + Ok(()) +} + pub fn list_modules() -> Result<()> { let modules = _list_modules(defs::MODULE_DIR); println!("{}", serde_json::to_string_pretty(&modules)?); diff --git a/userspace/ksud_overlayfs/src/cli.rs b/userspace/ksud_overlayfs/src/cli.rs index f44e6947..159c5a4e 100644 --- a/userspace/ksud_overlayfs/src/cli.rs +++ b/userspace/ksud_overlayfs/src/cli.rs @@ -235,6 +235,10 @@ enum Module { id: String, }, + + /// current mount system + Mount, + /// list all modules List, @@ -319,6 +323,7 @@ pub fn run() -> Result<()> { Module::Enable { id } => module::enable_module(&id), Module::Disable { id } => module::disable_module(&id), Module::Action { id } => module::run_action(&id), + Module::Mount => module::mount_system(), Module::List => module::list_modules(), Module::Shrink => module::shrink_ksu_images(), } diff --git a/userspace/ksud_overlayfs/src/defs.rs b/userspace/ksud_overlayfs/src/defs.rs index ae9dfaa5..5c872382 100644 --- a/userspace/ksud_overlayfs/src/defs.rs +++ b/userspace/ksud_overlayfs/src/defs.rs @@ -44,3 +44,5 @@ pub const VERSION_NAME: &str = include_str!(concat!(env!("OUT_DIR"), "/VERSION_N pub const KSU_BACKUP_DIR: &str = WORKING_DIR; pub const KSU_BACKUP_FILE_PREFIX: &str = "ksu_backup_"; pub const BACKUP_FILENAME: &str = "stock_image.sha1"; + +pub const MOUNT_SYSTEM: &str = "OverlayFS"; diff --git a/userspace/ksud_overlayfs/src/module.rs b/userspace/ksud_overlayfs/src/module.rs index e6cbbb18..d60f7c34 100644 --- a/userspace/ksud_overlayfs/src/module.rs +++ b/userspace/ksud_overlayfs/src/module.rs @@ -61,6 +61,7 @@ fn exec_install_script(module_file: &str) -> Result<()> { .env("KSU_VER_CODE", defs::VERSION_CODE) .env("OUTFD", "1") .env("ZIPFILE", realpath) + .env("KSU_OVERLAYFS", "true") .status()?; ensure!(result.success(), "Failed to install module script"); Ok(()) @@ -185,6 +186,7 @@ fn exec_script>(path: T, wait: bool) -> Result<()> { .env("KSU_KERNEL_VER_CODE", ksucalls::get_version().to_string()) .env("KSU_VER_CODE", defs::VERSION_CODE) .env("KSU_VER", defs::VERSION_NAME) + .env("KSU_OVERLAYFS", "true") .env( "PATH", format!( @@ -789,6 +791,12 @@ fn _list_modules(path: &str) -> Vec> { modules } +pub fn mount_system() -> Result<()> { + println!("Current mount system: {}", defs::MOUNT_SYSTEM); + + Ok(()) +} + pub fn list_modules() -> Result<()> { let modules = _list_modules(defs::MODULE_DIR); println!("{}", serde_json::to_string_pretty(&modules)?);