[Android Build SU bug-RESOLVED] Need help figuring this out - Android Q&A, Help & Troubleshooting

I am currently helping on a new project for a ROM, we forked the AOSPA and AOSPA-Legacy repos into our githubs. What was mainly changed was the name "pa" "pa_" or "AOSPA" to "VentureROM" and the path "pa/" to "venture/". We have looked through both venturerom and venturerom legacy repos that we built and compared these with aospa repos for any differences and haven't seen any. We built AOSPA from scratch off their github and do not receive this bug.
su binary is installed to xbin folder and is symlinked to the bin folder. SUPERUSER_EMBEDDED = true is enabled in build script and points to files for binary and application. After about 8 different build attempts of changing one thing here or there, i decided to pull a logcat and found this sequence when asking for root privelage over ADB:
Code:
[ 08-30 00:24:22.616 2888: 2888 D/su ]
su invoked.
[ 08-30 00:24:22.616 2888: 2888 D/su ]
starting daemon client 2000 0
[ 08-30 00:24:22.616 2888: 2888 E/su ]
connect failed with 2: No such file or directory\
When digging through the system files, su exsists and system can call other binaries under both xbin and bin folders.
The hint is that when you flash a custom kernel over the device after building our repo from scratch, su issue is gone. But i can't quite figure out where the issue is, I've looked through kernel related files and boot related files. Any assistance would be greatly appreciated. Im using an HTC one m8 (m8vzw/m8wlv), the repo with this is under "VentureROM-Legacy" on github, but i guess i cant post that since i never use XDA. Thank you in advance
EDIT:
Found the issue.

Related

[DEV] Building CyanogenMod 6 from source - has it compiled successfully?

(Mods - if there is a more approriate thread, please move this post to there - I was unable to find a suitable one).
Hi all,
Have been trying to build CM6 on and off for a day or two now. Coming up against errors in libxxxx.so so I 'make clobber'ed and started again.
I've had the following a couple of times over the two days:
Code:
Target system fs image: out/target/product/passion/obj/PACKAGING/systemimage_unopt_intermediates/system.img
Install system fs image: out/target/product/passion/system.img
out/target/product/passion/system.img+out/target/product/passion/obj/PACKAGING/recovery_patch_intermediates/recovery_from_boot.p total size is 99641530
maxsize=$((142737408)); if [ "$total" -gt "$maxsize" ]; then echo "error: $printname too large ($total > [142737408 - $reserve])"; false; elif [ "$total" -gt $((maxsize - 32768)) ]; then echo "WARNING: $printname approaching size limit ($total now; limit $maxsize)"; fi
[I]/bin/bash: line 0: [: : integer expression expected
/bin/bash: line 0: [: : integer expression expected
[/I]Installed file list: out/target/product/passion/installed-files.txt
specifically the two lines in italics - anything to worry about? I have a newly-timestamped set of boot/userdata/system .img files in the target output folder.
Am I good to go?
It should be complete if you have out/target/product/passion/system.img
You can fastboot it to phone with boot.img.
Next time i recommend you to run "make otapackage" instead of just "make". This will create update.zip which can be flashed from recovery.
Building CyanogenMod 6.1 from source but HTC magic failed to start
Hi,
I have recently built CyanogenMod 6.1 from source to generate update zip file and use it to flash my HTC magic (Google IO). But the system won't come up completely. Using adb shell, I found the OS is up and running but all the java apps seems not running at all. Can anyone shed some lights to me? I really appreciate any of your help.
And also I was getting the latest source code of CM 6.1 and wondering what is the branch tag for stable CM 6.0 source code to get the repo?
thanks
Eric
repo is always the latest source code, make sure the u lunch/select the right device and have all the properitery libs in place n u shud have no problem
Thanks charansingh!
I was using 'lunch cyanogen_dream_sapphire-eng', I hope this is the right for my Google IO phone?
And I did use extract_file.sh to get the proprietary files in place. I will try it again. thanks.
kernel customization with HTC Hero CyanogenMod source
Hi all,
I want to build my customized WiFi driver and wpa_supplicant in HTC Hero CyanogenMod 6.1? But I found the 'kernel-msm' actually did not get compiled during the make build process. Can anyone provide me a tip of how to do it? The Hero make build process seems different than the HTC magic build process which I did see the kernel-msm got compile during the make build process.
thanks.

[WIP][On hold indefinitely] CM7.2 Port from Nexus One

Disclaimer: I'm a noob. This is my first attempt ever and even it doesn't sound that difficult, don't keep your hope high.
So what I intended to do right now is to use the CM7.2 RC0 KANG for Nexus One (which is currently my main daily use) as a base, which can be found here:
http://www.mediafire.com/?qac2glyh0egscb2
(Rationale: Dell Venue and Nexus One share the same chipset and GPU, and furthermore, I have assessed that build and found it stable enough to be ported)
Proprietary files and driver data from a working ROM of Dell Venue will then be transferred to replace the files in the base (which originally belong to Nexus One). What I have transferred includes:
Modules:
/system/lib/modules
Hardware
/system/lib/hw
Keyboard
/system/usr/keylayout
/system/usr/keychars
Mount points & wifi
/system/etc/vold.fstab
/system/etc/wifi
/system/etc/ppp
(My source for these: http://www.freeyourandroid.com/guide/porting-android)
I have also replace the boot.img
and delete the first line of the script in updater-script,
which removes the phone model identification process:
Code:
assert(getprop("ro.product.device") == "passion" || getprop("ro.build.product") == "passion" || getprop("ro.product.board") == "passion");
The package is then zipped and signed, but so far, it doesn't even boot. It doesn't even make it to the boot animation.
I haven't involved the boot.img and kernel yet. And I don't think it's necessary for a boot.
I repeat: I'm a total noob and totally inexperienced in the process of ROM development. I would be grateful and appreciate if you can point me to an useful guide or have any suggestion that could make some progress.
The catlog is attached below. It looks like alien language to me and I need someone experienced to help me diagnose it. My priority is to make it boot now, then we'll see what we can do next. Thank you in advance.
Last logcat update: 2012-02-23, 1700 GMT+8
PS: I'll upload the zip file if someone requests, for now I prefer to focus on the logcat
UPDATE 12.02.25: Well, first attempt with Kitchen, it did boot actually, but ended up with a blackscreen after 10 secs or so. Logcat says it's VertexArray or some OpenGL sort. Asides from that, nothing else works except for the touchscreen and SDCard. Logcat is in attachment below.
UPDATE 12.02.27: I halt the project from now on. This is due to lack of time, skills, direction and motivation. I have other commitments in life as well. I might come back when I know more, but don't hold your hope.
You need the venue's kernel and ramdisk (which is implied as it's a major part of the kern).
If it is the stock kern that you're using, your system tree is missing other binaries.
Some devices are ported in exactly this manner, just inserting binary-only drivers into a generic/minimally modified CWM.
Your logcat is stating that the device is panicing as critical components are missing/cant mount all partitions
Code:
E/PrintK ( 1): <3>init: cannot find '/system/bin/lfinit', disabling 'lfinit'
E/PrintK ( 1): <3>init: cannot find '/system/bin/qmuxd', disabling 'qmuxd'
E/PrintK ( 1): <3>init: cannot find '/system/bin/DrmHost', disabling 'DrmHost'
E/PrintK ( 1): <3>init: cannot find '/system/bin/logd2', disabling 'logd2'
...
etc
anything marked as E/ is an error level message, as in 'serious error'
Some of the W/ and D/ level ones might be important too, but even in the stock rom there's plenty of warning messages that can be safely ignored.
Your logcat is stating that the device is panicing as critical components are missing/cant mount all partitions
Code:
E/PrintK ( 1): <3>init: cannot find '/system/bin/lfinit', disabling 'lfinit'
E/PrintK ( 1): <3>init: cannot find '/system/bin/qmuxd', disabling 'qmuxd'
E/PrintK ( 1): <3>init: cannot find '/system/bin/DrmHost', disabling 'DrmHost'
E/PrintK ( 1): <3>init: cannot find '/system/bin/logd2', disabling 'logd2'
...
etc
Click to expand...
Click to collapse
Well, I am aware of these missing files. I did get some of them back later, though, they still logged it as an error despite having found the files.
e,g,.
Code:
E/PrintK ( 1): <3>init: '/system/bin/logd2'
Something like that, I lost the log so I can't quote.
----------------------------------
You need the venue's kernel and ramdisk (which is implied as it's a major part of the kern).
If it is the stock kern that you're using, your system tree is missing other binaries.
Click to expand...
Click to collapse
I did screw this up a few times, but that one I used a boot.img that belongs to Venue itself, not the stock cm7.
---------------------
After some additional transfer, I ended up not being able to dump the logcat
Code:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
reloc_library[1311]: 160 cannot locate 'android_log_setColoredOutput'...
CANNOT LINK EXECUTABLE
Well, guess I screwed up again. Probably will try again from scratch.
really appreciate your work, it would be awesome if cyanogen get ported for our venue
Tried Kitchen and it booted but did not last long enough for me to check around that much. Huge driver problems. Refer to update in the first post.
SwordLaker said:
Disclaimer: I'm a noob. This is my first attempt ever and even it doesn't sound that difficult, don't keep your hope high.
So what I intended to do right now is to use the CM7.2 RC0 KANG for Nexus One (which is currently my main daily use) as a base, which can be found here:
http://www.mediafire.com/?qac2glyh0egscb2
(Rationale: Dell Venue and Nexus One share the same chipset and GPU, and furthermore, I have assessed that build and found it stable enough to be ported)
Proprietary files and driver data from a working ROM of Dell Venue will then be transferred to replace the files in the base (which originally belong to Nexus One). What I have transferred includes:
---cut--
Click to expand...
Click to collapse
Hi Swordlaker,
I search many internet site how to build kernel & rom for dell venue. But so far no lucks. Build based on cm7 > passion > when running extract-files.sh (to pull neccessary file from live device -I flashed with many streakdroid4-250) I got this
Code:
[email protected]:~/cm7/system/device/htc/passion$ ./extract-files.sh
remote object '/system/bin/akmd' does not exist
chmod: cannot access `../../../vendor/htc/passion/proprietary/akmd': No such file or directory
remote object '/system/bin/parse_radio_log' does not exist
chmod: cannot access `../../../vendor/htc/passion/proprietary/parse_radio_log': No such file or directory
remote object '/system/etc/AdieHWCodecSetting.csv' does not exist
3 KB/s (255 bytes in 0.072s)
remote object '/system/etc/firmware/bcm4329.hcd' does not exist
remote object '/system/etc/firmware/default.acdb' does not exist
remote object '/system/etc/firmware/default_att.acdb' does not exist
remote object '/system/etc/firmware/default_france.acdb' does not exist
16 KB/s (1156 bytes in 0.069s)
130 KB/s (9220 bytes in 0.069s)
remote object '/system/etc/vpimg' does not exist
917 KB/s (84096 bytes in 0.089s)
2287 KB/s (162992 bytes in 0.069s)
5800 KB/s (1793168 bytes in 0.301s)
1732 KB/s (206768 bytes in 0.116s)
1072 KB/s (98264 bytes in 0.089s)
579 KB/s (42764 bytes in 0.072s)
remote object '/system/lib/libhtc_acoustic.so' does not exist
remote object '/system/lib/libhtc_ril.so' does not exist
3282 KB/s (468788 bytes in 0.139s)
1010 KB/s (102848 bytes in 0.099s)
[email protected]:~/cm7/system/device/htc/passion$
My understanding ... there are huge different on proprietary drivers between venue and passion [which is normal between dell & htc]. I think many of filename[DOT]mk need to be modified for successful build. Let us see the "wifi". Is venue using broadcom chipset? How to know what wifi chipset in the venue. I'm noob too in this android space.
after running extract-files.sh, here are the file extracted
Code:
[email protected]:~/cm7/system$ ls vendor/htc/passion/proprietary
AudioBTID.csv libEGL_adreno200.so libGLESv2_adreno200.so liboemcamera.so libq3dtools_adreno200.so yamato_pm4.fw
libcamera.so libGLESv1_CM_adreno200.so libgsl.so libOmxVdec.so yamato_pfp.fw

Paranoid Networking?

I have been having issues with the Paranoid Networking feature added to the Linux Kernel preventing some of my programs from creating sockets.
Appearently the process must be of a certain group id, either one of the AID_INET or AID_BT groups in the 3000's range I believe. I was cgreping through the source code and it seems a few calls to "in_egroup_p(gid_t)" are made to test if the process's group is 'correct' when ANDROID_PARANOID_NETWORKING is defined. If I understood the "in_egroup_p()" function, it should return 1 (retval) if there is a match. so what I did was this in the c file for inet in the kernel. I hope the kernel gets compiled, I just did a "make clean" and "brunch d2spr" it is cm-10.1
Code:
#ifdef ANDROID_PARANOID_NETWORKING // this was there
if ( in_egroup_p(0) == 1) {
return 1;
} // I added this
return in_egroup_p(AID_INET) || capable(I_FORGOT_HERE); //this was there
And I am hoping that when I execute the program as root, it will have permission to create a socket. Also note, that the programs I am having problems for are glibc based that I copied and mounted from a .img file. Programs such as postresql, gdm3, and others. It is a debian distro that I mount with an init service when a property is set to 1.
If this does not work, I will need to run without the Paranoid Networking patch to the kernel. What config file do I need to edit so that ANDROID_PARANOID_NETWORKING does not get defined or built into the kernel?
edit: I feel like this, " IM ROOT B****, STAY OUTTA MY WAY! " And then that scene from Jurrasic Park comes to mind
http://www.youtube.com/watch?v=RfiQYRn7fBg
Still no go
Code:
[email protected]:/etc/init.d# ./postgresql start
[....] Starting PostgreSQL 9.1 database server: main[....] The PostgreSQL server failed to start. Please check the log output: 2014-01-06 16:48:59 UTC LOG: could not create IPv6 socket: Permission denied 2014-01-06 16:48:59 UTC LOG: could not create IPv4 socket: Permission denied 2014-01-06 16:48:59[FAILWARNING: could not create listen socket for "localhost" 2014-01-06 16:48:59 UTC FATAL: could not create any TCP/IP sockets ... failed!
failed!
*BEEP* *BEEP* *BEEEEEEEEEEP*
Hmmm... Maybe the kernel didn't compile? I dunno . ...
Where is the config file for the kernel that comes with CM-10.1 so I can turn off this paranoid networking?
My philosophy is that they shouldn't be there to start a socket in the first place, but if I want to, I should be able to. This is where I need something akin to sudo, but as root this is pissing me off, let me create a socket por favor!
I tried a lot of things but this just isn't working right. Some one please, help.
I've about had it up to my neck with Android. ****ing bull ****, I didn't know I was buying a bad ass phone with Chains and Iron Bars for an OS. FREEEEEEEDOOOOOOMMMMMNNNNNNNNN
After breaking my build, I deleted my kernel directory tree and re-sync'ed. I then did "source build/envsetup.sh" and "breakfast d2spr" and then I when to "kernel/samsung/d2/" and did "make menuconfig" then I unselected in networking options "Only specific groups can create sockets" or some such option. and then "brunch d2spr". We shall see if that works.
Update:
Did not work. Said unfinished jobs yada yada
So what I am trying now.
I cleaned everything, bummer!
I copied my kernel dir to another location
I pulled my kernel config with adb
I used that with 'make menuconfig' and edited out the 'only allow certain groups' bit
I saved that
copied it to my source in kernel/samsung/d2/
I edited AndroidKernel.mk to use that config file instead ( the assignment occurs at the top of the file)
croot
brunch d2spr
waiting till tomorrow more than likely....
Update: ( 3 hours later )
Its taking long enough
seems to be working
maybe I can make a config in my source tree and then make mroper and clean, aswell as in the KERNEL_OBJ dir in out/*, then brunch. to avoid needing two kernel source trees and some confusion in case I modify any of the source and not just the config.
AndroidKernel.mk specifies which config file to use instead of the other pre-configured files, just start by pulling a config off your phone with the same rom and device your building for.
Code:
adb pull /proc/config.gz
That will pull the conpressed file off your phone to the current working directory, then gunzip it. Then launch
Code:
make menuconfig
from your kernels root dir, for me that is "/home/$USER/android/system/kernel/samsung/d2/"
And then once the menu is up, use the arrows to scroll down to the bottom and use enter or return to select the option to use a different configuration file, it should change menus to one with ".config" erase that and change it to point to your config file, I just copied mine to the same directory mentioned above with the name "config" the same without the "." (dot/period) in front.
After that, from the same dir ( as well as in the KERNEL_OBJ/ dir somewhere within the out/ dir)
Code:
make mrproper && make clean
to clean the previous kernel make.
After all of that, you can 'croot' and 'brunch $YOUR_MODEL', but not before making sure you change which config file to use in your kernel's root dir in it's AndroidKernel.mk file. Its at the top, I used an absolute path for my installation, just in case.

[Q] support openvpn binary development with ndk

friends I downloaded the binary opnevpn for use in android 2.3.6 the question is I downloaded the binary compile from linux, ubuntu.
using ndk, ndk-build a see compiled me tumulto a binary statico the tranfiero to the celulcar and use the settigns openvpn client to connect the server connects, but throw me a FATAL error Linux ip link set failed could not execute external program, and does not connect will put a screenshot of the error that happens when I compile the binary used binary by default works well , my goal by which compile the binary is to be able to add http custom headers, that only this habiliado on android 4.x on thank the assistance and/or sugernecia of this thank you. FOR YOUR ANSWER.
:crying::crying::crying:
my not allow upload image my error is := FATAL Linux ip link set failed could not execute external program :C
My guess is that it cannot execute /system/bin/ip or /system/xbin/ip (this is Android we're talking about, right?)
If I recalled correctly, that's a symlink to busybox, so try adding something like
#include [ipbinaryheader.h]
#include [busybox.h]
Into the c.
Replace [ ] with the sharp one
Disclaimer: I'm relatively new to programming, so please try it yourself and see if it works, I'm not sure.
I'll add more later when I have time.
Sent from my not-an-iPhone using Tapatalk
panpjp said:
My guess is that it cannot execute /system/bin/ip or /system/xbin/ip (this is Android we're talking about, right?)
If I recalled correctly, that's a symlink to busybox, so try adding something like
#include [ipbinaryheader.h]
#include [busybox.h]
Into the c.
Replace [ ] with the sharp one
Disclaimer: I'm relatively new to programming, so please try it yourself and see if it works, I'm not sure.
I'll add more later when I have time.
Sent from my not-an-iPhone using Tapatalk
Click to expand...
Click to collapse
If is so friend is android what am talking, but between as user root in system / bin / and look for, ip and if this in that directory I have a doubt I equal am new in ndk, in where added them header of c that you put excuse me my English and you agredezco always its helps

[Q&A] [GUIDE][LINUX][MIUI] MIUI PatchROM -- BUILD YOUR OWN MIUI ROM

Q&A for [GUIDE][LINUX][MIUI] MIUI PatchROM -- BUILD YOUR OWN MIUI ROM
Some developers prefer that questions remain separate from their main development thread to help keep things organized. Placing your question within this thread will increase its chances of being answered by a member of the community or by the developer.
Before posting, please use the forum search and read through the discussion thread for [GUIDE][LINUX][MIUI] MIUI PatchROM -- BUILD YOUR OWN MIUI ROM. If you can't find an answer, post it here, being sure to give as much information as possible (firmware version, steps to reproduce, logcat if available) so that you can get help.
Thanks for understanding and for helping to keep XDA neat and tidy!
[MIUI PATCHROM for WALTON PrimoF2[How to solve this??Please somebody help me...
Code:
[email protected]:~$ cd patchrom
[email protected]:~/patchrom$ . build/envsetup.sh
PATCHROM_BRANCH = jellybean42-mtk
ANDROID_PLATFORM = v17
PORT_ROOT = /home/atiq/patchrom
ANDROID_TOP =
ANDROID_OUT =
PORT_PRODUCT = Unknown
USE_ANDROID_OUT =
ANDROID_BRANCH =
[email protected]:~/patchrom$ cd primof2
bash: cd: primof2: No such file or directory
[email protected]:~/patchrom$ mkdir primof2
[email protected]:~/patchrom$ cd primof2
[email protected]:~/patchrom/primof2$ /home/atiq/patchrom/tools/releasetools/ota_target_from_phone -n
Wait for the device to be online...
Copy target file template into current working directory
Warning: the ota package will not contain bootimage!!!
Maybe you forget to pass the ota-package parameter.
Are you sure this is really what you want(yes/no):yes
Build recovery.fstab from device
Extract the whole /system from device
pull: building file list...
1423 files pulled. 0 files skipped.
2943 KB/s (570754099 bytes in 189.331s)
Remount /system to be writable
You don't have a rooted kernel. Please run the following command mannually
(1) adb shell
(2) su
(3) mount -o remount,rw /[email protected] /system
(3) chmod 0777 /system /system/*
If you finish running the above commands on your phone(yes/no):yes
/system/xbin/getfilesysteminfo: No such file or directory
Run getfilesysteminfo to build filesystem_config.txt
125 KB/s (5572 bytes in 0.043s)
Run getfilesysteminfo and recoverylink.py to recover symlink
Recovery link files success
Build apkcerts.txt
failed to copy '/data/system/packages.xml' to '/home/atiq/patchrom/primof2/out/target_files/packages.xml': Permission denied
Error: /home/atiq/patchrom/primof2/out/target_files/packages.xml doesn't exist or isn't a vaild xml file
rm: cannot remove ‘/home/atiq/patchrom/primof2/out/target_files/packages.xml’: No such file or directory
Generate metadata used to build target files...
Compress the target_files dir into zip file
/home/atiq/patchrom/primof2
Build full ota package: /home/atiq/patchrom/primof2/stockrom.zip
unzipping target target-files...
using device-specific extensions in .
unable to load device-specific module; assuming none
[MIUI CUST] OTA: copy data files
[MIUI CUST] OTA: handle relink
[MIUI CUST] OTA: SetPermissions
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
done.
[email protected]:~/patchrom/primof2$
Where should I put the bellow commands
Code:
You don't have a rooted kernel. Please run the following command mannually
(1) adb shell
(2) su
(3) mount -o remount,rw /[email protected] /system
(3) chmod 0777 /system /system/*
If you finish running the above commands on your phone(yes/no):
here?? After this line?? Here I have only two option to input "yes" or "no" in this shell. Otherwise it shows too many arguments. Please tell me where to put those commands exactly?? another question: Is everything OK there except "packages.xml". I manually copied the packages.xml file from my device and paste it to target_files then zipped it. Will it work?? Please help..
Anyone here successfully booted miui 8 on MTK 32 bit kernel 3.18.19 can help me with bootloop!?
I already built the rom based on AOSP android one but it bootloops
Mysteryagr said:
Anyone here successfully booted miui 8 on MTK 32 bit kernel 3.18.19 can help me with bootloop!?
I already built the rom based on AOSP android one but it bootloops
Click to expand...
Click to collapse
Hook it up and run a log at on your pc. That will tell you what is bootlooping. It that should have been the first hinges you did. It is rom building basics
zelendel said:
Hook it up and run a log at on your pc. That will tell you what is bootlooping. It that should have been the first hinges you did. It is rom building basics
Click to expand...
Click to collapse
Thank you for your reply.
I already did that, and yes I edited defualt.prop inside the ramdisk to enable logcat during bootloop.
I have ported many roms, and also built some from source, and I noticed that I can only take logcat in bootloop if the rom is partially booted, notification led lights in red as a sign of that.
In Miui case the led doesn't light up, also I noticed that no space occupied in data partition (except for the extracted miui apps)
So I guess something prevent the rom to start and optimize any app, maybe it is the boot.img
If someone booted miui on MTK 32 bit chipset and MM kernel 3.18.19 can help me, I will be very thankful.
My device is Infinix Hot 2 running Android one 6.0 marshmallow, chipset: MT6580
Thanks in advance.
Mysteryagr said:
Thank you for your reply.
I already did that, and yes I edited defualt.prop inside the ramdisk to enable logcat during bootloop.
I have ported many roms, and also built some from source, and I noticed that I can only take logcat in bootloop if the rom is partially booted, notification led lights in red as a sign of that.
In Miui case the led doesn't light up, also I noticed that no space occupied in data partition (except for the extracted miui apps)
So I guess something prevent the rom to start and optimize any app, maybe it is the boot.img
If someone booted miui on MTK 32 bit chipset and MM kernel 3.18.19 can help me, I will be very thankful.
My device is Infinix Hot 2 running Android one 6.0 marshmallow, chipset: MT6580
Thanks in advance.
Click to expand...
Click to collapse
To be honest I have no other ideas. Devices with that chip maker are not sold in my country.
@zelendel
What is the difference between
make firstpatch
Click to expand...
Click to collapse
and
make second patch
Click to expand...
Click to collapse
?
Mysteryagr said:
@zelendel
What is the difference between
and
?
Click to expand...
Click to collapse
I don't know. To be honest I wouldn't touch miui with a 10 foot pole personally.

Categories

Resources