Project

General

Profile

How does Replicant's kernel differ from the standard Android kernel?

Added by D G over 8 years ago

I am aware that the fully free GNU/Linux distributions, such as Trisquel GNU/Linux, use a 'de-blobbed' version of Linux as their kernel: Linux-libre. I am interested in how the kernels used by Replicant differ. Do you use scripts to remove binary files, obfuscated files etc? If so, what would be the result of using these scripts on other kernels?
Something else I would like to clarify is the difference between the userspace and kernel. I know that proprietary binary blobs such as those that are used by CyanogenMod are removed. I thought that drivers are compiled as part of the kernel, so presumably these are userspace implementations?
Thanks in advance for your help. I really appreciate the work on Replicant.


Replies (1)

RE: How does Replicant's kernel differ from the standard Android kernel? - Added by Wolfgang Wiedmeyer about 7 years ago

The website provides information about this. It explains the differences between firmware, kernel driver and hardware abstraction layers and which of them are usually free and which aren't.

As for deblobbing the kernel, there are no scripts used. The whole firmware directory is simply deleted and related instructions from the main Makefile are removed. Fallbacks are added in the kernel drivers for the case that firmware is not available in the filesystem and if necessary and possible, the drivers are modified to use the firmware that is preinstalled in the chips. The firmware files in the kernel sources aren't usually used anyway. Instead, firmwares are loaded from a directory on the system partition (/system/vendor/firmware).

    (1-1/1)