Replicant 4.2 0004 images release

Even though things are moving slowly at Replicant, we figured it was time to release another batch of Replicant 4.2 images. This release doesn’t add support for any new device, but has a focus on security instead, thanks to an active member of the community: Moritz (also known as My Self on the forums). For months, Moritz has been evaluating whether Replicant is affected by various vulnerabilities, retrofitting patches to close those vulnerabilities and submitting these for inclusion in Replicant. Thanks to his great work, this release includes fixes for security issues such as the Stagefright vulnerability or the Installer Hijacking vulnerability.

Since the previous release, all the Replicant-specific source code was moved over to, that is gracefully hosted by the FSF. We are planning on moving all the Replicant source code over to that new server, so that we don’t have to rely on third parties such as CyanogenMod and AOSP to provide the full source code for Replicant. In the meantime, we have started tagging the commits used for each release and signing those tags with the Replicant release key, so that it’s possible to reliably retrieve the source code for a given Replicant release. Those tags are also combined in the release metadata’s git-tags.

For a complete list of changes, you can take a look at the changelog. Installation instructions are available for each device, as well as build guides.

You’re welcome to join-in and contribute code to Replicant! Resources to get started on development are available on the wiki, as well as a list of tasks to improve Replicant.

Replicant 4.2 0003 images release

It has been about 6 months since we last released a batch of images. A few things of interest were completed in the meantime, so we are rolling out new images today.

This release doesn’t bring support for any new device: instead, it mostly contains stability fixes for the devices we already support. The most considerable change in this release is the inclusion of the Samsung-RIL rewrite, that was developed this summer. Samsung-RIL is the component in charge of dealing with the modem, the hardware chip that communicates with the mobile telephony network. The code that was used since then didn’t have a good structure and didn’t meet the code quality standards required to call it stable or reliable. The rewrite should be more robust and fail-proof: it has been tested daily on a couple of devices for the past few months, with no major incident to report. The Samsung-RIL rewrite has about as many features supported as the previous version, with the exception of a few ones that were broken anyway (mainly, USSD and STK).
The new code establishes a sane basis for external contributions, so everyone is welcome to dig in and add support for what’s missing.

Another big achievement in that release is the inclusion of about a dozen security fixes, covering issues such as Shellshock, Master key, Fake ID and much more, thanks to reports by community members.

As usual, you can checkout the complete changelog, download the images from the ReplicantImages page and find installation instructions as well as build guides on the Replicant wiki.

Even though this release doesn’t introduce support for any new device, I have been at work regarding devices that make the best candidates for freedom and privacy/security. As mentioned in an earlier post, we are going to focus the development effort on a few devices that allow running free bootloaders and are either likely to have good modem isolation or don’t have a modem at all.

Recently, I have been working on adding Replicant support for Sunxi devices. There is a lot of work to do in that area and while nothing was released yet, it looks promising. I also spent a considerable amount of time working on the LG Optimus Black (P970)’s bootloader. I will be posting a series of articles about what an incredible journey it has been so far on my personal blog over the next few days. Eventually, the device will be properly documented in our wiki and as soon as U-Boot reaches feature completeness, it will be time to start porting Replicant to the device!

December 20th update: The full series of articles about freeing the LG Optimus Black (P970) is now available:

Replicant 4.2 0002 images release

As we announced a few weeks ago, we’ve been working hard on Goldelico GTA04 support over the past months, so we thought it was time to make a new batch of images. Moreover, the time couldn’t be better as we are presenting Replicant at the LSM/RMLL, another reason to have something new to show!

Aside from GTA04 support, serious issues have been fixed regarding the Galaxy Nexus (I9250), that prevented entering suspend and the Galaxy S (I9100), where the RIL (telephony) was not reliable. In addition, more or less important fixes have also been introduced for other devices. Some more new features have been added as well, as we reduced out dependency toward Google in the Browser and the home screen. The Replicant logo also got a new typeface, that is now used on the boot screens and our websites.

Note that the SSL certificate for the Replicant websites was updated a few day ago, correcting an error about alternative valid names and using a new private key, the previous one having been subject to the Heartbleed vulnerability.

As usual, you can checkout the complete changelog, download the images from the ReplicantImages page and find installation instructions as well as build guides on the Replicant wiki.

Replicant 4.2 kicks out!

We’ve been working very hard over the past few months to push Replicant to a newer Android version: the work started when CyanogenMod released version 10.1.3, based on the latest Android 4.2 code, back in September 2013. Bringing Replicant to a new Android version is a really big piece of work, especially given that the project only counts one active developer (however, we have hopes to see more people getting involved in the future)! The biggest motivation for the new version is to allow us to port Replicant to newer devices, that were not supported by Android 4.0, upon which Replicant 4.0 is based. Aside of that, Replicant 4.2 also brings the various improvements that come along with Android 4.2 and CyanogenMod 10.1.

All the devices that were supported by Replicant 4.0 were successfully ported to version 4.2, but some devices encounter serious slowness issues that are yet to be resolved. On the bright side of things, support for a new device was added, the Galaxy Note 2 N7100, which is mostly similar to the already supported Galaxy S 3. That was only made possible thanks to the generous donations that were made to the project, which enable us to buy devices for the current developer to work on. We are looking forward to adding support for even more devices in the future as well! Our wiki was updated to reflect the status of the supported devices as of the Replicant 4.2 release and features updated installation and usage guides. The Replicant SDK was also updated and is available for download.

The Replicant website and wiki were also cleaned up a bit during the preparation of this release. Our blog shall now only be used for posting updated on the project while our wiki holds the core informations about Replicant. As a reminder, please do not use the comment section of this blog to ask general-purpose questions, but use our forums or mailing-list instead!

This release also puts the emphasis on security: given the recent concerns that raised up concerning wide-scale surveillance from governments and certain companies, we though it would be good to make Replicant more bullet-proof. The Replicant 4.2 images for devices are now built in the userdebug fashion, which ensures a better level of security, the shipped system applications are signed with our own private keys, for which we provide the certificates and the releases are signed with our very own GPG release key. It is encouraged that you check the authenticity of the Replicant images or binaries before installing anything you downloaded!

As usual, you can checkout the complete changelog, download the images from the ReplicantImages page and find installation instructions as well as build guides on the Replicant wiki.

Replicant 4.0 0005 images release

Another couple of months passed by, bringing its share of improvements to Replicant 4.0, so we felt it was time to release a new batch of images. First thing’s first, let’s talk a bit about the fundraising program we launched thanks to the Free Software Foundation: it was a huge success! Over $20,000 were collected over the past two months, thanks to your help. We really didn’t expect that much money and it will greatly cover for our needs, which include buying new devices and covering for travel-related expenses, allowing us to attend events such as FOSDEM. On a sad note, we are more and more looking for new developers to get involved in the project: both GNUtoo and I are very busy and cannot contribute to the project as much as we’d like to, so things will keep moving a bit slowly, compared to what it used to be.

However, this new batch comes with a good share of improvements: the Galaxy Note (first generation, international GSM model) was added to the list of supported devices with this release (thanks to your financial support that enabled us to buy the device), which brings that list up to 10 devices. Camera support was added to the Galaxy S3 and other smaller improvements were made as well. As usual, you can checkout the complete changelog, download the images from the ReplicantImages page and find installation instructions as well as build guides on the Replicant wiki.

Since we received complaints about the Replicant installation process, all the guides were rewritten to be device-specific and include clear and step-by-step instructions, which should make it easier for everyone to install Replicant on their device. Moreover, the newly-launched forums and our mailing list make it possible to get help from our community, about the installation or anything else you want to talk about!

Replicant 4.0 0003 images release

It has been two months since the last images release and we decided that it was time to release another batch of images. These are still based on Android 4.0. First, it comes with support for the Galaxy Tab 2 10.1 & 7.0 tablets, both in GSM/3G versions: these tablets are pretty much phones with bigger screens. There is still room for improvement regarding these tablets in Replicant, but they have reached a state of usability, even though they are particularly slow in portrait mode.

Other minor fixes for other devices are included in this release, especially stability fixes regarding the Radio Interface Layer. The full changelog is available for more details.

We are now working to bring Replicant support to other devices such as the Goldelico GTA04.

You can download the images from the ReplicantImages page and find installation instructions as well as build guides on the Replicant wiki.

Replicant 4.0 0001 images release

After months of working hard to bring Replicant to the next upstream release, we are proud to announce the release of the Replicant 4.0 0001 images. This new release comes with support for both new devices, such as the Galaxy Nexus or the Galaxy S2 and devices that were already there in Replicant 2.3, like the Nexus S and the Galaxy S.

Aside from the new Ice Cream Sandwich user experience, that we tried to make as good as possible without any non-free blob, most devices have better hardware support than before, such as Galaxy S which now has working camera, or the global improvements that were made to make telephony more stable and reliable. Even though it’s not perfect yet, we are proud of the result, that many of us use daily. If you encounter a particular problem with our software, do not hesitate to report the issue via our tracker, or give feedback when a problem was resolved.

We are indeed writing hundreds of lines of code to have more hardware supported and with a better state, replacing non-free components, step by step. Keep in mind that Replicant has a very small core team, we’re just two people doing this on our free time: that means we can’t work on every side of the project at the same time and have to make choices. This is why we will always welcome serious new contributors who’d like to get involved in the project.

You can download the images from the ReplicantImages page and find installation instructions as well as build guides on the Replicant wiki.

Replicant 2.3 0005 images, fixing the USSD vulnerability

Earlier this week, we were noticed that an USSD vulnerability was discovered in Android. After doing a bit of research, we came to understand the nature of the vulnerability: intents can basically dial a number and start a call without asking confirmation to the user. That could seem harmless at first sight, but it turns out it also works with USSD codes, and some of them are very powerful. This is mostly the case of vendor-specific USSD codes (that are not included in Replicant), which could erase the phone’s user data.

What’s also problematic about this is that web pages can trigger such intents (through an iframe with the tel: prefix for instance).
Since this vulnerability was present in our Replicant images (although the damage was reduced as we don’t include vendor-specific USSD codes), we decided to include the fix in our code base and release new images. That’s nearly the only new feature of these images (Galaxy S also got a nasty graphic bug fixed).

You can download the images from the ReplicantImages page and find installation instructions as well as build guides on the Replicant wiki.

Replicant 2.3 0004 images release

Even though we didn’t update the homepage for a long time, we are still actively working!
Lately, a big part of the work was focused on adding support for the upcoming Goldelico GTA04. We strongly encourage the use of the GTA04 since it features nearly-zero known freedom issues (the only exception being that the WiFi chip needs a loaded firmware). Porting Replicant to the GTA04 helps making the device more usable for everyone, thanks to the Android user experience.

Not so much changes were added for other devices, though Samsung devices now have stable data (3G/GPRS, etc). We are also working to reach a state of completeness on these devices. On the other hand, we are also starting the port to Replicant 4.0, based on CyanogenMod 9, introducing newly-supported devices such as the Galaxy S2 and the Galaxy Nexus.

Regarding the new Replicant 2.3 0004 images, you can download them from the ReplicantImages page, find installation instructions as well as build guides on the Replicant wiki.

Replicant on Nexus S preview

As we already mentioned it, we have started the work to support the Nexus S on Replicant. We are now releasing preview images, the first set for the Nexus S! You can now download the preview images: replicant-2.3 for crespo.

This images includes the ipc-modemctrl tool (from libsamsung-ipc) that implements minimal telephony support. Please test this tool and give us feedback:

Here is a list of what’s not ready yet in this preview image (but may be done in the future):

  • RIL: this is the crucial library used to handle telephony and data connectivity (3G). This is being worked on very hard and will be there in some time
  • GPS: we haven’t worked at all on the GPS side: it might be possible to have it working (needs work)
  • Compass: it’s the same as in Nexus One (which works) but the kernel driver is different (needs work)
  • Full Camera: Camera works but in Black & White preview mode and isn’t very stable

Here’s a list of what doesn’t work in Replicant and is probably not going to be achieved:

  • 3D acceleration
  • Whatever needs the non-free firmwares we don’t include (NFC, MFC, WiFi, Bluetooth…)

We are indeed not including any non-free firmware (100% free is our goal) and are not going to provide any free replacement for these as we are not skilled to write such replacement. Though, the kernel we use won’t prevent loading these firmwares if in place.

We also thought of porting u-boot to the Nexus S in order to have a free bootloader replacement but it’s apparently not possible as primary bootloader (perhaps possible chainloaded).

Anyway, we made a video of Replicant 2.3 running on the Nexus S:

And also made a gallery of Screenshots showing Replicant on the Nexus S: