[Q] init / autorun on stock rooted ROM - Galaxy Tab Q&A, Help & Troubleshooting

Forgive me if this is the wrong place or a stupid question, but I've been looking for days and not finding what I need.
I have ~95 Galaxy tabs, we're rooting them (but leaving them stock) and then executing a rather long script to install software, copy data, uninstall market, disable anything we don't want the employees to access. The last piece of this is I am trying to execute several commands on each boot of the device (some iptables rules need to be re-loaded, couple of other simple commands)
I can't seem to find the init scripts I need to change - ie /init.rc gets recreated every boot losing any changes made, there doesn't seem to be an init.d anywhere, I don't know what support the stock kernel has. I've read so many incorrect (for this ROM) ways to go about running something that I think my eyes crossed.
Any help would be appreciated. And if there's another way for my iptables rules to survive a power-down I can take that as an answer.

so does anyone know if this is *not* possible with the stock kernel? I'm basically out of ideas and have to either scrap the project entirely or get it implemented.
Or, alternately if I'm in the wrong area let me know...

Related

1. Kernel and 2. Rom Error Questions

I tried to word the title correctly to establish that I want to ask 2 different questions, but dont want to clutter up the board with 2 separate posts
Please help if you can
1. Kernel
Why do some kernels work with some roms and not others? I have taken a Sprint Rom, ran it through the kitchen, and tried flashing any number of kernels. The only one that works is Zenulators AnyKernel. I know at times only the stock overclocked worked, but I think at certain times I have gotten the no perf lock to work (though that may have been with an NFX Rom, and not one that I created myself). This leads me to ask why would a kernel work for a rom that is built from the same base that I am using, but not on mine? Is dsixda's kitchen not the one everyone uses? I just dont understand why I am limited to one kernel that is not undervolted and overclocked. I would like to put a 768 overclocked, undervolted kernel with this rom, but cant get any to flash. Should I just use the kitchen to "port" the kernel. How does nfinitefx45 get the kernels he posts to work with a Sprint base? Is the kernel edited in some way? Im not calling anyone out, just trying to learn how to get a good kernel to work with my rom.
2. MAJOR issue: when running df, I get an error that etc/mtab: no such file or directory. What I have done is in the paragraph below
I decided to take another cracked at a minimal Sprint 2.1 Rom. I used dsixda kitchen 0.107 to root, add busybox, remove boot sounds, deodex, add data/app, add nano + sysrw, sysro, bash, and zipalign the .7 Rom. I then removed all Sprint apps except for VVM, all google apps, all htc apps and widgets that were not explicity needed (need the contacts and ime apks among a few others), removed a ton of system apps (can provide a list of current system/app dir and a list of all that was removed if it will help). I edited the lockscreen so it wasnt in landscape mode all the time. Added an OMADM.apk file that didnt FC when I tried to update the prl (tested the update and it works). I did find an EPST.apk that adds ## codes back to the dialer (should I include that in the rom...wasnt intending on it as the only ## code that doesnt work is the prl...data works) OMADM.apk is smaller that the EPST...but EPST does exist already...and I might be able to pull OMADM meaning 0 firmware, profile, or prl updates...but you could do ##prl manual...I dont know, still thinking it through. I did end up creating a google apps zip file with the apps from the .7 rom so that market will work (removed maps as it wasnt up to date and the Streets.apk never worked, but left gmail, youtube, voice search to work with jonasl's htc keyboard, and of course gtalk). In doing this, I am thinking about creating some packs for the rom, but really need the above 2 questions answered to find out where to go from here.
evilvoice said:
1. Why do some kernels work with some roms and not others?
2. MAJOR issue: when running df, I get an error that etc/mtab: no such file or directory. What I have done is in the paragraph below
Click to expand...
Click to collapse
afaict, the 'kernels' are literally just the linux kernel that provides some basics to the os... altho linux IS a monolithic kernel, it is not a bsd-system that has all the tools completely-compiled for the system together...
thus, the answer to 2. is that you have deleted too much of the periphery, for instance the actual mount-table system that df uses to to check... (ie: some prog creates the mtab, and apparently it is not the kernel, i guess)
alternatively, the answer to 1. is that there is actually too much in the roms that are using something unique to each kernel that you are trying to install (altho that seems odd to me)... thus, the only way that the rom will work is if you give it the kernel with the tools that it (the rom) needs...
tbh - im not exactly sure - ive not gone into the depths of kernel-swapping that youre trying to explore... in full-linux-systems, the kernel is fairly easy to update without breaking all of the miscellaneous tools - however apparently the android-roms are more tied-together than a normal linux system...
gl and maybe someone with more experience will give an accurate (rather than a guessing) answer...

[Q] Why Fixing Permission with ROM Manager?!

I have been reading about "Fixing permissions" and I can see that ROM Manager on my Nook (running Phiremod v5.2 with CM7) has that function.
But what exactly does "Fixing permissions" mean?
When do I need to do that?
And what are the consequences?
Hope anyone can explain it to me - or guide me to a "ROM Manager/Fixing Permissions for Dummies"
http://en.wikipedia.org/wiki/Filesystem_permissions
Fixing Permissions does exactly what it says really. It fixes the file system access permission to the correct settings if for some reason they aren't set right which seems to happen from time to time. As far as I know there are no issues or consequences to running the script outside of wasting a few minutes while it runs since it's basically restoring things back to how they should of been.
Thanks for the reference and the answer.
Regarding the Nook, what interests me is why this is necessary from time to time. But maybe I shouldn't think about it too much
Caspar...as you add new apps or change ROMS, the filesystem permissions often get changed. sometimes they get changed to values that are detrimental(like a file getting set to read only when it needs to be writable). That's why the need for fixing the permissions.
If you don't do this, you sometimes end up with a scenario where an app expects to be able to write some information and can't. This generates an error, which if the app isn't able to handle it, crashes the app.
A well written app will have thought of this already, but most times developers just expect the proper permissions and don't add in error handling code, saving themselves work and the program some size.

[Q] Rom/Kernal Help

ok ive been reading a few posts but cant make head nor tails of this rom/kernal stuff and cant find a guide to it in the stickys so i have come here to ask some seasoned memebers for help
I am Uk based and english speaker any help is welcomed.
1. At a guess what are the chances of bricking my device and is it fix's able
2. what is diffrence between Kernal and rom
3 in what order do i need to install kernal and rom
4. what are the best kernal's and rom's availible For - Gameing, phonecalls, texting, wifi connections and battery life
5.what will i need to backup on my phone before i install them and what program's are needed?
6. after installing if all has installed correctly can someone recomend some apps for my phone (and will i be able to use the google playstore still if not how do i get them)
Please can you help me out there seem to be 100s of roms/kernals
Rom/Kernel Help
Hi mazoshi,
I'm no super-guru but I'm happy to share my experiences. Ref your questions:
1. It is possible to brick your phone to varying degrees as evidenced by all the help requests for bricked phones, but IMHO, it's very unlikely as long as you follow the directions scrupulously and make sure you only flash ROMs/kernels that are known to be compatible.
2. The kernel is the low-level operating system, derived from Linux, that handles the low-level interface to the hardware and manages device resources (CPU, memory, peripherals, interrupts, etc). The kernel is mostly written in "C". A "ROM" is the whole ball of wax, usually including the kernel as well as the Android framework and apps, written in java, that provides the user interface and all the apps you see on your screen.
3. For installation, you'll need a firmware flashing program, like ODIN or Heimdall. You'll also need a USB cable for your phone. And, of course, you'll need compatible zips or tars to flash.
4. Common question that's difficult to answer. The best ROM, the best religion, the best political party and the best pizza are almost completely personal choices and depend on your expectations.
5. There are a number of "backup" programs that can back up your personal settings and data, e.g., Titanium backup. Note that these do NOT backup up the kernel and system stuff. You need to be rooted to do that. After root, you'll probably get ClockworkMod (CWM) which has a nice function to back up whole partitions, including the system stuff. There is a chicken-and-egg problem here though: You can only back up the system after you root, but after you root you've got a "new" system. I've never been able to figure out a way to do a complete backup of a stock system, i.e., to be able to restore to factory new state.
6. Like 4, apps are also a matter of personal chioce. There are zillions of apps on play.google. And yes, you can get to that after rooting but you'll have to manually install the Google apps package first. I don't know the latest, but a quick google search should locate many. They're usually called "gapps-something". They are supplied as a zip and can be installed with CWM.
Hope this helps.

[DEVELOPMENT] FlashCast developer support thread

This thread is for FlashCast image developers ONLY. If you are not developing a FlashCast image, please do not post here. Post in the main thread instead.
Hello developers! I hope that this thread can serve as a place for you to ask any questions you may have about FlashCast development or internals, make feature requests, and report issues you're having. I will edit this post with FAQs as they come up. Until then, take a look at my documentation on GitHub, which contains documentation and sample code to help you create FlashCast mods.
tchebb said:
This thread is for FlashCast image developers ONLY. If you are not developing a FlashCast image, please do not post here. Post in the main thread instead.
Hello developers! I hope that this thread can serve as a place for you to ask any questions you may have about FlashCast development or internals, make feature requests, and report issues you're having. I will edit this post with FAQs as they come up. Until then, take a look at my flashcast-samples repository on GitHub, which contains documentation and sample code to help you create FlashCast mods.
Click to expand...
Click to collapse
So far its working great! Plan on releasing a rooted 13300 system image with this soon, but I was wondering, is there a possibility you could create a partition backup option? so like
Code:
backup_mtd_partition 'rootfs' 'system.img'
Where it will make a folder called backup on the jump drive, and store the rootfs file system with the name of system.img? also a md5 for each file would be nice. I know I could just have a script dd the mount point, but would be nice to see a function to call.
ddggttff3 said:
So far its working great! Plan on releasing a rooted 13300 system image with this soon, but I was wondering, is there a possibility you could create a partition backup option? so like
Code:
backup_mtd_partition 'rootfs' 'system.img'
Where it will make a folder called backup on the SD card, and store the rootfs file system with the name of system.img? also a md5 for each file would be nice. I know I could just have a script dd the mount point, but would be nice to see a function to call.
Click to expand...
Click to collapse
This would definitely be a useful feature. I can see a few implementation details that would need to be worked out in a non-obvious fashion, though:
There is currently no way for a imager script to directly access the root of the user partition. This is intended to prevent multiple scripts from having access to the same filesystem and possibly overwriting each others' files. Instead, scripts are executed in a temporary directory whose contents are discarded on device shutdown. It seems like the solution to this would be to create numbered backup directories, like there are numbered logs now, for mods to place their backups in.
It wouldn't be desirable for a mod to take a backup every time it was flashed, as not everyone cares about backups and they take up lots of space. There would need to be some way for the user to decide whether or not they wanted backups. Maybe another flag file?
Finally, taking a backup of an MTD partition using nanddump (dd should not be used to image NAND partitions, since it is not bad-block aware) images the entire partition, when (in the case of squashfs) only a small part actually has a filesystem on it. This means that a single rootfs backup will take up 400MB on the USB drive. I would want to implement something which can back up only the part of a partition which squashfs is using before I release backup functionality.
Obviously, this is a prime candidate for a new helper function, because of these non-trivial complications. I'll see if I can make the necessary changes to FlashCast and release backup functionality as part of v1.1. Thanks for the suggestion!
One more suggestion, if you do not mind.
How about the ability to flash multiple zips at once? So, if I have 2 files I want to flash, first one will stay eureka_image.zip, and then the next one would be eureka_image1.zip, or some similar process to allow multiple zips.
The issue here would be a naming scheme that would be easy for users to use and understand. so maybe if you flash a single file, just use eureka_image.zip, and if multiple, each would have a number added, starting from 1 and counting up in the order you want them flashed?
ddggttff3 said:
One more suggestion, if you do not mind.
How about the ability to flash multiple zips at once? So, if I have 2 files I want to flash, first one will stay eureka_image.zip, and then the next one would be eureka_image1.zip, or some similar process to allow multiple zips.
The issue here would be a naming scheme that would be easy for users to use and understand. so maybe if you flash a single file, just use eureka_image.zip, and if multiple, each would have a number added, starting from 1 and counting up in the order you want them flashed?
Click to expand...
Click to collapse
This is something I intend to implement. My current plan is to support a eureka_images directory, which can contain any combination of zipped and unzipped mods which will be flashed in alphabetical order. Mod authors can distribute their mods with a prefixed number, so, for example, you could distribute 00_13300_rooted.zip and 59_unlocator_dns.zip. I'll write a standard for how to determine the numbers (e.g. full system images get 00-09, major/minor filesystem changes get 40-49/50-59 respectively depending on how many files they affect, etc). It's not perfect and there can still be conflicts, but it should allow most mods to be flashed in a mostly sane order. I'm open to any suggestions or improvements you might have.
tchebb said:
This is something I intend to implement. My current plan is to support a eureka_images directory, which can contain any combination of zipped and unzipped mods which will be flashed in alphabetical order. Mod authors can distribute their mods with a prefixed number, so, for example, you could distribute 00_13300_rooted.zip and 59_unlocator_dns.zip. I'll write a standard for how to determine the numbers (e.g. full system images get 00-09, major/minor filesystem changes get 40-49/50-59 respectively depending on how many files they affect, etc). It's not perfect and there can still be conflicts, but it should allow most mods to be flashed in a mostly sane order. I'm open to any suggestions or improvements you might have.
Click to expand...
Click to collapse
Sounds great to me! Only other suggestion I have is to add another flag file which would allow Flashcast to continue flashing the multiple zips, even if one errors out.
So, by default if multiple zips are going to be flashed, and it errors on the first, it would stop, get a red LED, and then reboot.
with a flag file present, maybe ignore_errors, even if it errors out on the first zip, it would continue down the chain of zips until it finishes all of them.
Anyone got any idea how to get started with some themes for the chromecast? Will be more than happy to help, as soon i know where to start.
bormeth said:
Anyone got any idea how to get started with some themes for the chromecast? Will be more than happy to help, as soon i know where to start.
Click to expand...
Click to collapse
Most of the resources seem to be kept in the .pak files contained in /chrome. The first step to theming would be figuring out what format those are in and how to unpack and repack them. You might want to start by taking a look at the content_shell source code, as it might have some documentation or scripts for working with .pak files.
tchebb said:
Most of the resources seem to be kept in the .pak files contained in /chrome. The first step to theming would be figuring out what format those are in and how to unpack and repack them. You might want to start by taking a look at the content_shell source code, as it might have some documentation or scripts for working with .pak files.
Click to expand...
Click to collapse
Im gonna dive into it
Have a little bug report.
If a person has more then 85~MB in their eureka_image folder, and then they start a SquashFS File system edit, flashcast will report an error saying out of space. Now, here is the error part. Even though it failed to mount with an error, the imager.sh file will continue to run, and will then attempt to flash back a corrupt file, causing a non-bootable chromecast until the system partition is re-flashed.
bormeth said:
Anyone got any idea how to get started with some themes for the chromecast? Will be more than happy to help, as soon i know where to start.
Click to expand...
Click to collapse
The first script on THIS SITE will unpack the .PAK files, although it unpacks everything as a .png as it was made for a different Chromium device. So you would have to manually go rename all the files to their correct extension for the files, but because it expects everything to be a .png it won't pack back properly. The second script, technically should unpack/pack as proper file extensions, but I never got it to work right as I have little to no knowledge of Python.
The chromium source has a script,data_pack.py (which I can't link to since I'm a new user ATM) which can be used to pack and unpack .PAK files. The script posted above seems to be lifted from this source and modified to detect a few filetypes and write the unpacked files. But if you want to modify or add images and need to repack them, this script will help you figure it out. I'll work on adding and making some changes to the theme and give some instructions.
how to mount usb drive
Haven't used linux in years. Thanks!
Hey, want to do some poking around in the flashcast .bin file...how do I go about doing that? What is the file format, and is the image mountable in linux? Even better might be to extract files/folders from the image...what tool can I use to do that?
Ok, so I'm doing some dinking around...I've looked into buildroot, and I think for the most part I understand what is going on. I also tried building from source, and it appears to have worked. So, from this poking around I have a few assumptions I've made and a few questions. Correct me if I'm wrong anywhere but.......
Basically, you've built a generic bootloader for the device using buildroot. This is not related at all to the stock CC bootloader (although maybe you borrowed a few drivers, etc). I would guess that the buildroot bootloader has just what you need to display a picture on the TV and do some basic file system operations, and I would also guess that the buildroot bootloader is missing a few features that the stock bootloader has - therefore, it wouldn't be possible to run a full-fledged ROM off of this bootloader. Am I right so far? If so, what is missing from the buildroot bootloader? Libraries? Binaries? No idea?
Also, to access something like USB storage, the buildroot bootloader is able to include the required /dev devices, whereas it wouldn't be possible to include this on CC's stock bootloader without the source. So, doing something like accessing a ROM from an external flash drive isn't feasible because of these limitations? Basically, all that is possible with the current bootloader (of course, the insecure one which allows for unsigned code to run) is to add a few binaries to the stock CC ROM (things like adb, dropbear, etc), maybe add some access to those binaries through Web GUI, etc.
Am I on the right track? Is there anything you would add/correct? Thanks for the help. I'm trying to understand
tomg09 said:
Ok, so I'm doing some dinking around...I've looked into buildroot, and I think for the most part I understand what is going on. I also tried building from source, and it appears to have worked. So, from this poking around I have a few assumptions I've made and a few questions. Correct me if I'm wrong anywhere but.......
Basically, you've built a generic bootloader for the device using buildroot. This is not related at all to the stock CC bootloader (although maybe you borrowed a few drivers, etc). I would guess that the buildroot bootloader has just what you need to display a picture on the TV and do some basic file system operations, and I would also guess that the buildroot bootloader is missing a few features that the stock bootloader has - therefore, it wouldn't be possible to run a full-fledged ROM off of this bootloader. Am I right so far? If so, what is missing from the buildroot bootloader? Libraries? Binaries? No idea?
Also, to access something like USB storage, the buildroot bootloader is able to include the required /dev devices, whereas it wouldn't be possible to include this on CC's stock bootloader without the source. So, doing something like accessing a ROM from an external flash drive isn't feasible because of these limitations? Basically, all that is possible with the current bootloader (of course, the insecure one which allows for unsigned code to run) is to add a few binaries to the stock CC ROM (things like adb, dropbear, etc), maybe add some access to those binaries through Web GUI, etc.
Am I on the right track? Is there anything you would add/correct? Thanks for the help. I'm trying to understand
Click to expand...
Click to collapse
Buildroot does not let us build a bootloader, it lets us build a custom linux distribution that runs on the chromecast. The reason it is unable to do anything "graphical" minus the static image is due to licensing of the marvell GPU driver the chromecast uses. It is currently closed source, so it is unable to be compiled. We can use the blob from the stock OS, but ATM there is no need, and this can cause licensing issues.
Also, you can still access /dev and such on the stock OS. The big thing is the stock OS has usb input disabled at a kernel level, so it doesn't mount or detect any devices plugged in when the OS is running. This is circumvented though if you build and use your own custom kernel. For the features Eureka-ROM adds to the stock OS, we add those by using googles open source cross compiler for the device to build supported binaries.
Hmm...interesting. So, if I understand the booting process properly, upon power-on, a small bit of code called the bootloader is run, loading the kernel into memory (where, among other things, the graphics driver is located). From there, other components of the operating system are loaded on "top" of the kernel. So, it's not the bootloader that's rebuilt - but the kernel - with buildroot. Now, what sort of things would be possible if an open source alternative for the graphics driver were available (bear with me in the hypothetical), or even if one were to take the blob from the stock CC kernel? Turn CC into an android stick, complete with USB input device compatibility maybe?
Now on another note. I want to learn about cross-compiling. I am thinking of trying my hand at cross-compiling samba for the chromecast. Now if I understand the buildroot compiling process correctly, the right compiler for making chromecast-runnable binaries is compiled (or do you include it externally), and in theory, it should be possible to compile samba, right? I've been poking around the buildroot directory tree with the chromecast source superimposed over the top, and as of yet, I havent found the compiling binary (gcc, maybe?). I will look in a bit more depth. Once I find this, it should be as simple as specifying host and target architecture, putting the compiler for the CC in PATH, and compiling, right?
Thanks again for your help, and if you feel this isn't the appropriate place to post this, let me know.
tomg09 said:
Hmm...interesting. So, if I understand the booting process properly, upon power-on, a small bit of code called the bootloader is run, loading the kernel into memory (where, among other things, the graphics driver is located). From there, other components of the operating system are loaded on "top" of the kernel. So, it's not the bootloader that's rebuilt - but the kernel - with buildroot. Now, what sort of things would be possible if an open source alternative for the graphics driver were available (bear with me in the hypothetical), or even if one were to take the blob from the stock CC kernel? Turn CC into an android stick, complete with USB input device compatibility maybe?
Now on another note. I want to learn about cross-compiling. I am thinking of trying my hand at cross-compiling samba for the chromecast. Now if I understand the buildroot compiling process correctly, the right compiler for making chromecast-runnable binaries is compiled (or do you include it externally), and in theory, it should be possible to compile samba, right? I've been poking around the buildroot directory tree with the chromecast source superimposed over the top, and as of yet, I haven't found the compiling binary (gcc, maybe?). I will look in a bit more depth. Once I find this, it should be as simple as specifying host and target architecture, putting the compiler for the CC in PATH, and compiling, right?
Thanks again for your help, and if you feel this isn't the appropriate place to post this, let me know.
Click to expand...
Click to collapse
If we had a fully working open source graphics driver, lots could be accomplished. Full custom linux distributions could run x11 shells, we could have xbmc working with hardware decoding, and yes android would technically be possible if enough people wanted to put the time and effort into it. You can take the blob from the rom to do some of this, but things like hardware accelerated decoding will still not be possible due to the fact there is no documentation on how to use the blobs properly for things like that. (this is my understanding so I may be off on some small details, @tchebb can probably explain it more in depth.)
As for cross compiling, you just need to use googles prebuilt toolchain as the compile source.
Link: https://code.google.com/p/chromecast-mirrored-source/source/browse?repo=prebuilt
Mind if I ask why you want to compile samba? do you want to host media or files from a chromecast device? I actually have CIFS added to the eureka-kernel configs on our repo, so if you compile our kernel from source, you can mount samba shares on the chromecast device using the CLI.
ddggttff3 said:
As for cross compiling, you just need to use googles prebuilt toolchain as the compile source.
Link: https://code.google.com/p/chromecast-mirrored-source/source/browse?repo=prebuilt
Mind if I ask why you want to compile samba? do you want to host media or files from a chromecast device? I actually have CIFS added to the eureka-kernel configs on our repo, so if you compile our kernel from source, you can mount samba shares on the chromecast device using the CLI.
Click to expand...
Click to collapse
Cool. Thanks for the link. Basically, I'm just looking to learn about cross compiling for mobile devices. I figure samba seems easy enough. It was the first thing that came to mind. Any other ideas for something to cut my teeth on? Other binaries that would be well suited to CC, but are easy to compile?
tomg09 said:
Cool. Thanks for the link. Basically, I'm just looking to learn about cross compiling for mobile devices. I figure samba seems easy enough. It was the first thing that came to mind. Any other ideas for something to cut my teeth on? Other binaries that would be well suited to CC, but are easy to compile?
Click to expand...
Click to collapse
One more question...I've looked through the toolchain...the way it's set up is somewhat confusing. In the root directory of the toolchain: bin=gcc, g++, everything else I need to compile. What are the two folders entitled "arm-unknown-linux-gnueabi" and "target-arm-unknown-linux-gnueabi"? They seem to have relevant stuff (one has gcc, g++, etc except without the arm-unk... prefix, and other binaries which seem important). How do I use these/should I use these/why are they kept separate?
Thanks for the help.

custom Rom or change of 4.4.2.Retail.EU

Hello,
I'm a beginner lost in reading all the useful information on this forum.
I started with the idea to reduce the permissions of applications of my Razr I.
Google pointed to this http://www.xda-developers.com/protecting-your-privacy-app-ops-privacy-guard-and-xprivacy/
And I'm really happy and surprised about all information I can find here, thank you that much for
making this possible to all of you!
As today I feel ready to start playing around with my phone I wanted to ensure I understood the items right.
May be for you it takes only some seconds to verify my guess and can give a short notice
about Step 2 or 3 is easier to become implemented.
Step 1.) I wanted to do a full backup before I start, following this thread:
So I'll install ADB on my PC and run "adb backup -f FullBackup.ab -apk -all"
This works on a Razr I with 990.43.74.xt890.Retail.en.EU - of the shelf and is not risky at all - or?
Could you pls. tell whether it is really true I can switch back to my backup if I'm not happy with my System?
Step 2.) My first intention was to root my device and install Xposed framework
http://forum.xda-developers.com/showthread.php?t=2299428
http://repo.xposed.info/module/de.robv.android.xposed.installer
And to use Permission Master out from google play store
First of all I wanted to ask you whether this is feasible technicaly and esp. for a beginner?
Alternative to Step 2 Step 3?
Step 3.) In general I'm happy with my Razr I Android 4.4.2 (990.43.74.xt890.Retail.en.EU)
But I'm wondering whether it would be easier or has less risk to use a custom ROM instead of implementing Step 2.
By reading in this forum I found out there is a planty of features FM-Radio, enhanced stand-by current ,
to get rid of preinstalled aps and so on.
I'm an embedded developer but do not have the overview about the architecture of Android devices, what I got so far is:
There is a bootloader which needs to be changed from OEM closed to open.
There is a boot partition I flash ROMs in.
I need some tools on my PC combined with SDK and Motorola drivers to allow a USB-Debuging and flashing.
And sure as always once your bootloader is damaged you are lost, so I understand even backup will not help here.
So I'll keep my fingers crossed.
Thanking you in anticipation and pls accept my excuses about my english and stupid beginners questions.
Best Regards
gonso
PS:
As I main entry point I used the
http://forum.xda-developers.com/razr-i/general/index-razr-t2832722
from there I'll try to get ADB, drivers etc.
Hi GonsoXDA,
Step 1: I have never used it. Didn't even know that it existed. On the internet there are numerous people who uses it and it seems to work. Maybe someone else can give some info about this or just try it. U can try it with a non-important app and see if it works. Just backup it, delete it and restore it.
Step 2: This works just fine. But do know 3 things:
1. First root: To get root on stock rom, u need to use kingsdroot methode afaik. And that one sends your IMEI to some rare ip adress. I personnaly don't trust this and stay away from it, but there are many people who use it.
2. Xposed requires a recovery to install the framework. It can be done mannually or by the app i suppose. With only root u don't have a recovery on your device that can perform such action.
3. If something goes wrong only a full restore with RSD-Lite can most of the time help u out. Because u don't have a recovery that works than.
Step 3: We only have 2 full roms. 1 for JB (stock) and a working CM11 rom (kitkat).
Only the Jellybean roms support fm-radio, on every newer rom fm-radio is cut out of the audio firmwares. The risk of going to this is even less as Step 2, because u can do a full backup and restore of ur phone. ( I would chose for this if u want to play a bit with the phone and ur warranty is already out of years)
The gereneral idea about the android architecture is this (it is different for almost every device and the Razr I has many more thing to hold into account, but if u are here only for the roms and xposed, there is no more to know):
Bootloader: Is like an uefi bios for PC, but then for android. It also contains fastboot
Bootimage(boot): Has all the info like kernel and ramdisk to boot the system
Recovery: Is like 'boot', but boots into the recovery partition that lets u change every aspect of the device if u know how. Its mainly used to flash a custom recovery to, backup and restore a nandroid backup and flash/wipe roms, mods, (all/specific) data and packages.
Systempartition: Is the system the boot boots into. It's android.
Datapartition: Where all the user data is stored.
Cachepartition(dalvik): Where all cache is stored and in earlier android versions also dalvik. But not now anymore.
Fastboot: To flash/wipe the above partitions and many more (needs drivers)
Adb: To push, pull, command things in system or recovery (needs drivers)
Sdk: contain the abd and fastboot packages, but aren't needed for adb and fastboot because with the right drivers can work on there own (see the internet)
If u have a custom recovery and only change things on the system, data and cache partition there is almost no way to damage the phone. There is always a backup through recovery. As long as u stick to the things u can do in recovery.
The only thing tha can mesh up your phone beyond repair is doing wrong stuff withint the bootloader and other inner parts in the phone(like i did to get newer kernel working) or u are in bad luck and you internal memory blocks. See 'Super brick samsung phones' (emmc error).
I suggest:
- Unlock your bootloader
- Install custom recovery
- Make a backup with the recovery
- Do what u want, xposed on stock rom, try CM11?
- If things won't boot, restore through recovery
And always, read up before doing anything. There are thousands of articles about android, flashing things, repairing android, using adb and fastboot. AND ALWAYS HAVE A BACKUP PLAN!
Hello,
always having a backup seems not to be that easy.
So I unlocked my boot loader and tried to install twrp2850 and twrp2860 via mfastboot.
The mfastboot with 533.353kB caused the following "(bootloader) Variable not supported!"
I rebooted into bootloader and tried recovery -> horizontal Android man with a red !-rectangle
After reboot to normal power up my phone seems to be in factory reset, all my data is gone :crying:
ok crying dosn't help so I looked around and tried with another mfastboot 186.178kB and recoverycwm6.0.5.1.4.img.zip
http://forum.xda-developers.com/showthread.php?t=2441224
The twrp I tooked from here: http://forum.xda-developers.com/showthread.php?t=2278483 seems not to work.
I did a backup with cwm is there a change to get back my data? I think I know the answer.
In the meanwhile I installed
http://forum.xda-developers.com/razr-i/development/rom-unofficial-cyanogenmod-11-t2966855
And will try to install
http://forum.xda-developers.com/xposed/modules/tool-installer-xposed-installer-zenfones-t2983589
Thank you for the help, work and excuse the stupid beginner posts.
Regards
gonso
gonsoXDA said:
Hello,
always having a backup seems not to be that easy.
So I unlocked my boot loader and tried to install twrp2850 and twrp2860 via mfastboot.
The mfastboot with 533.353kB caused the following "(bootloader) Variable not supported!"
I rebooted into bootloader and tried recovery -> horizontal Android man with a red !-rectangle
After reboot to normal power up my phone seems to be in factory reset, all my data is gone :crying:
ok crying dosn't help so I looked around and tried with another mfastboot 186.178kB and recoverycwm6.0.5.1.4.img.zip
http://forum.xda-developers.com/showthread.php?t=2441224
The twrp I tooked from here: http://forum.xda-developers.com/showthread.php?t=2278483 seems not to work.
I did a backup with cwm is there a change to get back my data? I think I know the answer.
In the meanwhile I installed
http://forum.xda-developers.com/razr-i/development/rom-unofficial-cyanogenmod-11-t2966855
And will try to install
http://forum.xda-developers.com/xposed/modules/tool-installer-xposed-installer-zenfones-t2983589
Thank you for the help, work and excuse the stupid beginner posts.
Regards
gonso
Click to expand...
Click to collapse
Than u know the answer, it is no I think.
Both twrp images should work just fine, but always chose the latest. The message "(bootloader) Variable not supported!" doesn't do anything So don't worry about that one. There should be a lot more in you log that the message if twrp didn't install. U did extract it and flash it with the command: mFastboot flash recovery <recovery-image>. Where <recovery-image> could be C:/users/*/Downloads/recovery.img.
Hello,
yes sure "The secret of health for both mind and body is not to mourn for the past, worry about the future"
So I use CM11 now for about 2 days and I'm really impressed, so far everything works :good: THANK YOU!!!
As I asked already I installed XPosed and Permission Manager, but I found XPrivacy might be the better solution and switched to this.
(Today I do not have all the technical background to judge whether it is technically equivalent, but I'll investigate on it)
Esp. one thing I'm wondering, why XPrivacy is reading my Contacts once I check the permissions of an app?
But the more important thing I recognized differences between CM11 and the Stock ROM. One is the Entry
"Privacy" in the settings. It seems to be more or less the XPosed and XPrivacy, or?
But it seems the Restrictions are not shared, so I can restrict in the one and do not see the restriction in the other tool.
So first is there a risk to use both, is it useful or just doing the same twice.
Thank you
Gonso
gonsoXDA said:
Hello,
yes sure "The secret of health for both mind and body is not to mourn for the past, worry about the future"
So I use CM11 now for about 2 days and I'm really impressed, so far everything works :good: THANK YOU!!!
As I asked already I installed XPosed and Permission Manager, but I found XPrivacy might be the better solution and switched to this.
(Today I do not have all the technical background to judge whether it is technically equivalent, but I'll investigate on it)
Esp. one thing I'm wondering, why XPrivacy is reading my Contacts once I check the permissions of an app?
But the more important thing I recognized differences between CM11 and the Stock ROM. One is the Entry
"Privacy" in the settings. It seems to be more or less the XPosed and XPrivacy, or?
But it seems the Restrictions are not shared, so I can restrict in the one and do not see the restriction in the other tool.
So first is there a risk to use both, is it useful or just doing the same twice.
Thank you
Gonso
Click to expand...
Click to collapse
That's a sentence.
Why XPrivacy needs it i don't have a clue. For that sort of things u need to be by the dev of the app.
CM has a lot of features out of the box compared to stock, but stock is most of the time a bit more optimized in terms of proprietary stuff like camera.
So as u noticed, CM had an inbuilt security app. This app (CM) and XPrivacy don't share there settings, so that's the difference u see. But most likely if u disable something in one of the apps it is disabled even tho the other doesn't say it because it doesn't know of it.
I don't think it will be a risk. They both do the same thing, but they don't know about it. To be on the safe side, just use one and restore the other to default. U can always search on the web if they don't get along.
U can now make a full backup, so everything can be reverted and your data should be relative safe.
Hello,
thank you again - I now find the answer by reading in the development part of the forum. For me as a beginner it is sometimes not easy to interpret the discussions there.
If accepted I will use the thread now as a kind of diary, may be some other users will have similar destinations and my learn from my mistakes.
So to answer my question a little more detailed, but with less background know how than Hazou. Pls. do not trust me I'm a beginner, I have not analyzed the code just the behavior - feel free to correct or contradict my words!
The XPosed is in the area of permissions just a framework which allow other modules to put some code between an app requesting permissions and the Android core granting this permissions. The Xposed it self doesn't handle settings or permissions you did in modules like the CM Privacy, Permission Manager or XPrivacy.
As a result I came to the same conclusion it is not a risk, but an overhead to have more than one pice of code between the app requesting permissions and the Android core. -> My proposal: Do not use more than one of this Permission control apps in parallel.
From the privacy perspective the Permission is just a starting point, it allows you to hide your private information from the app. On the other side many apps will need access to the data to work and most of them are able to connect to the internet.
So I realized the next step would be the restriction of internet usage of apps. Here permissions are sword but we need a scalpel, to separate the necessary from the unwanted connections. This scalpel could be AFWall+ and "Netzwerk Log", this is a firewall and a sniffer.
What I can say to day the apps run on CM11 installed on my Razr I.
So it looks like I see my destination raising on the horizon and I will try to formulate it in the following order:
1.) Hide Contacts, Calls and SMS from Apps who do not need this to work -> XPrivacy
2.) Disable some Android features I think I don't need.
(e.g. Captive Portal Check - settings put global captive_portal_detection_enabled 0)
3.) Restrict the internet access of some apps to servers they need to connect. ( e.g. E-Mail client is restricted to connect to the mail server)
4.) Limit the access to my pictures, stored on SD card. [I have not found a solution so far]
If you read this I think 1 is reasonable for most of you, even if you do not have deep Android or Network know how (as I have), you just restrict the permissions - if app crashes or doesn't do the job you expect you may permit access or uninstall the app. (XPrivacy allows you also to fake data)
3 is a usual task of a network administrator, if you are used with iptables it is just work. I'll try to find out whether there is somewhere a source of "Templates". Usually the network admins share there common settings based on services, once I find out I'll post.
To restrict the access to SD Card I only see the change to extend the sandbox of Android to the SD and to hide files which does not belong to the app. As I would store my pictures on SD as I would store my Navi Data, but neither the Navi app should see my pictures nor the Cam and Gallery my Navi Data. ...
I don't know whether there is an app out there but It should be possible the same way like XPrivacy fakes the other data.
Thank you
Gonso
Hello,
Most of the time I used the numbers to just put in the extension, so if I want to call 0049 9876 54 321 I put the numbers 321 the Motorola dialer will show a list of all contacts where the number contains 321.
Some Numbers of contacts are not shown as well, seems if a contact has more numbers only one or two are shown.
The CM11 dialer doesn't show the number, is there a setting to get this feature?
I tried to get my Stock dialer back, so I copied dialer.apk from stock into the /system/sec-app/ directory of the CM11 and restarted the phone -> doesn't change the dialer ....
Any proposals? I'm terrible sorry for my stupid questions, I read several threads and still no idea about a possible solution
Gonso
PS: CM11 file manager shows a secure storage /storage/emulated/0/storage/secure - what is the algorithm used for the encryption.
gonsoXDA said:
Hello,
Most of the time I used the numbers to just put in the extension, so if I want to call 0049 9876 54 321 I put the numbers 321 the Motorola dialer will show a list of all contacts where the number contains 321.
Some Numbers of contacts are not shown as well, seems if a contact has more numbers only one or two are shown.
The CM11 dialer doesn't show the number, is there a setting to get this feature?
I tried to get my Stock dialer back, so I copied dialer.apk from stock into the /system/sec-app/ directory of the CM11 and restarted the phone -> doesn't change the dialer ....
Any proposals? I'm terrible sorry for my stupid questions, I read several threads and still no idea about a possible solution
Gonso
PS: CM11 file manager shows a secure storage /storage/emulated/0/storage/secure - what is the algorithm used for the encryption.
Click to expand...
Click to collapse
Stock CM dialer doesn't have that function afaik. The moto one doesn't work because it needs the Moto framework to work. Just download a dialer U trust from the playstore.
I don't have any clue about the secure storage, sorry.

Categories

Resources