manager: update id translation language (#259)
Signed-off-by: RooGhz720 <rooghz720@gmail.com>
This commit is contained in:
@@ -41,6 +41,7 @@
|
|||||||
<string name="settings_system_rw_summary">restart perangkat setelah mengaktifkan fitur ini</string>
|
<string name="settings_system_rw_summary">restart perangkat setelah mengaktifkan fitur ini</string>
|
||||||
<string name="about">Tentang</string>
|
<string name="about">Tentang</string>
|
||||||
<string name="require_kernel_version_8">Membutuhkan KernelSU Versi 8+</string>
|
<string name="require_kernel_version_8">Membutuhkan KernelSU Versi 8+</string>
|
||||||
|
<string name="module_uninstall_confirm">Apakah anda yakin ingin menghapus module ini %s?</string>
|
||||||
<string name="module_uninstall_success">%s terhapus</string>
|
<string name="module_uninstall_success">%s terhapus</string>
|
||||||
<string name="module_uninstall_failed">Gagal untuk menghapus: %s</string>
|
<string name="module_uninstall_failed">Gagal untuk menghapus: %s</string>
|
||||||
<string name="module_version">Versi</string>
|
<string name="module_version">Versi</string>
|
||||||
|
|||||||
@@ -137,4 +137,85 @@ Anda harus menemukan empat fungsi dalam kernel source:
|
|||||||
3. vfs_read, usually in `fs/read_write.c`
|
3. vfs_read, usually in `fs/read_write.c`
|
||||||
4. vfs_statx, usually in `fs/stat.c`
|
4. vfs_statx, usually in `fs/stat.c`
|
||||||
|
|
||||||
|
Jika kernel anda tidak memiliki `vfs_statx`, maka gunakan `vfs_fstatat` alih-alih:
|
||||||
|
|
||||||
|
```diff
|
||||||
|
diff --git a/fs/stat.c b/fs/stat.c
|
||||||
|
index 068fdbcc9e26..5348b7bb9db2 100644
|
||||||
|
--- a/fs/stat.c
|
||||||
|
+++ b/fs/stat.c
|
||||||
|
@@ -87,6 +87,8 @@ int vfs_fstat(unsigned int fd, struct kstat *stat)
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL(vfs_fstat);
|
||||||
|
|
||||||
|
+extern int ksu_handle_stat(int *dfd, const char __user **filename_user, int *flags);
|
||||||
|
+
|
||||||
|
int vfs_fstatat(int dfd, const char __user *filename, struct kstat *stat,
|
||||||
|
int flag)
|
||||||
|
{
|
||||||
|
@@ -94,6 +96,8 @@ int vfs_fstatat(int dfd, const char __user *filename, struct kstat *stat,
|
||||||
|
int error = -EINVAL;
|
||||||
|
unsigned int lookup_flags = 0;
|
||||||
|
|
||||||
|
+ ksu_handle_stat(&dfd, &filename, &flag);
|
||||||
|
+
|
||||||
|
if ((flag & ~(AT_SYMLINK_NOFOLLOW | AT_NO_AUTOMOUNT |
|
||||||
|
AT_EMPTY_PATH)) != 0)
|
||||||
|
goto out;
|
||||||
|
```
|
||||||
|
|
||||||
|
Untuk kernel lebih awal dari 4.17, jika anda menemukan `do_faccessat`, hanya pergi ke definisi yang sama `faccessat` syscall dan tempatkan pemanggil di sini:
|
||||||
|
|
||||||
|
```diff
|
||||||
|
diff --git a/fs/open.c b/fs/open.c
|
||||||
|
index 2ff887661237..e758d7db7663 100644
|
||||||
|
--- a/fs/open.c
|
||||||
|
+++ b/fs/open.c
|
||||||
|
@@ -355,6 +355,9 @@ SYSCALL_DEFINE4(fallocate, int, fd, int, mode, loff_t, offset, loff_t, len)
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
|
+extern int ksu_handle_faccessat(int *dfd, const char __user **filename_user, int *mode,
|
||||||
|
+ int *flags);
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* access() needs to use the real uid/gid, not the effective uid/gid.
|
||||||
|
* We do this by temporarily clearing all FS-related capabilities and
|
||||||
|
@@ -370,6 +373,8 @@ SYSCALL_DEFINE3(faccessat, int, dfd, const char __user *, filename, int, mode)
|
||||||
|
int res;
|
||||||
|
unsigned int lookup_flags = LOOKUP_FOLLOW;
|
||||||
|
|
||||||
|
+ ksu_handle_faccessat(&dfd, &filename, &mode, NULL);
|
||||||
|
+
|
||||||
|
if (mode & ~S_IRWXO) /* where's F_OK, X_OK, W_OK, R_OK? */
|
||||||
|
return -EINVAL;
|
||||||
|
```
|
||||||
|
|
||||||
|
To enable KernelSU's builtin SafeMode, You should also modify `input_handle_event` in `drivers/input/input.c`:
|
||||||
|
|
||||||
|
:::tip
|
||||||
|
Fitur ini sangat direkomendasikan, serta sangat membantu untuk memulihkan pada saat bootloop!
|
||||||
|
:::
|
||||||
|
|
||||||
|
```diff
|
||||||
|
diff --git a/drivers/input/input.c b/drivers/input/input.c
|
||||||
|
index 45306f9ef247..815091ebfca4 100755
|
||||||
|
--- a/drivers/input/input.c
|
||||||
|
+++ b/drivers/input/input.c
|
||||||
|
@@ -367,10 +367,13 @@ static int input_get_disposition(struct input_dev *dev,
|
||||||
|
return disposition;
|
||||||
|
}
|
||||||
|
|
||||||
|
+extern int ksu_handle_input_handle_event(unsigned int *type, unsigned int *code, int *value);
|
||||||
|
+
|
||||||
|
static void input_handle_event(struct input_dev *dev,
|
||||||
|
unsigned int type, unsigned int code, int value)
|
||||||
|
{
|
||||||
|
int disposition = input_get_disposition(dev, type, code, &value);
|
||||||
|
+ ksu_handle_input_handle_event(&type, &code, &value);
|
||||||
|
|
||||||
|
if (disposition != INPUT_IGNORE_EVENT && type != EV_SYN)
|
||||||
|
add_input_randomness(type, code, value);
|
||||||
|
```
|
||||||
|
|
||||||
Terakhir, edit `KernelSU/kernel/ksu.c` dan beri komentar pada `enable_sucompat()` lalu build kernel Anda lagi, KernelSU akan bekerja dengan baik.
|
Terakhir, edit `KernelSU/kernel/ksu.c` dan beri komentar pada `enable_sucompat()` lalu build kernel Anda lagi, KernelSU akan bekerja dengan baik.
|
||||||
|
|||||||
@@ -2,12 +2,10 @@
|
|||||||
|
|
||||||
:::peringatan
|
:::peringatan
|
||||||
di halaman ini, terdapat kernel untuk perangkat non-GKI yang mendukung KernelSU yang dikelola oleh pengembang lain.
|
di halaman ini, terdapat kernel untuk perangkat non-GKI yang mendukung KernelSU yang dikelola oleh pengembang lain.
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
:::peringatan
|
:::peringatan
|
||||||
Halaman ini hanya untuk Anda yang ingin menemukan kode sumber yang sesuai dengan perangkat Anda, itu **BUKAN** berarti kode sumber telah ditinjau oleh _KernelSU Developers_. Anda harus menggunakannya dengan risiko Anda sendiri.
|
Halaman ini hanya untuk Anda yang ingin menemukan kode sumber yang sesuai dengan perangkat Anda, itu **BUKAN** berarti kode sumber telah ditinjau oleh _KernelSU Developers_. Anda harus menggunakannya dengan risiko Anda sendiri.
|
||||||
|
|
||||||
:::
|
:::
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
|
|||||||
Reference in New Issue
Block a user