I am trying to root the PMP3084 using Linux.
I found this thread about the device.
Directly on the first page #post404 is quotet as "cooking under linux".
But the links given in this post are down.
My Questions:
- Is there a change that they might be updatet?
- Can you name tools (besindes kitchen) that might be usefull and work in Linux?
- Is anyone interested in setting up a Linux-Tutorial?
Thanx in advance
tm_h
Have you tried rooting it with a tool like
z4root?
Yes,
I tried z4root.
I also tried UniversalAndroot.
z4root states that there is a temporarily root access granted, but obviously, it is not.
The filesystem remains read only.
On the device I am using the terminal emulator and the OpenFileManger from the fdroid repositories.
After typing "su" in the terminal, a # indicates that the user should be "root", but still it is not pissble to rename a file in the root or system folder.
I tried to (re)mount the filesystem rw, but without success.
I can access the device via adb and, more conveniant, through Qtabd.
The resulst are the same and Qtadb states "adbd cannot run as root in production builds".
(The files are shown but likewise ro)
Currently I am using the latest firmware provided by prestigio (updated with the rkandroidbatchupdate).
So I am wondering if it is possible to dump, unpack and repack this firmware in a way that it is not recognized as a produciton build.
If anyone knows how to do that - it would be a great help!
The RKcooking tools in the thread (post#3) mentionend above won't work under linux - wine hangs.
Best
tm_h
My primary goal was to build exfat and ntfs-3g for x86, for my Lenovo Yoga Tablet 2 830L, but I've resulted with a project that can be built for any platform, using only Android NDK, even under Windows/Cygwin. Also I've ended up with a mount script, which was not a trivial task. I thought it might be useful for other devices, or other developers. The project is here:
https://github.com/Lurker00/Android-fs
The pre-built binaries for ARM and x86, along with a mounting script, are here:
https://github.com/Lurker00/Android-fs/releases
So, if your device is running Android KitKat, it misses exFAT and/or NTFS support, and you have rooted it, you may try... I said, KitKat, because I have no idea how these things are working in Lollipop and later, and I don't believe there is any interest in earlier versions.
If you have any suggestions on how it can be improved, you are much appreciated
Very nice, I'll try with Lollipop and get back to you.
I've created a CWM/TWRP installation zip, with pre-built binaries for most of platforms, including 64-bit. It is also there:
https://github.com/Lurker00/Android-fs/releases
It still requires root and SuperSU already installed.
I've updated the drivers to version 1.0.2:
1. One more supolicy rule added to the mounting script. Without it, unmount from Android Settings didn't work.
I didn't put per-platform binaries this time, because the recovery zip contains them all.
I'm sorry for so frequent updates, but
exFAT/NTFS fuse drivers binaries for Android v1.0.3
The problem is that the original exFAT driver was designed to update the file system only at unmount events, but the current Android never unmounts microSD mounted not by Android's vold process Meaning, file system corruption may happen on a reboot or power off.
Version 1.0.2 partially addresses that issue, and is stable enough. Only freshly created directories can be damaged by a reboot, and only if there were no any file operations after that, i.e. a rare case. Version 1.0.3 ensures that the file system is kept consistent almost always. It can be damaged only by removing microSD card during write operation.
Nevertheless, I plan to make at least one more release, to keep microSD clean, when there are no pending writes. Also, I'd try to improve the write performance compared to 1.0.3, without a penalty of the file system consistency.
I just have released
exFAT/NTFS fuse drivers binaries for Android v1.0.4
and I can say I'm quite satisfied with both performance and robustness of the resulting exFAT driver (no changes were made to ntfs-3g). So, I believe, it is the final build for a while.
Lurker0 said:
I just have released
exFAT/NTFS fuse drivers binaries for Android v1.0.4
and I can say I'm quite satisfied with both performance and robustness of the resulting exFAT driver (no changes were made to ntfs-3g). So, I believe, it is the final build for a while.
Click to expand...
Click to collapse
When I mount an external with exfat I get "Permission denied" for any writing op...it's totally r/o. Running as root
Code:
mount.exfat -o rw,umask=000 /dev/block/sda1 /system/test
Thanks for any help...currently stumped.
Do you try to write also as root? If you don't, the reason can be CELinux restrictions.
setenforce 0 fixed me up. Thanks for the reply!
(and for the binaries)
Work
Hi,
I'm trying to use your drivers on my Chuwi Vi8 Intel based tablet but i have an error message in the log :
Error: SECONDARY_STORAGE is not set. Don\'t know where to mount!
I tried to take a look at the shell script but my memory is too confused about sh to understand what is done.
Can you help me to fix this ?
I installed your drivers using the zip file and modified the logfile variable to enable log.
PrinceGITS said:
Hi,
I'm trying to use your drivers on my Chuwi Vi8 Intel based tablet but i have an error message in the log :
Error: SECONDARY_STORAGE is not set. Don\'t know where to mount!
I tried to take a look at the shell script but my memory is too confused about sh to understand what is done.
Can you help me to fix this ?
I installed your drivers using the zip file and modified the logfile variable to enable log.
Click to expand...
Click to collapse
Hello,
I have the same problem here, and the same kind of device. Can I set the path manually, instead of using the environment variable?
asteck said:
I have the same problem here, and the same kind of device. Can I set the path manually, instead of using the environment variable?
Click to expand...
Click to collapse
Of course, you can!
asteck said:
Hello,
I have the same problem here, and the same kind of device. Can I set the path manually, instead of using the environment variable?
Click to expand...
Click to collapse
Hey there, meanwhile I had some time, and figured it out. I can give the path manually in the script. I modified it that if it not find the system variable SECONDARY_STORAGE, then it uses the path what Chuwi Vi8 use(/storage/sdcard1), and it is working with my Chuwi Vi8!
I attached the modified script.
!!!USE IT ONLY WITH CHUWI Vi8 dual boot windows8.1/android4.4!!!
Lurker0 said:
Of course, you can!
Click to expand...
Click to collapse
And ready!
Thank you very much for your work!
asteck said:
Hey there, meanwhile I had some time, and figured it out. I can give the path manually in the script. I modified it that if it not find the system variable SECONDARY_STORAGE, then it uses the path what Chuwi Vi8 use(/storage/sdcard1), and it is working with my Chuwi Vi8!
I attached the modified script.
!!!USE IT ONLY WITH CHUWI Vi8 dual boot windows8.1/android4.4!!!
Click to expand...
Click to collapse
Thanks ! :highfive:
I didn't had time to check this thread since last year ( ).
I'll update with your shell script this evening.
Thanks again for your help.
And thanks Luker0 for your driver.
It will ease the use of my SDcard between Android and Windows.
PrinceGITS said:
Thanks ! :highfive:
I didn't had time to check this thread since last year ( ).
I'll update with your shell script this evening.
Thanks again for your help.
And thanks Luker0 for your driver.
It will ease the use of my SDcard between Android and Windows.
Click to expand...
Click to collapse
But keep in mind, sdCard handling is not perfect in Chuwi Vi8. When you switch from android to windows, somehow the android keeps the sd-reader locked. That is why you can't use it in windows. If you make a turn off-turn on (not simple restart) in windows, then you can use the sdcard again. From windows to android it works perfectly, only from android to windows is problematic.
Sorry for the slight off topic in this thread, this is the chuwi vi8 thread:
http://forum.xda-developers.com/android/general/chuwi-vi8-review-cheap-z3735f-8-tablet-t3066807
asteck said:
But keep in mind, sdCard handling is not perfect in Chuwi Vi8. When you switch from android to windows, somehow the android keeps the sd-reader locked. That is why you can't use it in windows. If you make a turn off-turn on (not simple restart) in windows, then you can use the sdcard again. From windows to android it works perfectly, only from android to windows is problematic.
Sorry for the slight off topic in this thread, this is the chuwi vi8 thread:
http://forum.xda-developers.com/android/general/chuwi-vi8-review-cheap-z3735f-8-tablet-t3066807
Click to expand...
Click to collapse
I know this problem and had it several times.
I think I'll unmount the SDcard in Android before switching to Windows.
I tried last evening but it didn't work.
asteck, I looked at your script and I have a question.
Why do you add the variable in the "if...then" ?
Code:
if [ x$SECONDARY_STORAGE == x ]; then
echo "Error: SECONDARY_STORAGE is not set. Don\'t know where to mount!" >> $logfile
#exit 1
secstor=/storage/sdcard1
fi
I think this can be done outside the condition.
I didn't haave enough time to make some checks, I'll try to execute the script from a terminal with echo messages to understand where it doesn't work.
PrinceGITS said:
I tried last evening but it didn't work.
asteck, I looked at your script and I have a question.
Why do you add the variable in the "if...then" ?
Code:
if [ x$SECONDARY_STORAGE == x ]; then
echo "Error: SECONDARY_STORAGE is not set. Don\'t know where to mount!" >> $logfile
#exit 1
secstor=/storage/sdcard1
fi
I think this can be done outside the condition.
I didn't haave enough time to make some checks, I'll try to execute the script from a terminal with echo messages to understand where it doesn't work.
Click to expand...
Click to collapse
Yes, you can put it outside. My mistake. I think I put it there to execute only if there is no SECONDARY_STORAGE system variable, but if there is one, then it is fails now, because the variable don't get a value. It was a quick resolution for the exact problem.
However, to solve you problem maybe you should just change the path "/storage/sdcard1". You can check the right path by putting a FAT32 sdcard in it, and see where it mounts in a file explorer. My Chuwi Vi8 mounts to here, that is why I use this path.
I attached again with an else statement for use SECONDARY_STORAGE if exist, and the log is turned off.
Hello,
I am trying to recover from a softbrick issue. I have a BLU Studio C 5+5 LTE and therefore can't use TWRP or CWM (At least that is my assumption, maybe someone knows different). Before getting into the softbrick state I took 3 different types of backups in the hopes that one of them could be used in case it was needed. (like this)
Type 1 - I did an ADB shell backup from a completely stock device (unrooted) I used this command-
adb backup -apk -all -f fullbackup.adb
For this method I followed this guide here-
https://linuxiswonderful.wordpress.com/2015/04/04/full-backup-of-nonrooted-android/
Type 2 - I used Titanium backup and performed a complete system and application backup
Type 3 - I rooted the phone and backed up all partitions using dd after reviewing the partition layout of the device. For example, to backup the system partition I did the following at an ADB shell-
dd if=/dev/block/mmcblk0p21 of=/storage/sdcard1/firmware-img/system.img
I believe the last operation I tried before softbricking was installing the Xposed framework module for my device (running Lollipop 5.1.1).
I am able to still communicate to my device using ADB and I can get an ADB shell. or enter fastboot mode My device presently shows the manufacturer's logo when booting and gets no further.
To recover from this issue I think I have two basic options
#1 restore from backup
#2 locate the problem that is causing the system to hang at startup in the first place
At the end of the day I am trying to find the simplest, quickest method to get back up and running. Both methods are acceptable to me. I am not worried about losing any data.
My challenge/sticking point is how to turn my backups into a usable format to get me back on track or understand the boot process enough to get out of the boot loop.
The first thing I tried was mounting my raw image files created from the dd process. I followed this guide-
https://samindaw.wordpress.com/2012/03/21/mounting-a-file-as-a-file-system-in-linux/
I ran these commands-
#losetup /dev/loop0 /path/to/my/system.img
# mkfs -t ext3 -m 1 -v /dev/loop0
# mount -t ext3 /dev/loop0 /mnt
# cd /mnt
# ls
The various image files I created all seemed to mount "ok" OK meaning that the loopback mount process worked but it appears there is nothing but a lost+found folder in the mounted image. (I'm not sure why that is.)
I am still researching methods to turn my other backups into something usable for recovery purposes.
For using the adb backup file I created, this is what my understanding is-
Adb backup uses a type of compression (don’t remember what kind). I would need to uncompress the file first. After uncompressing and being able to view the file contents I would think I should be able to put together a flashable zip file of some sort.
I think the process for Titanium backup would generally be the same- uncompress/convert file format, create/assemble a flashable zip file
The last thought I had was trying to get the system to boot. To do so, I need to better understand the boot process. I am familiar with how Linux boots as I am a Sys Admin. I know Android is similar but just different enough to make me research this further. I can pull dmesg log for anyone if that will help. I was also seeing where you could use the logcat command. (That is new to me as it seems more Android specific and not used in Linux that I know of)
If there is any other info you need to see, please let me know. I made a lot of notes about the system architecture, partition layout, etc.
Many thanks in advance for your help!
XDA Visitor said:
Hello,
I am trying to recover from a softbrick issue. I have a BLU Studio C 5+5 LTE and therefore can't use TWRP or CWM (At least that is my assumption, maybe someone knows different). Before getting into the softbrick state I took 3 different types of backups in the hopes that one of them could be used in case it was needed. (like this)
Type 1 - I did an ADB shell backup from a completely stock device (unrooted) I used this command-
adb backup -apk -all -f fullbackup.adb
For this method I followed this guide here-
https://linuxiswonderful.wordpress.com/2015/04/04/full-backup-of-nonrooted-android/
Type 2 - I used Titanium backup and performed a complete system and application backup
Type 3 - I rooted the phone and backed up all partitions using dd after reviewing the partition layout of the device. For example, to backup the system partition I did the following at an ADB shell-
dd if=/dev/block/mmcblk0p21 of=/storage/sdcard1/firmware-img/system.img
I believe the last operation I tried before softbricking was installing the Xposed framework module for my device (running Lollipop 5.1.1).
I am able to still communicate to my device using ADB and I can get an ADB shell. or enter fastboot mode My device presently shows the manufacturer's logo when booting and gets no further.
To recover from this issue I think I have two basic options
#1 restore from backup
#2 locate the problem that is causing the system to hang at startup in the first place
At the end of the day I am trying to find the simplest, quickest method to get back up and running. Both methods are acceptable to me. I am not worried about losing any data.
My challenge/sticking point is how to turn my backups into a usable format to get me back on track or understand the boot process enough to get out of the boot loop.
The first thing I tried was mounting my raw image files created from the dd process. I followed this guide-
https://samindaw.wordpress.com/2012/03/21/mounting-a-file-as-a-file-system-in-linux/
I ran these commands-
#losetup /dev/loop0 /path/to/my/system.img
# mkfs -t ext3 -m 1 -v /dev/loop0
# mount -t ext3 /dev/loop0 /mnt
# cd /mnt
# ls
The various image files I created all seemed to mount "ok" OK meaning that the loopback mount process worked but it appears there is nothing but a lost+found folder in the mounted image. (I'm not sure why that is.)
I am still researching methods to turn my other backups into something usable for recovery purposes.
For using the adb backup file I created, this is what my understanding is-
Adb backup uses a type of compression (don’t remember what kind). I would need to uncompress the file first. After uncompressing and being able to view the file contents I would think I should be able to put together a flashable zip file of some sort.
I think the process for Titanium backup would generally be the same- uncompress/convert file format, create/assemble a flashable zip file
The last thought I had was trying to get the system to boot. To do so, I need to better understand the boot process. I am familiar with how Linux boots as I am a Sys Admin. I know Android is similar but just different enough to make me research this further. I can pull dmesg log for anyone if that will help. I was also seeing where you could use the logcat command. (That is new to me as it seems more Android specific and not used in Linux that I know of)
If there is any other info you need to see, please let me know. I made a lot of notes about the system architecture, partition layout, etc.
Many thanks in advance for your help!
Click to expand...
Click to collapse
Greetings,
Thank you for using XDA Assist.
There are no specific forums for your device model on XDA. However, if you create an XDA account, you can ask your questions here:
Android Q&A, Help & Troubleshooting
You will receive expert advice there.
Good luck and welcome to XDA!
Hi folks,
I have seen some great quality ROMs here, big thanks for your work/support for those.
For a project, I need to alter the config settings of the wifi baseband in my Moto G pro, which I can access at /vendor/etc/wifi/WCNSS...ini.
My problem is that even with a rooted phone (su on adb shell working fine) and custom ROMs, the /vendor partition is remaining Read-Only and I cannot change this config file. I have had access to debug builds before that have allowed me to change this file by pushing/pulling using adb, but with rooted stock or rooted custom ROMs I am not able to use adb root (Production Build) or adb push (read-only file system) or adb disable-verity (User build).
Trying to use shell to remount as r/w:
# mount -o rw,remount /vendor
'/dev/block/dm-4' is read-only
I think my solution here is to try running a custom ROM that is built as 'userdebug' or 'eng'. Could you point me to any ROMs available that run in these modes? or is anyone in a position to build these quickly?
Thanks in advance for your pointers
Liam
Moto G Pro XT2043-7
liam_L said:
Hi folks,
I have seen some great quality ROMs here, big thanks for your work/support for those.
For a project, I need to alter the config settings of the wifi baseband in my Moto G pro, which I can access at /vendor/etc/wifi/WCNSS...ini.
My problem is that even with a rooted phone (su on adb shell working fine) and custom ROMs, the /vendor partition is remaining Read-Only and I cannot change this config file. I have had access to debug builds before that have allowed me to change this file by pushing/pulling using adb, but with rooted stock or rooted custom ROMs I am not able to use adb root (Production Build) or adb push (read-only file system) or adb disable-verity (User build).
Trying to use shell to remount as r/w:
# mount -o rw,remount /vendor
'/dev/block/dm-4' is read-only
I think my solution here is to try running a custom ROM that is built as 'userdebug' or 'eng'. Could you point me to any ROMs available that run in these modes? or is anyone in a position to build these quickly?
Thanks in advance for your pointers
Liam
Moto G Pro XT2043-7
Click to expand...
Click to collapse
This may help
[Closed] Universal SystemRW / SuperRW feat. MakeRW / ro2rw (read-only-2-read/write super partition converter)
Welcome to the one and only, the original, universal, System-RW / Super-RW feat. Make-RW / ro2rw (read-only-2-read/write super partition converter) by lebigmac Also known as: THE-REAL-RW, FULL-RW, EXT4-RW, EROFS-RW, EROFS-2-RW, F2FS-RW...
forum.xda-developers.com
Thank you @sd_shadow for your helpful response.
I have spent some time playing around with various options (and some time pretending my problem doesn't exist ).
Both the SystemRW script, and the superrepack tool linked in thatpost were unsuccessful for the Moto G Pro.
SystemRW script:
- v1.31 was kind of promising - While running the script, it printed that /vendor was "already R/W". After running, sure enough the partition kind of thought it was R/W, but was throwing other errors that showed it clearly actually wasn't. In the end the script threw error 73 and failed to create super_fixed.img file.
- v1.32 at least knew that /vendor was RO, but also failed to create super_fixed.img file (73).
I have log files handy if @lebigmac is interested.
- The v1.32 repair tool was useful in extracting information, and it managed to find a super_fixed.img file. So I tried to flash manually, but the phone was stuck during boot, so I'm guessing it wasn't created properly.
MY SOLUTION:
In the end, what solved my issue was to create a new Magisk module that would replace the config file I needed on every boot- seeing as I was using Magisk to get the root access anyway, this will be a good solution for my case.
For anyone interested, go and have a look at Magisk documentation:
Magisk Github Dev Guides
To simplify: you place the module files in /data/adb/modules/Your_Module,
and anything inside Your_Module/system/... will replace that in various partitions. So for my case I wanted to replace /vendor/etc/wifi/... , I created My_Module/system/vendor/etc/wifi/config_file_name.ini
sd_shadow said:
This may help
https://forum.xda-developers.com/t/script-android-10-universal-mount-system-read-write-r-w.4247311/
Click to expand...
Click to collapse
Hi @sd_shadow thanks for your helpful response.
Have you tried my script on your device yet and did it work? Is it a Xiaomi device?
liam_L said:
Thank you @sd_shadow for your helpful response.
I have spent some time playing around with various options (and some time pretending my problem doesn't exist ).
Both the SystemRW script, and the superrepack tool linked in thatpost were unsuccessful for the Moto G Pro.
SystemRW script:
- v1.31 was kind of promising - While running the script, it printed that /vendor was "already R/W". After running, sure enough the partition kind of thought it was R/W, but was throwing other errors that showed it clearly actually wasn't. In the end the script threw error 73 and failed to create super_fixed.img file.
- v1.32 at least knew that /vendor was RO, but also failed to create super_fixed.img file (73).
I have log files handy if @lebigmac is interested.
- The v1.32 repair tool was useful in extracting information, and it managed to find a super_fixed.img file. So I tried to flash manually, but the phone was stuck during boot, so I'm guessing it wasn't created properly.
MY SOLUTION:
In the end, what solved my issue was to create a new Magisk module that would replace the config file I needed on every boot- seeing as I was using Magisk to get the root access anyway, this will be a good solution for my case.
For anyone interested, go and have a look at Magisk documentation:
Magisk Github Dev Guides
To simplify: you place the module files in /data/adb/modules/Your_Module,
and anything inside Your_Module/system/... will replace that in various partitions. So for my case I wanted to replace /vendor/etc/wifi/... , I created My_Module/system/vendor/etc/wifi/config_file_name.ini
Click to expand...
Click to collapse
Hi @liam_L
Please feel free to PM me your log files from this folder on your phone and I will look into your issue with my script
/data/local/tmp/systemrw_1.32/log/
Error 73 is probably some kind of selinux kernel panic mode that is triggered if too many I/O operations happen in a short time period. The included sysrw_repair script (Linux only) should be able to fix that.
If you want to do adb root you need to patch your adbd daemon to run as root user. More info here