[GUIDE] CopperheadOS - Ultra-Secure Android ROM - Background & Installation - Nexus 6P General

Site: https://copperhead.co/
CopperheadOS is the next-gen hardened android distribution, for those fine folks amongst us who have need for a high-security smart phone. As we all know, there are latent bugs in just about everything, but CopperheadOS [COS for short] attempts to work around these by hardening the Linux kernel and also hardening the user space.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
The detailed features can be found here: https://copperhead.co/android/docs/technical_overview
An extensive article on this bright new operating system can be found here:
http://arstechnica.com/security/2016/08/copperhead-os-fix-android-security/
Here is a lengthy interview with the main developer of copperhead where he discusses what sets COS apart from other contenders [blackberry in particular] as well as his use of OpenBSD code and the PAX kernel to build COS:
http://www.tomshardware.com/news/copperhead-nexus-more-secure-priv,30565.html#xtor=RSS-181
Tor is currently working in parallel with COS to deliver a slightly modified version of COS which adds some other functionality.
You can read about this here:
https://blog.torproject.org/blog/mission-improbable-hardening-android-security-and-privacy
…and here:
http://arstechnica.com/security/2016/11/tor-phone-prototype-google-hostility-android-open-source/

Installation of CopperheadOS
I tried the traditional install instructions here: https://copperhead.co/android/docs/install
...and found that even with attempts to do the command line work on a Linux box it still doesn't quite work right. One of the prerequisites is you have to download the Android Software Development Kit [SDK]. I did this on the Linux box and it still didn't quite install all the way, I got some sort of error I don't recall right now.
Flashing via TWRP doesn't work all the way either due to a lack of either META-INF or checksum signatures in the contained zip file.
So let's try this:
(1)
First you need to acquire the ROM from Nexus 6P the download section here: https://copperhead.co/android/downloads?device=angler
Get the latest factory image, don't worry about the OTA update.
Also get the unofficial TWRP recovery from here: http://forum.xda-developers.com/nexus-6p/general/recovery-twrp-3-0-2-3-unofficial-touch-t3516951
(2)
After you download the angler-factory-[blah-blah-blah].tar.xz file, decompress it somewhere convenient onto your computer where you also have the ADB and fastboot .exe's handy.
Inside this decompressed archive you will find another archive entitled image-angler-[some characters].zip. Again, decompress this zip file into your ADB folder and you will see a list of the following items:
Code:
android-info.txt
boot.img
cache.img
recovery.img
system.img
userdata.img
vendor.img
You should also see elsewhere in the main directory the following items:
Code:
bootloader-angler-angler-03.62.img
radio-angler-angler-03.78.img
Move these items into your ADB directory if you have not already done so.
(3)
Backup your Nexus 6P now with TWRP, and copy all of the archived backup items off of the phone onto your personal computer.
While still in TWRP, do the advanced wipe command and format the various partitions of your phone. Then power off.
(4)
Put your phone into fastboot mode by powering it off then holding the volume down button while powering on.
(5)
Open up your ADB command line console and type in "fastboot devices". You should see your phone serial number and "fastboot" next to it.
(6)
Following the lead by some of our intrepid developers here at this link:
http://forum.xda-developers.com/nexus-6p/general/guides-how-to-guides-beginners-t3206928
...We're going to flash these image files manually using fastboot.
Type in the following commands one at a time:
(7)
If you have not already done so, ensure that your bootloader and radio are up to the requisite versions:
Code:
fastboot flash bootloader bootloader-angler-angler-03.62.img
fastboot reboot-bootloader
fastboot flash radio radio-angler-angler-03.78.img
fastboot reboot-bootloader
(8)
Next we'll flash the main system files:
Code:
fastboot flash system system.img
fastboot flash vendor vendor.img
fastboot flash boot boot.img
fastboot erase cache
fastboot flash cache cache.img
(9)
I'm unclear as to whether or not it's necessary to flash the user data, but if you do, you will need to reflash TWRP afterwards and resize your data partition if you have the 64 GB or 128 GB models.
Code:
fastboot flash userdata C:/images/userdata.img
(Note: this command will wipe your device (including /sdcard), EVEN if your bootloader is already unlocked.)
(10)
Optional:
The default install script will flash the recovery that came with COS. You may or may not need to do this.
Code:
fastboot flash recovery recovery.img
(11)
When done, reboot and enjoy.

Current limitations of CopperheadOS:
No built-in root capability.
Therefore, no ability to install backed up apps from Titanium Backup.
Therefore, no ability to do root-level ad blocking. (This must be done by other means which I will write up on soon.)
No Google apps, although FDroid is installed by default.
Apparently installing google apps goofs up OTA updates (I haven’t confirmed this yet)
Lock screen / bootup pattern is limited to 3x3. CyanogenMod and others give you the ability to do up to 6x6 patterns.
Automatic updates don’t seem to download properly. I see a notification that an update is available but it never seems to start the download.
TWRP recovery doesn’t seem to “stick”. It disappears upon reboot.
SuperSU doesn’t seem to flash properly with traditional TWRP zip install methods.
ROM size is rather large compared to CyanogenMod .
RAM usage seems to be higher than CyanogenMod , but this may be due to defenses against buffer overflows (apparently part of the defensive code borrowed from the ultra-secure OpenBSD.)
Frankly this entire ROM looks quite promising but it feels somewhat rough right now, it comes across as a work in progress.
If you’re in a position where you positively need the best possible security due to your occupation, this is the way to go. Everything is handled on the phone itself, Google is cut out of the loop, which is good, and you’re left with a bare-bones smartphone that will get you around safely and securely but not quite in the same style as cyanogen mod or another stripped-down of similar variety.

[RESERVED]

Nice write-up and review. Seems interesting.

Root access on CopperheadOS? Lol, no.
Sent from my LG-H831 using Tapatalk

ChongoDroid said:
Root access on CopperheadOS? Lol, no.
Click to expand...
Click to collapse
As mentioned in post #1, the fine folks at the Tor Project are working feverishly on a modified fork of Copperhead with more bells and whistles, namely root access, google, OrWall, Orbot, and maybe a few other bells and whistles.
Problem is it's still in development and the install process is even more convoluted. See here: https://blog.torproject.org/blog/mission-improbable-hardening-android-security-and-privacy
This would be a much better middle ground that I think we could get behind. It still feels somewhat "work-in-progress"-ish so we may need to wait a few months to easily and elegantly get going with something more secure that OEM android.
@ChongoDroid:
We are indeed staying frosty around here even though we aren't in Vancouver. It's still cold outside.

If you wanna use signal without play services then I'd suggest this https://play.google.com/store/apps/details?id=org.smssecure.smssecure
Sent from my LG-H831 using Tapatalk

CaptShaft said:
As mentioned in post #1, the fine folks at the Tor Project are working feverishly on a modified fork of Copperhead with more bells and whistles, namely root access, google, OrWall, Orbot, and maybe a few other bells and whistles.
Problem is it's still in development and the install process is even more convoluted. See here: https://blog.torproject.org/blog/mission-improbable-hardening-android-security-and-privacy
This would be a much better middle ground that I think we could get behind. It still feels somewhat "work-in-progress"-ish so we may need to wait a few months to easily and elegantly get going with something more secure that OEM android.
Click to expand...
Click to collapse
I've been using said "Mission Improbable" flavor of CopperheadOS for a few weeks now and it's working great for me. Have to admit though that I've been using this variant over the vanilla COS for Google Play services rather than the Tor implementations. Updating is a bit of a pain as you have to return to the Linux box for each and every OS update. But the advertised features do indeed work well. CopperheadOS itself leaves little to be desired, although I miss TWRP. While not as good Adaway in my experience, DNS66 eases the ad pain: https://f-droid.org/wiki/page/org.jak_linux.dns66

sicmatron said:
I've been using said "Mission Improbable" flavor of CopperheadOS for a few weeks now and it's working great for me. Have to admit though that I've been using this variant over the vanilla COS for Google Play services rather than the Tor implementations. Updating is a bit of a pain as you have to return to the Linux box for each and every OS update. But the advertised features do indeed work well. CopperheadOS itself leaves little to be desired, although I miss TWRP. While not as good Adaway in my experience, DNS66 eases the ad pain: https://f-droid.org/wiki/page/org.jak_linux.dns66
Click to expand...
Click to collapse
Mission Improbable looks very interesting. So can you install the Google Play Store easily then on it?

emacsomancer said:
Mission Improbable looks very interesting. So can you install the Google Play Store easily then on it?
Click to expand...
Click to collapse
When doing the Mission Improbable magic, Google Play Store and everything required for it is being baked into the OS. I don't understand the process nearly as much as I would like, my understanding is that the script package (Mission Improbable is nothing more than that really) takes the COS base, inserts OpenGapps, Orwall and Torbot and fixes the signatures accordingly.

sicmatron said:
When doing the Mission Improbable magic, Google Play Store and everything required for it is being baked into the OS. I don't understand the process nearly as much as I would like, my understanding is that the script package (Mission Improbable is nothing more than that really) takes the COS base, inserts OpenGapps, Orwall and Torbot and fixes the signatures accordingly.
Click to expand...
Click to collapse
That sounds excellent. I wonder if I can find a Nexus 6P (would have to be 128gb since no sdcard slot) at a reasonable price point after the holidays. I would really like to have a somewhat more secure mobile phone.

On a sidenote, it appears that something newer/faster than 6P isn't going to be supported by COS anytime soon:
The Pixel phones won't be supported without funding specifically for supporting them. Right now, we have no Pixel devices and no funding towards supporting them. There's no time available to do something like a proper crowdfunding campaign for this. We could post a kickstarter campaign with simply a goal without any rewards or a video... I doubt it would get funded, since we receive such a small amount via donations despite supporting a lot of different methods to donate. Going from 3 to 5 devices would be a huge increase in workload even after adding the initial support, and then we'd be expected to commit to supporting them for 3 years.
Click to expand...
Click to collapse

Maybe I'm just crazy but isn't the point of Copperhead to prevent complex/sophisticated attacks? I mean if you're just trying to keep out a thief or prying eyes of a significant other then having an encrypted (locked bootloader) 6p running the latest OS would be more than enough. So when the threat model get's bumped up (sophisticated hacker, state sponsored, etc) then stuff like PAX, hardened kernel etc can defend against complex attacks, even 0days. So if you need that kind of security, why in the hell would you need root? For an adblocker? Really?
Tor doesn't need root to work, just use the VPN feature.
I can see the need for Google Apps (all though if you're hiding from state sponsored hackers, using Google might not be a good idea.) so I am a little interested but anyways I'll never discourage others from development so ignore me, I'm just old school when it comes to security.

ChongoDroid said:
So when the threat model get's bumped up (sophisticated hacker, state sponsored, etc) then stuff like PAX, hardened kernel etc can defend against complex attacks, even 0days. So if you need that kind of security, why in the hell would you need root? For an adblocker? Really?
Click to expand...
Click to collapse
Or for running Titanium Backup to move your old apps + data and settings from the old phone onto the new one. It's an uphill battle with Google Play in the first place and Helium (or others) doesn't play well with Copperhead OS right now.
After data migration, Root could be thrown away and we'd be fine.
ChongoDroid said:
Tor doesn't need root to work, just use the VPN feature.
Click to expand...
Click to collapse
The folks over at tor point this out:
We require SuperUser and OrWall instead of using the VPN APIs because the Android VPN APIs are still not as reliable as a firewall in terms of preventing leaks. Without a firewall-based solution, the VPN can leak at boot, or if Orbot is killed or crashes. Additionally, DNS leaks outside of Tor still occur with the VPN APIs on some systems.
ChongoDroid said:
I can see the need for Google Apps (all though if you're hiding from state sponsored hackers, using Google might not be a good idea.) so I am a little interested but anyways I'll never discourage others from development so ignore me, I'm just old school when it comes to security.
Click to expand...
Click to collapse
I agree wholeheartedly. Google = jsut another backdoor for Big Brother spying via NSL's and the Mass Surveillance. I'm attempting to live without GP now, but some apps are behaving weirdly. And I have to manually sideload the apps from google after another update. FDroid is good but apps like Signal aren't' distributed or maintained through FDroid yet.
If there was some sort of backend where FDroid could process the GP app updates without direct connection to GP, that would be great.

To all interested: http://forum.xda-developers.com/general/rooting-roms/guide-hosts-based-adblocking-root-t3526537
Here I discuss a method of getting going with hosts-based adblocking minus root, and I did this specifically here on Copperhead. Enjoy!

Would adb backup work to replace helium? Tbh I haven't had it work on 7.0+ even with root reliably.
Sent from my LG-H831 using Tapatalk
---------- Post added at 10:22 PM ---------- Previous post was at 10:20 PM ----------
Hmm I'll look on https://ipleak.net to see if I'm getting leaks on VPN and I don't use tor but I'll check it out
Sent from my LG-H831 using Tapatalk

I just did a bunch of tests on a handful of browsers and even on the leakiest (chrome) browser I didn't get anything compromising. Maybe the bugs in the VPN APIs have been fixed because everything is kosher on my end.
Using Private Internet Access, AES-256, SHA256, RSA 4096. Make sure webrtc is blocked if you're using a different vpn app and use chrome.
Sent from my LG-H831 using Tapatalk

Im using copperhead os too and my only issue with it is that most of the good privacy apps , orwall and afwall , all require root. Obviously copperhead isnt rootable. Is there any other similar privacy based builds available?

Is there any instructions on how to install the Copperhead ROM? The instructions are not very descriptive on the copperhead site and the instruction here didn't work.

Related

[GUIDE](upd:14/01/12)Samsung Galaxy Ace-User Guide +Addons +Video tutorials (Read Me)

Previous thread Name was [GUIDE]What Is Meant By Firmware, Stock & Custom ROMs And Flashing
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Welcome to the world of Google Android.
Do terms like ‘Android ROM’ confuse you? Is your understanding of ‘flashing’ limited to acts of exhibitionism? Do you feel left out or clueless when your friends talk about flashing the latest custom ROM to their Android device ? here is a guide for you to make your life easier
Hey guys, this is a guide which will help many people (new users).
Note-
Red color means -> its important !!
Click to expand...
Click to collapse
Understanding ROM’s and Builds
A ROM is essentially a custom version of Android. Each tweaks, combines, or optimizes Android to offer something standard versions lack. Within ROM’s, you have what are known as builds (basic branches of Android code) that offer certain features and characteristics.
Think of it as a crude metaphor for Microsoft Windows. There’s XP, Vista, and Windows 7. All three are Windows operating systems and can typically run the same programs, but there are major differences between them. Within each OS, there’s further distinction between Vista Home, Vista Pro, and Vista Ultimate. Likewise, one ROM can spawn multiple versions. For instance, there are several flavors of Drake’s Hero ROM..
Be advised that some ROM’s require a wipe (erases all information stored on your phone) before or after installation. This is done when you enter the recovery mode and perform a “factory data reset.”
What is Firmware?
The read-only operating systems that we just discussed above are also called ‘firmware’, as they stay firmly in place without modification access to the users of the device. Modification of firmware is still however possible, just not under normal usage. Many devices require specialized hardware to be used for the purpose while other devices have the storage set as read-only through software protection only, which can be removed or overridden without the need for any specialized hardware, just by using software written for the purpose, often but not always requiring connection to a computer.
Thus, the terms ‘operating system’ and ‘firmware’ both refer to the same thing and can be used interchangeably when applied to such devices.
Flashing
The ROM memory used in smartphones and tablets etc. is often same as flash memory found in SD cards and USB flash drives, simply optimized for better speed and performance while running the operating system. As explained above, it is read-only under normal usage and requires a special procedure for any modifications to be made to its contents. The procedure of modifying or replacing the contents of such flash memory is known as flashing. Thus, in layman’s terms, flashing is essentially the same as installing or modifying the firmware of a device that is stored on its protected flash memory.
2 – Mobile Operating Systems
ROM as the Operating System
When it comes to smartphones and tablets, the term ROM is used to refer to the firmware stored in the internal memory of the device, rather than the internal memory itself. It can also refer to a file prepared for the purpose of replacing this firmware with another version of using a special method.
Thus, when you are told by someone to download a ROM, they are referring to the file that contains the firmware in a format ready to be installed to your phone to replace it’s existing firmware. Similarly, when asked what ROM is your phone running or when told by someone their phone is running a particular ROM, they are again talking about the particular variant of the firmware.
Types of ROMs->
Unlike most desktop operating systems, mobile operating systems can be found in installable format in multiple forms, which can be categorized as follows.
A)Truly Stock ROMs / firmware:
This is the operating system in its default form, without any modifications made to it except for any device-specific support required to run it on the particular device. Truly stock firmware provides the standard user experience of the operating system without any cosmetic or functional changes made.
B)Manufacturer or Carrier branded Stock ROM / Firmware:
This type of firmware has had enhancements added over the default operating system by the device manufacturer or the mobile service carrier. This often includes interface enhancements, proprietary applications and in most cases, restrictions intended to limit the use of the device with a specific carrier or region. There are often further restrictions preventing installation of firmware not released by the carrier or manufacturer.
C)Custom ROM / firmware:
Independent developers who like to customize their devices beyond the standard options provided often tend to release the fruits of their labor for the rest to enjoy, in form of custom ROMs.
3 – Stock Vs. Custom ROMs
Both stock and custom ROMs have their merits and demerits and choosing between the two requires careful consideration. In this section, we are going to make a comparison between the two types of ROMs to help you make the right choice. Let us begin by taking a look at their advantages and disadvantages.
Advantages & Disadvantages of Stock ROMs
Stock firmware is the result of a lot of research and testing done by the operating system vendor, the device manufacturer and/or the mobile service carrier. Therefore, it carries several advantages:-
1>It is usually quite stable upon release.
2>Almost all bugs are patched during the extensive beta testing before release.
3>It carries the official support by the firmware vendor, device manufacturer and the mobile service carrier.
4>Updates are pushed automatically to the device by the carrier.
Along with its advantages, stock firmware also carries its disadvantages and these include:
1>Updates aren’t frequent, as development is done mostly by corporations who have to follow a scheduled release cycle.
2>Providing feedback to the manufacturer in case of any issues is either impossible, unwelcome (often with Apple devices), or a long, tedious process.
3>Similarly, getting official support can be a hassle as well, involving a tedious process.
4>If the device manufacturer and operating system developer are different (as is the case with Android and Windows Phone 7), any updates released by the operating system vendor need to be edited by the device manufacturer or mobile carrier to add compatibility and additional software before release. Hence, some devices get updates delayed by months.
5>Updates are often released first in the United States, leaving the rest of the world waiting. (A world does happen to exist beyond the United States, we’ve confirmed it ourselves!)
6>Worse still, when manufacturers choose to no longer release official updates for their older devices in favor of newer ones, their users are essentially stuck with old versions of the operating system. This case is evident with many Android devices barely a year and a half old.
Advantages & Disadvantages of Custom ROMs-
Custom ROMs are as good or as bad as the effort put into them by their developers. Key advantages of custom ROMs are:
1)First and foremost, choice! There are thousands of custom ROMs out there for a range of devices, each offering a diverse set of features not found in the stock ROM.
2)Update frequency – custom ROMs are often under active development and newer releases of the core operating system are incorporated in them way before updated official ROMs are released.
3)Providing feedback is as easy as leaving a message on the development forum for the ROM in question.
Getting support with your issues at the forums is similarly easy, as not only the main developers themselves but also other experienced users of the ROM from the community are glad to help you with your issues and in the process, improve the ROM for everyone.
4)Custom ROMs usually have all the extra restrictions removed
5)Performance enhancements and optimizations found in many custom ROMs can make them much faster than stock ROMs ,enabling users to get the most out of their devices.
5)Overclocking options are built into some custom ROMs, further speeding up the devices.
6)Undervolting options found in some ROMs on the other hand result in improved battery life.
7)Old phones with little internal memory can benefit most from custom ROMs that allow them to use the external SD card memory for the apps exactly the way they would use the internal memory.
So with all these advantages, there should be no reason to stick with the stock ROM, right? Not necessarily! Like all things in life, custom ROMs come with their disadvantages as well:
1)Due to the lack of extensive testing prior to release, many custom ROMs can be buggy in the beginning and installing a ROM with missing or corrupt critical files can even brick your phone.
2)Several custom ROMs that are ports of ROMs from other phones can have missing functionality that hasn’t been made to work on your phone with the ROM yet.
Installing a custom ROM usually involves wiping your phone to factory settings, so you lose your data and start from scratch. Fortunately, Android’s built-in contact syncing along with apps offering message, call log and app backup/restore make this process easier, letting you retain your data.
The installation process can be cumbersome and requires you to root your phone and often circumvent its security features to allow for custom ROM installation in the first place.
Installing a custom ROM will in most cases void your phone’s warranty, though often the process is reversible, meaning you can turn your phone back to stock as long as it isn’t bricked.
Choosing the Right Custom ROM
With several custom ROMs available for most Android devices, choosing the right one isn’t always easy. The question of ‘which is the best ROM for _____ phone / tablet’ is as often frowned-upon at the forums as it is asked, since there is no universal answer for it. One ROM may be the best for me while another might suit you better. The only solution is to read a lot, go through the feature list, read user response and if required, ask the developer questions at the forum page for the ROM. Attempt to install the ROM only after you are fairly satisfied that doing so will not harm your device to the extent you can’t fix.
Power saving tips:
Dont use a live theme
Use a dark wallpaper
Turn off wi-fi & bluetooth when not in use
Stop friendstream, facebook & peep updating every 5mins. Set mine to manual.
Set email app to manual
Set screen brightness to auto or 40% (lower if you can put up with it).
How does one flash a kernel?
The process is a simple as flashing a ROM, put the .zip on ur sdcard, go into recovery,wipe cache,dalvik-cache, install .zip from sdcard, reboot phone and ur done.
You can find stock firmwares here -
sampro.pl
sammobile
Important (Read it carefully) -> Forum & Marketplace Rules & announcements
Android 2.3(Gingerbread) user guide
Android 2.2 (froyo) user giude
Addons (links)​....
Simple ways to speed up your Android Device
A Few CM7 Tip and Tricks
[HOWTO] Enable CRT Animations on all Android 2.3 Devices
[Video][HOWTO] Create simple MIUI Lockscreens for Yourself
ANDROID TIPS & TRICKS
[TUT] How to force install apps to SD card without ROOT!!!
Some other guides by our awesome developers-
A Newbie Guide for your Galaxy Ace by EmoBoiix3
[Newbie Guide] adb/fastboot/bootloader/android 101 + Q & A by seraph1024
Newbie Friendly How To's w/ Instructional Videos by dcogen
[GUIDE]Overclocking,its benefits and risks for Ace by Prawesome
TUT]Decompiling an apk,converting dex to jar(NEWBIE FRIENDLY) By Prawesome
[TUTORIAL] UOT Kitchen By ingbrzy
[GUIDE][CM7] Changing Boot Animation by tanmayjindal
[TUTORIAL] How to upgrade, root, flash Recovery & Custom ROM Samsung Galaxy Ace S5830 by hubix
How to unbrick Samsung Galaxy Ace
Video giudes-
A simple introduction to the basic use of the Android operating system. (Youtube)
How to root Galaxy ACE on Gingerbread (youtube)
How to Root Samsung Galaxy Ace S5830 on Froyo(youtube)
What is Root? ( Android )(youtube)
How to use Odin to update galaxy ace (youtube)
Guide: How to download eBooks to Android!
Useful posts -
[UPDATE] DEODEX+ROOT - it`s easy! by Lovetz
All samsung galaxy ace roms,tweaks,kernels by mv_style
That should be enough to get you started.
I hope this guide helps you.......
Dont forget to press Thanks button
First. It's too wordy though. Otherwise, good piece of info!
Sent from my GT-S5830 using xda premium
Sticky-worthy thread!
Also: can you improve the formatting?
Number two: *GUIDE
Sorry if I sounded like a perfectionist a**.
adeklipse said:
Sticky-worthy thread!
Also: can you improve the formatting?
Number two: *GUIDE
Sorry if I sounded like a perfectionist a**.
Click to expand...
Click to collapse
Done formatting ...liked it ?
Nice guide you have there
Just needs to be a little more noob-proof
Excellent thread man...This should be stickied
thread such as these should be stickied,though it needs some editing in terms and some noob-proof overall good job
usb connection problem
hi i have a galaxy ace with cynogenmod 7.2 and i have a problem i cannot find a fix for.
problem:
when plugging in my device into my computer it failes to connect. my computer posts a pop up box instead of saying your device has installed and is ready to use it says the following...
! USB device not recognised
one of the usb devices attached to this computer has malfunctioned and windows dose not recognize it.
for assistance in solving this problem click this message.
i have done the same thing with my sisters phone and her phone connects fine with usb debugging.
what can i do to solve this issue as i would like to use odin to flas back to stock gingerbread 2.3.4
i have looked and searched for months on end and got nowhere please xda help
baileydroid said:
hi i have a galaxy ace with cynogenmod 7.2 and i have a problem i cannot find a fix for.
problem:
when plugging in my device into my computer it failes to connect. my computer posts a pop up box instead of saying your device has installed and is ready to use it says the following...
! USB device not recognised
one of the usb devices attached to this computer has malfunctioned and windows dose not recognize it.
for assistance in solving this problem click this message.
i have done the same thing with my sisters phone and her phone connects fine with usb debugging.
what can i do to solve this issue as i would like to use odin to flas back to stock gingerbread 2.3.4
i have looked and searched for months on end and got nowhere please xda help
Click to expand...
Click to collapse
Type devmgmt.msc in run command popup open of device manager go to Universal serial bus controller there is a yellow mark on samsung usb driver unistall it.after uninstallation have a look on help down there is a button for scan hardware changes press it. go to driver and scan automatically u done
note:-make sure u connected to internet when doing this
Forget the 10 post dev section limit, they just have to read this 5 times!!
Sent from my GT-S5830 using xda premium
----Thread updated----
changelog-
-deleted some useless imformation
-Video tutorials
-Links to other threads
-addons
and more.....

[Android ABC] What's a Bootloader,ROM,Kernel,Firmware,ADB,Root etc

Android ABC​
I've gathered some info for newcomers to the Android world.
Copied over from my thread at androidforums...
I've tried to keep it relatively simple. So if you want more info, follow the links!
And please if you want anything added, do post!
I hope this helps someone....
Inventory:
Bootloader
Kernel
CWM
Firmware
Flashing
Rooting
Custom ROMs
ADB
Baseband
Dalvik
init.d​
What's A Bootloader?
Taken from: Android 101: What is a bootloader? | Android-Does.com
In literal terms, the bootloader is code that is executed before any Operating System starts to run. Bootloaders basically package the instructions to boot operating system kernel and most of them also have their own debugging or modification environment. Think of the bootloader as a security checkpoint for all those partitions. Because if you’re able to swap out what’s on those partitions, you’re able to break things if you don’t know what you’re doing.
As the bootloader kicks off before any piece of software on your device, it makes it extremely processor specific and every motherboard has it’s own bootloader. This is one reason that all Android phones have different custom ROMS developed due to high variance of processing hardware present on the device.
Android Bootloader
Every Android phone has a bootloader that instructs the operating system kernel to boot normally. But you need to understand one thing here that as Android OS is an open source OS and is available on a variety of different hardware, every manufacturer has their own version of bootloader specific for the hardware present in it’s environment. At its most basic level, your Android smartphone is like a hard drive, made of up several partitions. One of those partitions holds the Android system files, another holds all the app data you accumulate (which is how you’re usually able to update without losing all your stuff), and others to do more behind-the scenes stuff.
A lot has been said about bootloaders being “locked” and even the developer-friendly Nexus devices shipped with a locked bootloader (Nexus devices and a couple tablets are easily unlocked with a single command).In fact, a lot bootloaders are locked and encrypted, meaning simple commands like “fastboot oem unlock”, won’t do a thing.
Why are Bootloaders Locked?
A bootloader is usually locked on an Android device because although it’s an open source OS, still the manufacturers want you to stick to their Android OS version specifically designed for the device. In order to apply this concept, manufacturers lock the bootloader. With a locked bootloader on Android devices, it is virtually impossible to flash a Custom ROM and forced attempts void warranty as well as usually end up in bricks. Therefore, the first step is to always unlock the bootloader.
Why keep a bootloader out of reach? One of the biggest reasons is that the carriers and manufacturers don’t want to have to support hacked phones. The other is that a lot of time and money is spent developing these things. HTC Sense ain’t cheap. Neither is TouchWiz. But Samsung and HTC both have managed to find a middle ground with the modding community, and pressure is on other companies to do so as well.
Also a very good read about bootloaders: http://www.tested.com/news/feature/1879-know-your-android-bootloaderwhat-it-is-and-why-it-matters/
---------------------------------------------------------------------------
What's a kernel?
Taken from: Android A to Z: What is a kernel? | Android Central
A kernel isn't something unique to Android -- iOS and MacOS have one, Windows has one, BlackBerry's QNX has one, in fact all high level operating systems have one. The one we're interested in is Linux, as it's the one Android uses. Let's try to break down what it is and what it does.
Android devices use the Linux kernel, but it's not the exact same kernel other Linux-based operating systems use. There's a lot of Android specific code built in, and Google's Android kernel maintainers have their work cut out for them. OEMs have to contribute as well, because they need to develop hardware drivers for the parts they're using for the kernel version they're using. This is why it takes a while for independent Android developers and hackers to port new versions to older devices and get everything working. Drivers written to work with the Gingerbread kernel on a phone won't necessarily work with the Ice Cream Sandwich kernel. And that's important, because one of the kernel's main functions is to control the hardware. It's a whole lot of source code, with more options while building it than you can imagine, but in the end it's just the intermediary between the hardware and the software.
When software needs the hardware to do anything, it sends a request to the kernel. And when we say anything, we mean anything. From the brightness of the screen, to the volume level, to initiating a call through the radio, even what's drawn on the display is ultimately controlled by the kernel. For example -- when you tap the search button on your phone, you tell the software to open the search application. What happens is that you touched a certain point on the digitizer, which tells the software that you've touched the screen at those coordinates. The software knows that when that particular spot is touched, the search dialog is supposed to open. The kernel is what tells the digitizer to look (or listen, events are "listened" for) for touches, helps figure out where you touched, and tells the system you touched it. In turn, when the system receives a touch event at a specific point from the kernel (through the driver) it knows what to draw on your screen. Both the hardware and the software communicate both ways with the kernel, and that's how your phone knows when to do something. Input from one side is sent as output to the other, whether it's you playing Angry Birds, or connecting to your car's Bluetooth.
It sounds complicated, and it is. But it's also pretty standard computer logic -- there's an action of some sort generated for every event. Without the kernel to accept and send information, developers would have to write code for every single event for every single piece of hardware in your device. With the kernel, all they have to do is communicate with it through the Android system API's, and hardware developers only have to make the device hardware communicate with the kernel. The good thing is that you don't need to know exactly how or why the kernel does what it does, just understanding that it's the go-between from software to hardware gives you a pretty good grasp of what's happening under the glass. Sort of gives a whole new outlook towards those fellows who stay up all night to work on kernels for your phone, doesn't it?
---------------------------------------------------------------------------
What's CWM?
Taken from: AddictiveTips » Blog ArchiveWhat Is ClockworkMod Recovery And How To Use It On Android [Complete Guide]
ClockworkMod, abbreviated as CWM, is a popular custom recovery for Android phones and tablets developed by Koushik Dutta (Koush), a well-known name in the Android dev community. ClockworkMod recovery allows you to perform several advanced recovery, restoration, installation and maintenance operations on your Android device that aren’t possible with the stock recovery, and is one of the most common ways used to gain root access, back up device data, install a custom ROMs, kernels, themes, mods and more. However, for anyone new to Android customization and hacking, some of its options might prove to be a tad confusing. In what follows, we will cover all that this recovery is capable of doing, and how to do it.
About Android Recovery
All Android devices ship with a recovery console that is basically a partition on the device’s internal memory and can be booted into. The stock recovery of almost all Android devices provides a few basic yet handy options that allow you to factory reset your device and also to recover its operating system using an official ROM in zip format, but that’s all you can do with it. That’s where a custom recovery comes handy.
A custom Android recovery basically replaces the stock recovery with one that lets you do all you can do with the stock recovery, plus a plethora of more options to give you a lot more control on your device. With a custom recovery, you can install official and unofficial ROMs as well as other updates including apps, themes, kernels etc. using zip files, wipe not just user data but pretty much every partition on your device, mount the storage card for USB mass storage access without leaving recovery, partition your SD card, wipe Dalvik cache and battery stats, fix permissions, perform, manage and restore backups and so on.
Introduction To ClockworkMod
ClockworkMod recovery is one of the most widely used custom Android recoveries that is available for most mainstream Android devices. It is our custom recovery of choice here at AddictiveTips and almost every custom ROM that we install on our devices is done using this recovery.
ClockworkMod recovery has been developed by Koushik Dutta (also known as Koush) – the same guy who brought us the Android ROM Manager. He can be found at his blog hacking away at Android devices and at Twitter.
CWM options explained:
[REF] CWM - Clockworkmode menu options & Partitions– GENERAL KNOWLEDGE - xda-developers
---------------------------------------------------------------------------
What's Firmware?
Taken from: What is Firmware, Rom and Firmware Flashing ? - I Teach Android
What the heck is this firmware? Definition of firmware is permanent software programmed into a read-only memory
In Simple words, you can understand it like windows for pc , in case of android we are going to do same thing – installing firmware (Froyo,Gingerbread, ICS, Jelly Bean etc.) on your phone. All phones have their different firmwares and installing tools regard less to the Andriod version (Froyo,Gingerbred). So never think that we can install any firmware on any android phone like we do in PCs.
Wiki link for even more info: Firmware - Wikipedia, the free encyclopedia
---------------------------------------------------------------------------
What's Flashing?
Flashing refers to the overwriting of existing data on ROM modules present in an electronic device with new data. This can be done to upgrade a device or to change the provider of a service associated with the function of the device, such as changing from one mobile phone service provider to another or installing a new operating system.
In simple words flashing is called installing firmware on your phone.
---------------------------------------------------------------------------
What's Rooting?
Taken from: Rooting for Android: What, why and how? | Ubergizmo
WiKi link: https://en.wikipedia.org/wiki/Rooting_(Android_OS)
When carriers and manufacturers sell you your device, it is almost certain that the device would come with certain software restrictions in place. There are a variety of different reasons why they might do that – some claim that this is done to protect the user, preserve the device’s warranty (this policy will vary from manufacturer to manufacturer), prevent users from getting rid of carrier bloatware apps or simply because the manufacturer would prefer if your device was distinguishable from the competition based purely on its user interface (i.e. Samsung’s TouchWiz, HTC Sense UI, etc).
Whatever their reasoning may be, chances are if you are looking to customize your device on a deeper level, you’d be out of luck and this is where rooting comes into play.
Rooting is essentially a process that allows users of smartphones, tablets or other devices running on Android to gain “superuser” access to the software. This will allow the user to perform administrative tasks such as writing to locations normally restricted by the system which in turn will allow for deeper customization. For iOS users, rooting on Android devices could be thought of as a close equivalent to jailbreaking your device.
---------------------------------------------------------------------------
What are custom ROMs?
Taken from: Custom ROMs For Android Explained - Here Is Why You Want Them
A stock ROM is the version of the phone's operating system that comes with your phone when you buy it.
A custom ROM is a fully standalone version of the OS, including the kernel (which makes everything run), apps, services, etc - everything you need to operate the device, except it's customized by someone in some way.
So what does the "customized" part mean? Since Android is open source, developers are free to take stock ROMs, modify them, strip them of garbage, optimize them, add things, and pretty much do whatever their imagination and skills allow.
---------------------------------------------------------------------------
What is ADB?
Taken from: Android 201: What is adb? | Android Central
According to Google "Android Debug Bridge (adb) is a versatile tool lets you manage the state of an emulator instance or Android-powered device." That certainly sounds like Google, doesn't it? To put it simply, adb is two different applications -- one running on your computer (Windows, Linux or Mac) and one running on your phone. When your phone is connected, and USB debugging is enabled, you can issue commands and communicate with the phone using your computer screen and keyboard.
Your Android phone uses a modified Linux kernel and tools as a base. This means that quite a few Linux commands can be sent via the adb server (the one running on your computer) to the adb client (the one running on your phone) and they will be executed. In our example picture, I've sent the "top" command over the wire to my phone, and my phone sent me back the information and printed it to my terminal.
This can be awfully handy for debugging things that aren't going right, as well sending those weird commands you need when you're hacking away in the middle of the night. Chances are, if you aren't actively debugging something or trying to break hack at your phone, you won't have much use for adb. And that's OK -- there's more than one way to have fun with an Android device.
----------------------------------------------------------------------------
What's baseband?
Baseband is the Radio or Modem version depending upon the Phone Model, Carrier and Android Software Stack version. The Radio/Modem file is flashed via Recovery tool (other options are ADB/ODIN). The mismatched Radio/Modem and ROM will lead to things not working. You need to find the matching Radio/Modem for the particular ROM you are running.
The radio firmware controls basic low-level functions like network connectivity, Wi-Fi, and GPS. Upgrading Radio firmware will fix connectivity issues, increase range or performance, decrease battery usage, etc. Incorrec tRadio frimeware can disable some functions in your phone such as MMS, 3G Data, VM Notifications, etc. Network operators/carriers select the correct version of the Radio firmware that is suitable for the phone, network and bandwidth.
There is also Modem and Baseband Radio Processor chipsets in Mobile phones. Usually, Google, Phone Manufacturers and carriers develop various types of modem firmware/software that controls the functions of these chipsets.
Firmware is the overall version of the Android system on your phone. Baseband version is the version of the radio embedded in the device. Since Android is based on the Linux operating system, they show you the current version of the Kernel used in the heart of the system. The Build number is just an indicator of which numerical version of the current overall system was built by developers for your device.
You cannot update any of these from the official web site. Updates to the Android system are pushed to the phone over-the-air by the manufacturer or the cell phone carrier. The only other way to update or change an Android phone it to install custom modified ROMs in place of the existing system firmware. That usually requires rooting the phone and a fairly considerable knowledge of how to hack hardware.
----------------------------------------------------------------------------
What's Dalvik?
http://www.techopedia.com/definition/4262/dalvik
http://butterflydroid.wordpress.com/2011/09/22/what-is-dalvik-vm-heapsize-benefits-and-downfalls/
Dalvik is named after a fishing village in Iceland where ancestors of Dan Bornstein, the person who wrote the VM’s original code, lived. Dalvik is designed for fast execution speeds and operatation in resource-constrained environments like those in mobile devices (with limited memory, CPU and battery power). A Dalvik VM is designed to run multiple instances of itself with each instance hosted on its own separate process and running one application each. When one instance crashes, other concurrently running applications don’t suffer.
Although Android apps are written in Java, they are first compiled into the Dalvik Executable (DEX) format to make them run on the Dalvik VM. DEX files are generally smaller than compressed .JAR (Java Archive) files, making them suitable for mobile devices.
The main difference between Dalvik and a typical Java VM is that the former is register-based while the latter is stack-based. Register-based VMs require fewer instructions than their stack-based counterparts. Although the register-based VMs also require more code, they are generally considered to exhibit faster startups and have better performance than stack-based VMs.
The Dalvik source code license is based on the Apache license. That means, it is free to modify and hence attractive to mobile phone carriers.
What's init.d?
init.d is a folder located at /system/etc
To keep it simple, it allows the user to run scripts at system startup/ boot.
You can adjust many different things/settings with scripts. You can tweak system settings, prolong battery life etc.
To enable init.d and to get some scripts, go here: http://forum.xda-developers.com/showthread.php?t=1881401
----------------------------------------------------------------------------
great job brother, do much to newcomers become familiar with android and they need to know :highfive:
woooow , thats nice and great thread ...... thx ..... but between that , can u continue explain many things like what each android device need to boot up and what the most commen partitions in android devics , and getting deeper in android world ad then give some tut about adb using
thx so much
Good stuff, thanks!
Great guide for android noobie who want to learn how to root
add CID and MID ... ?
Hey -- a really great resource. great work.
could be nice to include CID, MID, etc.
also, would like to understand why ROM has to be built for specific carrier variant of phone.
Example: HTC ONE M8 has multiple different ROM threads -- ATT, Tmobile, Verizon, etc. While I understand there are some small frequencies support differences between an M8_tmobile and M8_Verison, why doesn't a Rooted with S-off M8 care whether it's a ATT or Verizon model?
thx
Thanks iONEx, this post helped me some. I already have 20 years of experience with Linux on PCs and Macs, so I already understood concepts like Bootloader, Kernel, Rooting, Flashing, Firmware, and init.d. I've had to flash a new BIOS on several PC motherboards, so I understand the difference between nonvolatile storage in firmware mounted on an integrated circuit of the motherboard versus nonvolatile storage in a physical spinning magnetic hard drive connected to the motherboard via a SCSI or SATA bus and controller. I rooted my first Android (a Motorola Atrix) a year ago, so I also understand CWM, Custom ROMs, and ADB. But your explanation of Baseband and Dalvik was new and helpful to me.
Right now I'm running Paranoid Android on my Oneplus One and using the Settings app in it, I see that I have Android version 4.4.4, ParanoidAndroid version 4.6-BETA6, Baseband version MPSS.DI.2.0.1..., Kernel version 3.4.0-ParanoidAndroid (Mon Nov 3 21:55:14 UTC 2014), Build number pa_bacon-userdebug...).
I found your post while trying to understand more about my OPO that I rooted a few days ago. I installed TWRP, F-Droid, Busybox, MultiROM, and a few other major customizations on it, but I feel like there's still a whole lot that I don't understand at all. For example, in this thread [forums.oneplus.net/threads/unofficial-beanstalk-rom-for-bacon-lollipop-5-02-r1.247146/#post-9394373] I commented that I was unable to get Beanstalk 5.0.2 to function reliably on my OPO.
From chineel's reply "The Steps To Have Better Experience With OnePlus One With Lollipop ROMs" though, I realized that I must still be missing some important concepts, so I started searching for a comprehensive picture of my OPO and of Android phones in general, and although your post helped some, I'm still looking for a much more comprehensive understanding of this device.
I do understand that the nonvolatile storage in my phone must be partitioned into several mutually exclusive sections and that's how it's possible for me to wipe (using TWRP) all of the partitions (Dalvik Cache, System, Data, and Cache) except Internal Storage and flash a new ROM like Beanstalk and yet I still have the contents of /sdcard/ as they were before I wiped and flashed. Obviously, /sdcard/ as mounted in ParanoidAndroid and Beanstalk must be on the Internal Storage partition that did not get wiped.
But when chineel wrote that I should download latest “Cm Nightly” and “(CM Nightly Is for Modem and firmware Update only ) you can Just Flash Firm ware Update [s.basketbuild.com/filedl/devs?dev=chineel&dl=chineel/BeanStalk/bacon/Full-CM-12.01.18-modem-flashable.zip] Instead of...”, that's when I realized that when I flashed a new ROM, I was apparently still leaving something aside from the Internal Storage partition untouched: the modem/baseband/radio?
And so if I flash the latest CM nightly from [download.cyanogenmod.org/?device=bacon&type=] then I'll end up doing what I have not been doing before which is to also change the modem/baseband/radio. Is that right?
So then if I flash a new ROM (like Beanstalk) AFTER flashing the CM Nightly, then I'll be replacing the ROM (from the CM Nightly to Beanstalk), but I won't be changing again the modem/baseband/radio that was changed when I flashed the CM Nightly. Is that right?
If so, then where in this partition system is the modem/baseband/radio firmware (which is apparently separate from the whole ROM) stored in nonvolatile storage? Is it also on Internal Storage? Or is it stored on a separate integrated circuit (like the BIOS is on a PC) or on some other hidden partition?
And what about flashing the kernel? When I flashed my PA ROM, I got a new kernel with it, without explicitly installing from TWRP a new kernel. So sometimes flashing a ROM gives you a new kernel and sometimes flashing a ROM does not change the existing kernel? Is that right? And so is it also possible to flash a ROM and then subsequently flash a kernel and that second flash replaces the kernel that was part of the ROM of the first flash?
I just need to understand where all of this information is getting stored (in which partitions). I know I flash a ROM, then I flash GAPPS, then I flash a kernel, then I flash a modem/radio/baseband. But I can't tell; is all that software going to the System partition? If so, then why don't all the later flashes completely write over all the earlier flashes?
TL;DR
My real question here is what to read for a comprehensive explanation of all these pieces and how they fit together and why flashing sometimes replaces something that was there before, but it doesn't replace everything (like the modem/radio/baseband)? I think I need a book or something. Can you recommend one?
Thanks, and sorry for the long post.
iONEx said:
Android ABC​
I've gathered some info for newcomers to the Android world.
Copied over from my thread at androidforums...
I've tried to keep it relatively simple. So if you want more info, follow the links!
And please if you want anything added, do post!
I hope this helps someone....
Inventory:
Bootloader
Kernel
CWM
Firmware
Flashing
Rooting
Custom ROMs
ADB
Baseband
Dalvik
init.d​
What's A Bootloader?
Taken from: Android 101: What is a bootloader? | Android-Does.com
In literal terms, the bootloader is code that is executed before any Operating System starts to run. Bootloaders basically package the instructions to boot operating system kernel and most of them also have their own debugging or modification environment. Think of the bootloader as a security checkpoint for all those partitions. Because if you’re able to swap out what’s on those partitions, you’re able to break things if you don’t know what you’re doing.
As the bootloader kicks off before any piece of software on your device, it makes it extremely processor specific and every motherboard has it’s own bootloader. This is one reason that all Android phones have different custom ROMS developed due to high variance of processing hardware present on the device.
Android Bootloader
Every Android phone has a bootloader that instructs the operating system kernel to boot normally. But you need to understand one thing here that as Android OS is an open source OS and is available on a variety of different hardware, every manufacturer has their own version of bootloader specific for the hardware present in it’s environment. At its most basic level, your Android smartphone is like a hard drive, made of up several partitions. One of those partitions holds the Android system files, another holds all the app data you accumulate (which is how you’re usually able to update without losing all your stuff), and others to do more behind-the scenes stuff.
A lot has been said about bootloaders being “locked” and even the developer-friendly Nexus devices shipped with a locked bootloader (Nexus devices and a couple tablets are easily unlocked with a single command).In fact, a lot bootloaders are locked and encrypted, meaning simple commands like “fastboot oem unlock”, won’t do a thing.
Why are Bootloaders Locked?
A bootloader is usually locked on an Android device because although it’s an open source OS, still the manufacturers want you to stick to their Android OS version specifically designed for the device. In order to apply this concept, manufacturers lock the bootloader. With a locked bootloader on Android devices, it is virtually impossible to flash a Custom ROM and forced attempts void warranty as well as usually end up in bricks. Therefore, the first step is to always unlock the bootloader.
Why keep a bootloader out of reach? One of the biggest reasons is that the carriers and manufacturers don’t want to have to support hacked phones. The other is that a lot of time and money is spent developing these things. HTC Sense ain’t cheap. Neither is TouchWiz. But Samsung and HTC both have managed to find a middle ground with the modding community, and pressure is on other companies to do so as well.
Also a very good read about bootloaders: http://www.tested.com/news/feature/1879-know-your-android-bootloaderwhat-it-is-and-why-it-matters/
---------------------------------------------------------------------------
What's a kernel?
Taken from: Android A to Z: What is a kernel? | Android Central
A kernel isn't something unique to Android -- iOS and MacOS have one, Windows has one, BlackBerry's QNX has one, in fact all high level operating systems have one. The one we're interested in is Linux, as it's the one Android uses. Let's try to break down what it is and what it does.
Android devices use the Linux kernel, but it's not the exact same kernel other Linux-based operating systems use. There's a lot of Android specific code built in, and Google's Android kernel maintainers have their work cut out for them. OEMs have to contribute as well, because they need to develop hardware drivers for the parts they're using for the kernel version they're using. This is why it takes a while for independent Android developers and hackers to port new versions to older devices and get everything working. Drivers written to work with the Gingerbread kernel on a phone won't necessarily work with the Ice Cream Sandwich kernel. And that's important, because one of the kernel's main functions is to control the hardware. It's a whole lot of source code, with more options while building it than you can imagine, but in the end it's just the intermediary between the hardware and the software.
When software needs the hardware to do anything, it sends a request to the kernel. And when we say anything, we mean anything. From the brightness of the screen, to the volume level, to initiating a call through the radio, even what's drawn on the display is ultimately controlled by the kernel. For example -- when you tap the search button on your phone, you tell the software to open the search application. What happens is that you touched a certain point on the digitizer, which tells the software that you've touched the screen at those coordinates. The software knows that when that particular spot is touched, the search dialog is supposed to open. The kernel is what tells the digitizer to look (or listen, events are "listened" for) for touches, helps figure out where you touched, and tells the system you touched it. In turn, when the system receives a touch event at a specific point from the kernel (through the driver) it knows what to draw on your screen. Both the hardware and the software communicate both ways with the kernel, and that's how your phone knows when to do something. Input from one side is sent as output to the other, whether it's you playing Angry Birds, or connecting to your car's Bluetooth.
It sounds complicated, and it is. But it's also pretty standard computer logic -- there's an action of some sort generated for every event. Without the kernel to accept and send information, developers would have to write code for every single event for every single piece of hardware in your device. With the kernel, all they have to do is communicate with it through the Android system API's, and hardware developers only have to make the device hardware communicate with the kernel. The good thing is that you don't need to know exactly how or why the kernel does what it does, just understanding that it's the go-between from software to hardware gives you a pretty good grasp of what's happening under the glass. Sort of gives a whole new outlook towards those fellows who stay up all night to work on kernels for your phone, doesn't it?
---------------------------------------------------------------------------
What's CWM?
Taken from: AddictiveTips » Blog ArchiveWhat Is ClockworkMod Recovery And How To Use It On Android [Complete Guide]
ClockworkMod, abbreviated as CWM, is a popular custom recovery for Android phones and tablets developed by Koushik Dutta (Koush), a well-known name in the Android dev community. ClockworkMod recovery allows you to perform several advanced recovery, restoration, installation and maintenance operations on your Android device that aren’t possible with the stock recovery, and is one of the most common ways used to gain root access, back up device data, install a custom ROMs, kernels, themes, mods and more. However, for anyone new to Android customization and hacking, some of its options might prove to be a tad confusing. In what follows, we will cover all that this recovery is capable of doing, and how to do it.
About Android Recovery
All Android devices ship with a recovery console that is basically a partition on the device’s internal memory and can be booted into. The stock recovery of almost all Android devices provides a few basic yet handy options that allow you to factory reset your device and also to recover its operating system using an official ROM in zip format, but that’s all you can do with it. That’s where a custom recovery comes handy.
A custom Android recovery basically replaces the stock recovery with one that lets you do all you can do with the stock recovery, plus a plethora of more options to give you a lot more control on your device. With a custom recovery, you can install official and unofficial ROMs as well as other updates including apps, themes, kernels etc. using zip files, wipe not just user data but pretty much every partition on your device, mount the storage card for USB mass storage access without leaving recovery, partition your SD card, wipe Dalvik cache and battery stats, fix permissions, perform, manage and restore backups and so on.
Introduction To ClockworkMod
ClockworkMod recovery is one of the most widely used custom Android recoveries that is available for most mainstream Android devices. It is our custom recovery of choice here at AddictiveTips and almost every custom ROM that we install on our devices is done using this recovery.
ClockworkMod recovery has been developed by Koushik Dutta (also known as Koush) – the same guy who brought us the Android ROM Manager. He can be found at his blog hacking away at Android devices and at Twitter.
CWM options explained:
[REF] CWM - Clockworkmode menu options & Partitions– GENERAL KNOWLEDGE - xda-developers
---------------------------------------------------------------------------
What's Firmware?
Taken from: What is Firmware, Rom and Firmware Flashing ? - I Teach Android
What the heck is this firmware? Definition of firmware is permanent software programmed into a read-only memory
In Simple words, you can understand it like windows for pc , in case of android we are going to do same thing – installing firmware (Froyo,Gingerbread, ICS, Jelly Bean etc.) on your phone. All phones have their different firmwares and installing tools regard less to the Andriod version (Froyo,Gingerbred). So never think that we can install any firmware on any android phone like we do in PCs.
Wiki link for even more info: Firmware - Wikipedia, the free encyclopedia
---------------------------------------------------------------------------
What's Flashing?
Flashing refers to the overwriting of existing data on ROM modules present in an electronic device with new data. This can be done to upgrade a device or to change the provider of a service associated with the function of the device, such as changing from one mobile phone service provider to another or installing a new operating system.
In simple words flashing is called installing firmware on your phone.
---------------------------------------------------------------------------
What's Rooting?
Taken from: Rooting for Android: What, why and how? | Ubergizmo
WiKi link: https://en.wikipedia.org/wiki/Rooting_(Android_OS)
When carriers and manufacturers sell you your device, it is almost certain that the device would come with certain software restrictions in place. There are a variety of different reasons why they might do that – some claim that this is done to protect the user, preserve the device’s warranty (this policy will vary from manufacturer to manufacturer), prevent users from getting rid of carrier bloatware apps or simply because the manufacturer would prefer if your device was distinguishable from the competition based purely on its user interface (i.e. Samsung’s TouchWiz, HTC Sense UI, etc).
Whatever their reasoning may be, chances are if you are looking to customize your device on a deeper level, you’d be out of luck and this is where rooting comes into play.
Rooting is essentially a process that allows users of smartphones, tablets or other devices running on Android to gain “superuser” access to the software. This will allow the user to perform administrative tasks such as writing to locations normally restricted by the system which in turn will allow for deeper customization. For iOS users, rooting on Android devices could be thought of as a close equivalent to jailbreaking your device.
---------------------------------------------------------------------------
What are custom ROMs?
Taken from: Custom ROMs For Android Explained - Here Is Why You Want Them
A stock ROM is the version of the phone's operating system that comes with your phone when you buy it.
A custom ROM is a fully standalone version of the OS, including the kernel (which makes everything run), apps, services, etc - everything you need to operate the device, except it's customized by someone in some way.
So what does the "customized" part mean? Since Android is open source, developers are free to take stock ROMs, modify them, strip them of garbage, optimize them, add things, and pretty much do whatever their imagination and skills allow.
---------------------------------------------------------------------------
What is ADB?
Taken from: Android 201: What is adb? | Android Central
According to Google "Android Debug Bridge (adb) is a versatile tool lets you manage the state of an emulator instance or Android-powered device." That certainly sounds like Google, doesn't it? To put it simply, adb is two different applications -- one running on your computer (Windows, Linux or Mac) and one running on your phone. When your phone is connected, and USB debugging is enabled, you can issue commands and communicate with the phone using your computer screen and keyboard.
Your Android phone uses a modified Linux kernel and tools as a base. This means that quite a few Linux commands can be sent via the adb server (the one running on your computer) to the adb client (the one running on your phone) and they will be executed. In our example picture, I've sent the "top" command over the wire to my phone, and my phone sent me back the information and printed it to my terminal.
This can be awfully handy for debugging things that aren't going right, as well sending those weird commands you need when you're hacking away in the middle of the night. Chances are, if you aren't actively debugging something or trying to break hack at your phone, you won't have much use for adb. And that's OK -- there's more than one way to have fun with an Android device.
----------------------------------------------------------------------------
What's baseband?
Baseband is the Radio or Modem version depending upon the Phone Model, Carrier and Android Software Stack version. The Radio/Modem file is flashed via Recovery tool (other options are ADB/ODIN). The mismatched Radio/Modem and ROM will lead to things not working. You need to find the matching Radio/Modem for the particular ROM you are running.
The radio firmware controls basic low-level functions like network connectivity, Wi-Fi, and GPS. Upgrading Radio firmware will fix connectivity issues, increase range or performance, decrease battery usage, etc. Incorrec tRadio frimeware can disable some functions in your phone such as MMS, 3G Data, VM Notifications, etc. Network operators/carriers select the correct version of the Radio firmware that is suitable for the phone, network and bandwidth.
There is also Modem and Baseband Radio Processor chipsets in Mobile phones. Usually, Google, Phone Manufacturers and carriers develop various types of modem firmware/software that controls the functions of these chipsets.
Firmware is the overall version of the Android system on your phone. Baseband version is the version of the radio embedded in the device. Since Android is based on the Linux operating system, they show you the current version of the Kernel used in the heart of the system. The Build number is just an indicator of which numerical version of the current overall system was built by developers for your device.
You cannot update any of these from the official web site. Updates to the Android system are pushed to the phone over-the-air by the manufacturer or the cell phone carrier. The only other way to update or change an Android phone it to install custom modified ROMs in place of the existing system firmware. That usually requires rooting the phone and a fairly considerable knowledge of how to hack hardware.
----------------------------------------------------------------------------
What's Dalvik?
http://www.techopedia.com/definition/4262/dalvik
http://butterflydroid.wordpress.com/2011/09/22/what-is-dalvik-vm-heapsize-benefits-and-downfalls/
Dalvik is named after a fishing village in Iceland where ancestors of Dan Bornstein, the person who wrote the VM’s original code, lived. Dalvik is designed for fast execution speeds and operatation in resource-constrained environments like those in mobile devices (with limited memory, CPU and battery power). A Dalvik VM is designed to run multiple instances of itself with each instance hosted on its own separate process and running one application each. When one instance crashes, other concurrently running applications don’t suffer.
Although Android apps are written in Java, they are first compiled into the Dalvik Executable (DEX) format to make them run on the Dalvik VM. DEX files are generally smaller than compressed .JAR (Java Archive) files, making them suitable for mobile devices.
The main difference between Dalvik and a typical Java VM is that the former is register-based while the latter is stack-based. Register-based VMs require fewer instructions than their stack-based counterparts. Although the register-based VMs also require more code, they are generally considered to exhibit faster startups and have better performance than stack-based VMs.
The Dalvik source code license is based on the Apache license. That means, it is free to modify and hence attractive to mobile phone carriers.
What's init.d?
init.d is a folder located at /system/etc
To keep it simple, it allows the user to run scripts at system startup/ boot.
You can adjust many different things/settings with scripts. You can tweak system settings, prolong battery life etc.
To enable init.d and to get some scripts, go here: http://forum.xda-developers.com/showthread.php?t=1881401
----------------------------------------------------------------------------
Click to expand...
Click to collapse
Thanks, good info
teejbee said:
Thanks, good info
Click to expand...
Click to collapse
Strewth! Not only did you quote the ENTIRE OP post in order to reply with a 3 word thank you but 2 people actually thanked you for it. I might print that out and hang it on my wall. :laugh:
Hi, what does the "Allow bootloader unlock" (or similar) mean in advanced settings on s7 and some other devices? My phablet also has this option and I turned it on without any changes after typing oem unlock. With selfmade cwm I can root my phone, if its allowed to unlock or not.. is this setting only a placeholder or did someone get the real function? M a ybe this is important for nexus devices only, or not. I do not know.
Gesendet von meinem SM-G900F mit Tapatalk
Edit: sorry for asking in xperia forums.. used tapatalk and saw the title is matching my purposes.. did not see the xperia section, but my question you can answer, too. Sry
louiscar said:
Strewth! Not only did you quote the ENTIRE OP post in order to reply with a 3 word thank you but 2 people actually thanked you for it. I might print that out and hang it on my wall. :laugh:
Click to expand...
Click to collapse
hahahahahahaha :laugh:
Dear, Can I make a custom ROM for my Android TV that can use the TV remote and IR key?
I mean, after installing a custom ROM like Lineage OS, do the remote and inputs work properly?

Android Revolution 9.3 for HTC One m7

I successfully installed Android Revolution 9.3 recently so thought I'd give some details for reference to anyone else it might help as I made a mistake (on purpose of course, just to make things interesting!) and encountered a few road blocks that made things a little tricky. I've not posted here many times and wouldn't claim to be an expert but have quite a bit of experience with Android (Kindle Fire was my first device to which was an uphill struggle all the way) and other tech experience with PC's and some Linux OS.
If you have a device with different specifications please be very careful when it comes to downloading and using software on your device. Doing so with the incorrect software (eg. software for a different device, wrong CID number...) can be disastrous so please be careful - soft-bricking is one thing but a hard-brick is always possible if you don't pay careful attention.
If anything here doesn't make sense or there are processes you don't understand, step back and re-consider before doing anything. You carry out these procedures at your own risk and I accept no liability. Think, think and think again, it's worth taking the time.
First things first, I have an HTC One m7 that I rooted and custom ROM'd almost as soon as I got it, so Root access is a pre-requisite for these procedures and everything described here is done with a Windows operating system.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
[/IMG]
If you don't know what “Root Access” is or need help with it, here's a great guide and there is an abundance of other information on XDA for just about any question you might have.
I originally flashed TWRP 2.6.0.1 Custom Recovery and installed Trickdroid 11.0.0, an excellent, customisable ROM that gave me almost no problems apart from APEX Launcher not working, NOVA Launcher works brilliantly though. I haven't found any direct upgrades (please correct me if I'm wrong) but as it stands it's still a very smooth and stable ROM. My other interest was to improve my phone through firmware upgrades, which is a different process from those described here and require S-OFF (Security Off) unless you're using OTA (Over The Air) Updates, which requires a locked bootloader!
Initial Upgrade Problems
I'm quite fastidious when it comes to these things, researching, collecting and organising everything I need before hand so I was pretty annoyed that I missed the note towards the bottom of the Android Revolution HD (ARHD) page where it states that TWRP 2.6.3.3 or newer is required - I can confirm this is indeed the case! I also did a data wipe in TWRP before starting the AROMA installer - not sure this was problematic but it probably didn't help and certainly wasn't necessary so I would advise against doing that.
Whilst the AROMA installer completed apparently successfully (apart from one “error” message - set_perm: some changes failed), it became very clear it was not successful when the phone failed to boot normally and instead simply booted into Recovery every time. I was quite worried I was in dire straits because I didn't have any back up or alternative ROM on the SD card at the time, and was about to discover the joys Windows 8.1 brings to certain processes - more on that later.
So I was faced with a semi-useless phone that allowed me to get into the bootloader and Recovery but not much else, however it's a credit to TeamWin because TWRP continued to function flawlessly, despite my best efforts to screw everything up! No variation or combination of wiping outside of or in AROMA and re-installing ARHD achieved anything new - the partitions weren't mounting or being read correctly (the usb partition in particular “could not be mounted” according to TWRP), so it was clear I was sufficiently over the edge and needed to back up before I did any permanent damage.
Solutions
All of the steps I took may not be absolutely necessary, but because it was quite screwed up I was very keen to wipe the slate and get everything back to a point I was happy everything was fully functional.
The first problem was that fastboot was not working from the bootloader, by which I mean I was unable to use fastboot commands from Windows, and the phone wasn't recognized by the Device Manager, regardless of driver's installed, which I knew were correct - this was a Windows 8.1 quirk, however while the phone was in Recovery I was able to communicate via adb.
So connected to the computer, I opened a command prompt: simplest way to do this is opening the folder where adb is on your computer, which is usually your main hard drive eg. C:, where an adb folder will have been created during the installation of the tools, right-clicking in that folder with the SHIFT key held down, then selecting “Open command window here”:
C:\adb>adb push Trickdroid.zip /sd/
[If you don't follow that method, you simply have to open a standard Command window and navigate to the location of your adb folder eg. C:\>cd adb]
NOTE: the "/sd/" command at the end here is important as it tells adb the location for the file to go on your phone (the internal SD card). I've seen this push command in other tutorials without this part and the operation has failed.
You'll get a few lines in the command prompt window confirming the process starting and completing.
Then I followed the usual installation procedure for a custom ROM through TWRP (Install> Select Trickdroid .zip) - I used this ROM because I had it to hand and knew it worked.
Once the install was completed I had a functional phone again and could start to rebuild the shattered pieces of my pride. As mentioned before, I didn't have a backup on the phone - this was because I lost my original stock backup thanks to a self-destructing hard-drive (avoid Seagate hard drive's), so I started to hunt around. Thanks to the wonderful contributor's of XDA I found some excellent resources, but which you use depends on your preferred approach, and what you want to achieve but here are a few.
MIKE1986's STOCK ROM's
RUU Collection's
Nandroid Collection's
HTC Guru's Reset
Keep in mind - each of these resources have very important and specific processes that go along with each of them, so be very careful when it comes to using them.
Windows 8.1 Quirks
Windows 8.1 (originally) had some difficulty talking to attached Android devices through fastboot, and whilst having the correct HTC drivers is vital, I found a thread relating to a Windows Registry issue, requiring a Windows Update (which you may have already received) and an update to the Windows Registry (which is crucial).
Installing HTC Sync will give you the relevant drivers, but the program itself can interfere with many processes, plus it's a bit rubbish so if you uninstall it (just HTC Sync Manager) from the “Uninstall Programs” application in the Windows Control Panel, you'll just be left with the drivers and no unnecessary bloatware on your computer.
There's a simple download and instructions on how to apply the relevant changes to the Windows Registry which can be found here. If you haven't done anything like this before it can look quite intimidating but rest assured, follow these instructions to the letter and you'll be fine, maybe don't try screwing around with the other registry files though!
Recovery - Refresh and Upgrade
Whilst trying to get the phone to boot (in it's semi-disabled condition) I played around with the backup functions in Recovery, which unsurprisingly didn't work. I also deleted some of the folders within the TWRP “Backups” folder, thinking they might be confusing or causing some conflict.
So, to start afresh, I flashed a stock recovery, which can be found here.
Your phone needs to be in fastboot mode and attached to your computer - power off, then hold the volume down button and power button until the bootloader opens. Your recovery image needs to be in the adb folder, preferably named “recovery.img”. Open the Command Prompt for adb (right click in the adb folder whilst holding the SHIFT key) and flash the .img file over to the phone.
C:\adb>fastboot flash recovery recovery.img
Again you'll see a few lines in the command prompt window confirming the process starting and completing, once it's done shutdown and reboot the phone.
Of course the stock recovery isn't much use in terms functionality, and this process effects the ROM, essentially re-setting it - your SD will be fine but if you had eg. text messages, they'll be deleted so back anything like that up before doing this.
I shut down and re-booted once more just to be sure everything was ok, and then flashed the custom recovery in the same way as the stock, but now was the time to jump to a more up to date TWRP (or recovery of your choice) - I went with 3.0.0 in this case. Delete the stock recovery from the adb folder, then save the new custom recovery .img file (again re-naming it to “recovery.img”) in the same folder before fastboot flashing with the command prompt window:
C:\adb>fastboot flash recovery recovery.img
Sweet, now we've got a lovely new TWRP that looks a little different than the old version but with the same wonderful UI and functionality, and a few extras. The first time I booted into Recovery it asked me if I would like TWRP to be able to write onto the phone, or remain as “read only”. Whilst you might want to do this, there's no real reason and it kind of defeats the purpose of the recovery, plus you're not going to be able to do a backup or install files so just agree to that and you're good to go.
TWRP Information & Resources
System/ROM
Now running smoothly I was ready to upgrade, but to ensure there were no unpleasant ghosts in the system I went back to a stock ROM first. There's a variety of options as mentioned earlier, including any backup you may have saved yourself, but I went with a stock ROM provided by mike1986 this time which can be found here, whose incredible work and contributions can't be underestimated.
[NOTE: This *STOCK* ROM is NOT the same as the “out of the box” system my phone originally came with, which was 4.1.2 “Jellybean”, HTC Sense 5.0, however it served the purpose of wiping the phone slate clean to a stock system.]
I used the deodexed 6.09.401.12 - basically the difference between odexed and deodexed is the .apk structure - it's most specifically related to modifications and avoiding conflicts in the ROM. Here's a thread if you want to learn a bit more about it.
So just like any other ROM, copy the .zip file onto the SD card - simplest way to do this is having your phone connected to your computer, open up the browser window and navigate to your SD card, selecting a suitable location, just make sure you know where it is! (You can push it over via adb but it's really not necessary.) Then boot into Recovery, click Install, navigate to the .zip file location and select One_6.09.401.12_deodexed.zip (or whichever one you're using), then swipe to install.
The AROMA installer will kick in so just follow the on-screen instructions, reading each step carefully and soon you'll have the ROM installed with the usual Root access.
Don't forget the first boot after an install like this takes some time - that's completely normal, including an “Optimizing Apps” window before you get to the home screen so just be patient.
If you want to stop here then obviously that's your choice, however if you wanted to get/use OTA updates you'd need to follow some other steps to be totally stock, including locking your Bootloader, and there's a wealth of information here if that's your aim.
Custom ROM
Onto the Custom ROM of your choice - I recommend you do some research and check out reviews to find what you like the look of, but I've gone with mike1986's Android Revolution HD this time round. Download the ROM .zip and just like before, move it to your phone's SD card (no point in keeping the Stock ROM on the phone as well so delete that first to free up space, though you might want to keep it on just in case until the upgrade has completed successfully).
Reboot into Recovery via the bootloader, click Install and navigate to the .zip file, select Android_Revolution_HD-One_93.0_ef29f7.zip and swipe to install, carefully following the steps in AROMA and installing according to your preferences.
Once again after completion, reboot and be patient whilst the first boot runs its course and you're all set!
Don't forget you'll need to install the Xposed Framework to take full advantage of the Sense Toolbox within ARHD, without it simply won't work fully - it will work at a basic level but you'll get a warning/notification that you don't have full functionality. You can find lots of detailed information about this here - read it carefully because again, the correct software for your phone is very important - basically you need the latest installer, which is an .apk, and the relevant .zip files for your device.
For my phone (HTC One m7 - Quad-core 1.7 Ghz Snapdragon (Krait) 600 CPU, ARMv7 Soc (2Gb RAM) ARM CPU), one of the packages wouldn't install, claiming it wasn't correct for my device. Why exactly I'm not sure (because I absolutely, positively got the right packages!) so I'll update this when I know more, however the Xposed Framework software has worked fine since then, I'm not getting any error messages, it's all up to date and working fine.
That's it! Explore you're new ROM and enjoy. I hope this is helpful, if you've got any questions feel free to ask and I'll do my best to help. Much credit and thanks go to the people I've looked to for advice, and who have done incredible work compiling, modding and hosting the files used for these processes.
Thank and donate whatever you can to them so they can continue the sterling work.
Particular thanks to:
Mike1986
crushalot
matt95
sToRm1nG
… and anyone else in the XDA-Developers community I haven't named specifically but have been exceptionally helpful in sharing their knowledge and resources.

Some Hacking in Yoga Book

Hi folks.
I'm an Android firmware developer (you can see my posts here in xda) that got a yoga book yesterday. For me it works at it should (by now) but my hacker soul speak to me and said: "at least take a look to see what you can get from this device". I don't have many time, so I can't spend time doing roms or fixing things by myself, but I can share with you some info I get and help you with my knowledge if someone is interested in "play" with this device.
First of all, I'm not responsable of anything that you can break following these steps. Almost all of them are tested and with some common sense you will not break anything, and if you break anything I will try to help you to fix it (if you are polite), but this is a work in progress and hacking and the possibility of brick the device is always there.
I only have the Android version without LTE, so I only tested in my Book.
So, here we go:
1) Secret codes:
I get this codes decompiling EngineeringCode.apk with apktool. Be carefull with them:
####0000# - Display version info
####7599# - Display hardware info
####8375# - Display baseband info
####1111# - Factory test
####2222# - Display SN
####7777# - Factory Reset???
####5993# - Display internal frameWork version
####7642# - Cut the power off to reload the PMIC - This command shutdowns the device. Just press the power button to reboot.
####5236# - Display LCD name
####2834# - ES close test
####8899# - open the ums mode default for debug
####3333# - offline log
####3334# - offline modem log
####9527# - Mediaplayer setting
####78646# - RunIn test
####6020# - switch country code
####59930# - Display current country code
####8746# - Enter engineering mode
####4227# - Enter engineer test
####357# - DLP_TEST
To use these codes, open the contacts app, press the search button and enter the code in the search bar.
2) OTA Images
You can get OTA images directly from lenovo servers. Just open your browser and paste this url:
http://fus.lenovomm.com/firmware/3....WW06_BP_ROW&action=querynewfirmware&locale=en
Change device model if needed (LenovoYB1-X90F or LenovoYB1-X90L)
Change curfirmwarever to a valid OLD firmware, this way you will get the next one in age.
Change locale if needed.
With this url you will get a download url at the end of the result page. In this case: http://tabdl.ota.lenovomm.com/dls/v...S000426_1705080316_WW06_BP_ROW_WC80C2A0F2.zip
These images are not full ota images, they are diff versions. This means that we can't use them to mod the image, or recover a bricked device, but this is a first step
3) Custom images
We don't have real sources to build a custom image (the lenovo's open source files are useless), but this doesn't mean that we couldn't modify stock images to take out useless apks or get better performance.
We can get this using an Android Kitchen and a full update image for the device.
As Android kitchen you can use SuperR kitchen (https://forum.xda-developers.com/ap...chen-superr-s-kitchen-v1-1-50-v2-1-6-t3597434)
As full image, I only tested the one here (https://easy-firmware.com/index.php?a=browse&b=category&id=19521) because I can't download any newer one.
I tested uncompressing it, deodexing the apks and doing a new image. But I don't test it in the device because I need to install twrp to flash the new image and I don't have time to test. But this should work, I did it many times so if someone is interested I can give steps to do it and support for testing.
If someone can get the latest full images, send then to me and maybe I can get some time to do some tests.
PD: Probably we could use this as a base to get LineageOS 14.1 working: https://github.com/latte-dev/android_device_xiaomi_latte/tree/cm-14.1
So, if you are interested in some hacking with the Yoga Book, contact me and we could team to get the most of this device.
First of all thank you for your post, it´s really useful
if you could somehow manage to boot windows on this machine it´s by far the greatest war we have right now.
Il promise you a lunch or dinner on Lisbon whenevere you want!
joao1979 said:
First of all thank you for your post, it´s really useful
if you could somehow manage to boot windows on this machine it´s by far the greatest war we have right now.
Il promise you a lunch or dinner on Lisbon whenevere you want!
Click to expand...
Click to collapse
Sorry, my knowledge of Windows is only user level . Install it in personal computer to play games .
But I really don't know why people wants to run Windows there, it will go slowly than Android and its less touch oriented... but I suppose that this is a chat for another thread
corvus said:
Sorry, my knowledge of Windows is only user level . Install it in personal computer to play games .
But I really don't know why people wants to run Windows there, it will go slowly than Android and its less touch oriented... but I suppose that this is a chat for another thread
Click to expand...
Click to collapse
in my particular case, i´l admit that is for football manager the touch version
joao1979 said:
in my particular case, i´l admit that is for football manager the touch version
Click to expand...
Click to collapse
Have you tried running it through Crossover? It may be in its infancy but i have got a few apps running OK with it.
I have the full "YB1-X90F_USR_S000196_1611040312_WW06_BP_ROW" I can upload somewhere if anyone can suggest a good site to do so without signing up? The file is about 2.5gb
It will be great if we could get the latest version, because maybe these older versions have older files that we have updated in our tablets.
Mixing files could give unknown problems
The current TWRP is based on the new Yoga Tab 3
I am starting to think they do not do full roms for this in the same way they do for a lot of their other devices.
We know the otas are available from tabdl.ota.lenovomm.com/dls/v6/ and are named according to the 2 builds that it bridges. As easy-firmware had the december full rom under the file name B1-X90F_USR_S000196_1611040312_WW06_BP_ROW-flashfiles.zip I had hoped that I could work out the file path to pull it down.
There were some interesting ideas here, https://forum.xda-developers.com/android/help/how-download-stock-roms-lenovos-ota-t3109507 but it seems there is a difference between phonedl.ota and tabdl.ota
Queries to full roms that work for phones, don't seem to work for the yoga book.
Anyone with more web knowledge able to pick this up? I am not sure the files are there but I feel they should be.
Good luck
Update: the downloads seem to be hosted via CloudFront. An Amazon service, but I can not find out a way of listing the available files. The latest full rom would be
http://tabdl.ota.lenovomm.com/dls/v6/YB1-X90F_USR_S000426_1705080316_WW06_BP_ROW_WC80C2A0F2.zip
But the Last 8 chars are random and we do not know what they are.
So we have two hopes. First work out the right query to the link from fus.lenovomm.com or two find a way of listing files available in tabdl.ota.lenovomm.com/dls/v6
Not sure I have got much further but ill keep trying when I can.
Hey, I should mention that I have some files that you may find helpful; I got them from the easy firmware website. They're all the .img files for each partition in Android (ie. boot.img, cache.img, config.img, factory.img, recovery.img, system.img) as well as: biosupdate.fv, bootloader, firmware.bin and gpt.bin. However, these of course aren't in the normal "flashable .zip ROM" format. So unless you know how to take apart these .img files they aren't very useful. If you need any more help or have any other questions about how far we've come on our own, feel free to ask. danjac also has great knowledge of our efforts.
Yes, I know how to use them, unpack, modify, etc. But what I want is the latest version, no a old version (I hav these files too). If you have them I can do some changes, debloat, etc.
Anyway, I see little interest in custom roms in this forum ( probably because it's not a device with a lot of users or the users are not the techy kind), so I prefer to help others with info than do a custom rom that only 2 or 3 people will use. Doing custom roms is a time hungry task and probably it doesnt worth the effort. Anyway this device is not full of bloatware like samsung ones, so it useable as it is.
As I said in my first post if anyone is interested I can give some hints and support to modify the full image (but only the latest one).
It's so sad that there are only a few interested owners of this tab - it's such a nice device but i fear the day lenovo decides to end their support for it. There will be no custom roms to switch to and keep the device alive - it will be a soon to be bit of old tech garbage BTW. I still use my Asus Transformer Prime because of the nice community
@NiffStipples I fully agree. This device is so powerful and its a suprise that it is invisible to the "market". In my humple opinion the normal ROMs aren't that bad besides missing updates but I would love to see all the power served through a custom rom. unfortunately programming is not my business
Stefan
Broomfundel said:
Have you tried running it through Crossover? It may be in its infancy but i have got a few apps running OK with it.
Click to expand...
Click to collapse
Interesting - is Crossover good (and does it require factory reset)?
Hi, It works well with some things and not others. Often the why and where are not obvious. It is basically "wine" the layer that allows some windows apps to run on a linux install. Tweeked to work with android. Just an install to put crossover on. Then another install (Within crossover), to put you app on crossover. If it doesn't work out of the box, there windows libraries you can switch out and dependencies you can install. (Eg: directx , .net) Even if your not technical. I would say get on the beta program and give it a try.
Hi! what do you mean by "lenovo's open source files are useless"? do you refer to this packet on lenovo's suppport site? download.lenovo.com/consumer/open_source_code/lenovo_yb1_x90f_l_osc_201608.zip
I've entered the Android YogaBook's BIOS and noticed that VT-X is enabled by default! With Limbo x86 we could get a fully working virtualized Windows or Linux, if it wasn't for... KVM. It seems like it's not enabled in Lenovo's default kernel. Could we get to recompile the kernel with this option on? i'm not a big android/ROM expert but i surfed the open_source_code folder from Lenovo and it seemed, to me, that we could rebuild the Kernel at least.
This could really change things!
morrolinux said:
Hi! what do you mean by "lenovo's open source files are useless"? do you refer to this packet on lenovo's suppport site? download.lenovo.com/consumer/open_source_code/lenovo_yb1_x90f_l_osc_201608.zip
I've entered the Android YogaBook's BIOS and noticed that VT-X is enabled by default! With Limbo x86 we could get a fully working virtualized Windows or Linux, if it wasn't for... KVM. It seems like it's not enabled in Lenovo's default kernel. Could we get to recompile the kernel with this option on? i'm not a big android/ROM expert but i surfed the open_source_code folder from Lenovo and it seemed, to me, that we could rebuild the Kernel at least.
This could really change things!
Click to expand...
Click to collapse
How did you enter the bios? Can you boot from usb?
anyone managed to use swiftkey keyboard?

Themes / Apps / Mods Script to resign GrapheneOS with your keys and add ADB root and other changes

I published a script that can automatically resign GrapheneOS OTAs with your own keys, and also optionally apply a few modifications like enabling ADB root (without turning on ro.debuggable), ignoring allowbackup and changing the update URL.
You can use it if you like GrapheneOS (I think it's the Android OS with the best engineering, security and privacy), but would also like to have full control of your device, by controlling the verified boot keys of your device and applying modifications that make the OS do what you want regardless of what upstream OS developers, app developers, or anyone else might want.
Note that, on the other hand, GrapheneOS follows the Google Android security model which says that the OS will not perform an action you want it to perform if it may result in something that "application developers, content producers, service providers, and employers" do not consent to (which means not letting you have root, or ignore app wishes regarding backups and other settings, or send arbitrary responses to app requests, etc.), while this script will let you do what you want with your own device regardless of whether it's in anyone else's interest or not, including things that this script does not itself support since you control the verified boot keys of the device and can thus sign anything; all this while still taking advantage of all the security and privacy features in GrapheneOS, including verified boot.
You can find it at https://github.com/chriswoope/resign-android-image
Currently it's intended for people with good technical knowledge, although once you set it up (if you run Qubes a lot of steps are automated) it should continue working with no or minimal intervention.
Thank you very much for this
Hi, do you still update your tools? I've changed quite some things while traing to get this running for a Pixel 7....
I had to adept quite some changes (e.g. for init_boot on A13 shipped device, incresed HeapSize for Java, as SmailPatcher crashes, problems while generating keys with signify-openbsd and also missing tools like zip and unzip on a fresh installed debian), but in the end I received a nice zip which I've flahsed to the device, but I ended up in a Bootloop (Google Logo, Graphene Logo, some seconds and then.. reboot).
So, did someone got this running with A13 (and at best also on a Pixel 7)?
pmatj said:
Hi, do you still update your tools? I've changed quite some things while traing to get this running for a Pixel 7....
I had to adept quite some changes (e.g. for init_boot on A13 shipped device, incresed HeapSize for Java, as SmailPatcher crashes, problems while generating keys with signify-openbsd and also missing tools like zip and unzip on a fresh installed debian), but in the end I received a nice zip which I've flahsed to the device, but I ended up in a Bootloop (Google Logo, Graphene Logo, some seconds and then.. reboot).
So, did someone got this running with A13 (and at best also on a Pixel 7)?
Click to expand...
Click to collapse
I was not able to get this working myself unfortunately
but using a different script called AVBRoot and using it on a self built build of GrapheneOS I am able to lock the bootloader with Magisk Root
I have created this guide to help people https://forum.xda-developers.com/t/...-using-rooted-grapheneos-magisk-root.4510295/
pmatj said:
Hi, do you still update your tools? I've changed quite some things while traing to get this running for a Pixel 7....
I had to adept quite some changes (e.g. for init_boot on A13 shipped device, incresed HeapSize for Java, as SmailPatcher crashes, problems while generating keys with signify-openbsd and also missing tools like zip and unzip on a fresh installed debian), but in the end I received a nice zip which I've flahsed to the device, but I ended up in a Bootloop (Google Logo, Graphene Logo, some seconds and then.. reboot).
So, did someone got this running with A13 (and at best also on a Pixel 7)?
Click to expand...
Click to collapse
Hey, did you ever get this working on Pixel 7?
User.Hemlock said:
Hey, did you ever get this working on Pixel 7?
Click to expand...
Click to collapse
You can use AVBRoot to patch and sign roms to get root with a locked boot loader using GrapheneOS
I wrote a guide here https://forum.xda-developers.com/t/...-using-rooted-grapheneos-magisk-root.4510295/
FireRattus said:
You can use AVBRoot to patch and sign roms
Click to expand...
Click to collapse
Thanks! Haven't had a chance to dig into AVBroot yet, but I'm guessing the patching capability would include things like ignoring allowbackup? (that was one of OP's features that I was interested in)
User.Hemlock said:
Thanks! Haven't had a chance to dig into AVBroot yet, but I'm guessing the patching capability would include things like ignoring allowbackup? (that was one of OP's features that I was interested in)
Click to expand...
Click to collapse
The main purpose of AVBRoot is to root and sign an image so that with pixel devices for example you can lock the bootloader and have root
With root you can achieve ignoring the allowbackup, I believe you could do this with xposed
I also just use root apps like Swift Backup to backup everything on my device

Categories

Resources