Hot answers tagged

70

Linux version in AOSP Android Version |API Level |Linux Version in AOSP |Header Version ---------------------------------------------------------------------------------------- 1.5 Cupcake |3 |(2.6.27) | 1.6 Donut |4 |(2.6.29) ...


17

The Linux user IDs that Android uses to isolate apps from each other are completely unrelated to user profiles on Android 4.2 tablets. In Android, each app gets its own directory for saving data. The Linux user ID system is used to make sure apps can't read each others' data. But all these data directories are inside one directory on the filesystem, /data/...


14

Root permissions and kernel mode are not the same thing. Programs with root access can access part of the kernel, but root is not the kernel itself. The Android (and Linux) user model has a set of users, each part of a set of groups. These groups are used to manage which users are allowed access to what. For example, in Linux you could set up all printer ...


8

I think this Android Source is a great documentation for understanding it. And here is a list of changes done from mainline kernel for android kernel 4.14. The largest features include: 19.8% Energy Aware Scheduling (kernel/sched) 13.8% Networking (net/netfilter) 13.5% Sdcardfs (fs/sdcardfs) 9.4% USB (drivers/usb) 7.2% SoC (arch/arm64, arch/x86) 6.2% f2fs ...


8

Boot into TWRP, select Install and follow the screenshots for the rest. (Click image to enlarge) It's not a problem for TWRP to which ROM your particular kernel belongs. The size should not be greater than the partition. That's all. If the kernel is not good for the ROM, your device would not boot into the ROM or would cause some other instability, so ...


8

To answer my own question! Warning, in some very rare cases this doesn't work or could be dangerous. For example, Amazon Fire devices refuse to communicate with these tools despite being MediaTek. Tools like SPFT uses a DA (for Download Agent) to communicate with the MediaTek bootloader, but the MediaTek bootloader has some configurable settings so that it ...


8

Back in 2012, /proc/last_kmsg (1) used to be a dump of kernel console messages, exported after reboots by Android's ram_console functionality (CONFIG_ANDROID_RAM_CONSOLE), which used persistent_ram (CONFIG_ANDROID_PERSISTENT_RAM) to handle a block of RAM that wasn't erased across reboots (2). persistent_ram was based on Linux upstream RAMOOPS code which ...


7

On Nexus devices, at least: CF Auto-Root works by unlocking the device's boot loader via fastboot (if it isn't already unlocked), then sending the device a custom boot image (kernel and ramdisk) that it should run instead of booting from the built-in system or recovery partition. It's analogous to booting your PC from a CD or USB drive instead of from the ...


7

Why didn't Google just take a Linux distribution ... and create a desktop environment for touchscreens? Because they didn't want to create a desktop environment for touchscreens: they wanted to create a new OS for smartphones. Smartphones (and earlier, PDAs) based on not only the Linux kernel but the GNU userspace, with the same programming environment as ...


7

It is possible to dump device partitions without root or custom recovery - if your device has "fastboot" mode and is boot unlocked. I'm not going to describe unlocking the boot loader, but with a fastboot device it is usually pretty easy - search the internet for instructions for your specific device. You will need a TWRP recovery image for your device, but ...


7

When you use fastboot boot FILE.img, the image is downloaded and written into the RAM and than the normal procedure to boot a boot.img is followed. No changes to any partition takes place. If the image is invalid or cannot be booted into, the boot process automatically falls back to the image in the boot partition. Once the temporary kernel is booted into, ...


6

At a simple level, the effects would be catastrophic. The system wouldn't boot, and you would probably hard-brick OR super-brick. Kernels are the direct system for managing communication between software and hardware, among other things, and the kernel needs to be just right. If the device hard-bricks, a USB jig would need to be used to force the device into ...


6

If it was that easy then we'd have custom ROMs in no time for every phone on the planet. What's on our phone are compiled, it's basically impossible to decompile them (modern decompilers are not as powerful as you'd like to think), and sometimes illegal when dealing with proprietary components.


5

Beside the device specific differences and wake lock that Dan Hulme and Lie Ryan mentions, Android removed System V IPC features (message queues, shared memory segments, semaphores) that could lead to resource leaks (http://www.kandroid.org/ndk/docs/system/libc/SYSV-IPC.html). This probably is just a matter of configuring the kernel build. Also the Android ...


5

It stands for git, the name of the version control system used for the Linux kernel. Git itself isn't an abbreviation, it's just the name of the system. The git describe command is what's used to generate these version identifiers, and its manpage describes the format: The hash suffix is "-g" + 7-char abbreviation for the tip commit of parent ... ...


5

1) Building in Android could mean: - building a deliverable in the android build tree - building a deliverable on an android platform having build tools installed - building the AOSP (Android OpenSource Project) A little bit more context may help. According to the following question 'the build system is different from other Linux systems' it could be the ...


5

IMEI is an baseband identifier so it's stored on non-writable memory. There are two IMEIs actually - display and hardware. It's possible to change the display IMEI on rooted devices, but no way to write it down to hardware. Call your carrier for resetting your SIM card and also try to flash stock firmware using factory tools (Qualcomm QFIL in your case)


5

Is there any way of activating all cores? You can't. The hardware is not designed to have all 8 cores active. The reason for this is that this Octacore CPU is actually based on big.LITTLE technology, where there are two sets of four cores: a powerful big cores used for heavy processing (e.g. gaming) and energy efficient LITTLE cores used for low load ...


5

There is a long list of Ethernet related questions but none has a comprehensive answer covering all aspects. I'm generalizing your question in order to share my knowledge on this. This is what you need to do in order to make Ethernet work on Android: Make sure OTG support is available Kernel must be built with Ethernet (and USB Ethernet) support Handle USB ...


4

Go to Settings -> About phone menu and scroll all the way to the bottom: Tap the "SELinux status" menu 3 times in a row in a quick succession. This will bring up a prompt asking you to confirm enabling the other modes: Be aware that currently this feature is still under heavy development, and isn't supported on all devices yet.


4

TL;DR version: Unlocking the bootloader The initial program when you boot is the bootloader. If "locked" it may: 1) block attempts at flashing 2) refuse to boot the phone if something unauthorized was flashed. Unlocking it means changing a setting that affects this behaviour. Rooting see what does rooting a phone mean Jailbreaking iphone word for ...


4

No. Built-in drivers aren't modules, they are built-in (hence the name). If it's not showing in lsmod, you can't get rid of it short of building a new kernel.


4

Every single application that is installed on your phone, gets a UID. It is a number that Android uses to identify the apps so it can check from what app commands are executed and check the permissions of the app to see if that app is allowed to execute the command. Privileges of applications are pretty restricted in Android. They can't see data folders of ...


4

There are two ways Linux kernel modules are built: 1. as a part of kernel executable binary (compressed image) i.e. with CONFIG_*=y options at build time, or 2. as separate kernel object (.ko) files that can be loaded and unloaded with some conditions i.e. built with CONFIG_*=m options. In second case the .ko files are placed on some standard location(s), ...


3

This link contains the parts where you can intervene / add your own functionality The rough flow is Power On > Bootloader > Kernel > Init Process > System Server > Boot Complete At the bootloader stage, the following is run: A. The first boot loader stage will detect and set up external RAM. B. Once external RAM is available and the system is ready the ...


3

Looking at the repository for that device, I can see that the specified kernel is built from source using the source found here and the cyanogenmod_i9305_defconfig configuration file. You can tell that the kernel is not the stock one by going to the terminal app (or from adb shell) and typing uname -a, which will tell you the build date of the kernel. If ...


3

If the kernel wasn't compiled with /proc/config.gz support turned on, then the only sure way is to look at the source tree that was used to compile the kernel you're running. Copy the config.h file into your own source tree (or just use the original source tree) and run make menuconfig to set any new options you want.


3

This site describes how to get access to the serial console on the Nexus S, which is really the only way of debugging boot problems. It's not for the faint-hearted, though: you need a UART-to-USB module, with resistors connected across certain pins, all connected to your phone. If you screw it up you will blow up the phone. The same information's also ...


Only top voted, non community-wiki answers of a minimum length are eligible