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 git.replicant.us, 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 and friends at Chaos Communication Camp 2015

As advertised in the previous blog post, I’ll be at CCCamp 2015 to talk about Replicant (as well as other things that I’m working on, like porting Libreboot to the C201 Chromebook), starting tomorrow.

Formally, I’ll be giving a 45 minute long talk at the Neo village tent on Sunday, about Replicant, software freedom and privacy/security on mobile devices. In addition, I have asked to give a lightning talk to highlight the necessity to have more developers involved in Replicant on Saturday at 17:05. The project is still mostly a one-man-effort and this situation cannot ensure the growth the project deserves.

People from the Neo900 project will organize the Neo village, where I’ll have my tent at, next to Osmocom. As usual, you’re welcome to come and say hi (and possibly verify the Replicant release public key as well)! I may just as well hang around the Quadrature village, where they have a nice tea house set up!

Neo900 folks also plan on giving presentations, starting with a lightning talk about Neo900 on Friday and a full talk about the project on Saturday, at the BER village.

See you there! By the way, my GSM network at camp is 5198, feel free to send me a message if you require my presence!

Update: The talks have been added to the Conferences wiki page. Unfortunately, the longer talk on Sunday had to be interrupted because of the lightning storm and couldn’t be resumed later. The slides are however available and hold the main elements of the talk.

RMLL feedback, Optimus Black advancement and CCCamp

Two weeks ago, I took part in RMLL as advertised on the Replicant blog shortly before the event. This year again, it was a really nice event to be a part of. Lots of people showed interest for Replicant and some even came specifically to see my talks about the project: what a pleasant surprise! The videos of my talks are already available on the RMLL website and they were also added to the Conferences page of the Replicant wiki.

Back from the event, the development effort was focused on cleaning up the bits and pieces laying around for Optimus Black support in U-Boot, now that the merge window is open. A patch series was sent for review earlier today and despite being incomplete as of now, it will serve as a solid base for future additions. Some more work is indeed required to have all the necessary features supported, but those patches will be written in a non-upstreamable way for Replicant at first. The current status of those dirty patches allows booting CyanogenMod without too much trouble, except for the occasional random reboot and other oddities that still have to be sorted out before it can seriously be used for daily use.

Thus, with basic bootloader support out of the way, it’s time to start the Replicant port to the device. Communication with the modem will require some heavy work on Hayes-RIL, our implementation of the AT protocol radio interface layer, that is supposed to be more modern and robust than other implementations. Other fundamental parts required to have Replicant running with sufficient features to make the device useful should be less trouble.

In a month or so, the Chaos Communication Camp will take place in Germany, organized by the almost mythical Chaos Computer Club. Replicant is going to take part in the event, hopefully with a lightning talk and/or less formal self-organized events. The camp will be a great occasion to chat a bit about the current state of the art of software freedom on mobile devices, and more! Various other interesting projects will be there as well: members of the Neo900 project will hold the Neo village, where I’ll be likely to be found. As usual, I’ll also be available to verify the Replicant release key fingerprint, help newcomers install Replicant on their device and basically anything else that I can help with!

Replicant source code hosting and RMLL 2015

As mentioned a few months ago, Gitorious is closing down and even though the Replicant project page can still be reached there, cloning the repositories has been broken for some time. After thoroughly evaluating all the hosting possibilities for Replicant (thanks to the many suggestions from the community!), we have finally reached a decision. We didn’t want to be affiliated with a hosting provider that doesn’t match Replicant’s core values, that are all about software freedom. In addition, it seemed better not to be hosted by a third party, to ensure the security of the source code. These criteria left us with very little choice available, but thankfully, we were able to comply with them, as the Replicant source code is now hosted by the Free Software Foundaton, at git.replicant.us!

We are very thankful to the FSF for providing us with that solution and the hardware required for our needs (the Replicant source code is very large). Eventually, we will move all the Replicant source there, as opposed to only the parts of CyanogenMod and AOSP that we modified, so that we don’t have to rely on any third party at all.

With all those discussions going on, I almost forgot to mention that I will be taking part in RMLL/LSM again this summer. The event takes place in Beauvais, France (near Paris) from July 6th to 10th (sorry for the short notice). I will be presenting two talks there, one about the overall state of the Replicant project, in French, and one about liberating mobile devices from the ground up, in English. In addition, I will be taking part in a workshop on free embedded devices in room 219, were I will show a few embedded devices running free software.

As usual, everyone is welcome to come, say hi and have a nice chat. It’s also possible to verify the Replicant release GPG key in person to trust the verification of our images releases. And of course, I’ll be available to help install Replicant on supported devices!

What’s happening (or not) at Replicant

Two months ago, I (Paul Kocialkowski) gave a talk about reached milestones and ongoing development on Replicant at FOSDEM, one of the biggest yearly European gatherings of free software developers. I was thrilled to meet people interested in Replicant there and pleased to chat with many other free software developers, working on various fields. As usual, talks were recorded and most of those recordings are now available on the FOSDEM website, with no exception for the embedded devroom, where I gave my talk and joined an embedded freedom roundtable with Carsten Munk from Jolla and the attendance. A WebM version of the talk is available on the Conferences page of the wiki.

Back from FOSDEM, most of my work was focused on U-Boot (the universal bootloader) for the LG Optimus Black and Sunxi (Allwinner) devices. Things are starting to look good on the LG Optimus Black, which now correctly boots Android without random run-time faults. As usual, things are moving very slowly due to the lack of time. The next step there will be to submit the first batch of LG Optimus Black support for inclusion in upstream U-Boot.

The Replicant code itself hasn’t changed much in the past months, since I am focusing on bootloaders development at this point. In addition, Gitorious is now closing down and while we have all the source code uploaded there backed up, we’re looking for an alternative solution that doesn’t compromise on the core values behind Replicant and offers significant guarantees. Because of this situation, nothing is to be committed to the repositories before they are moved to a new location, that we are yet to find.
However, some security updates were kindly submitted by the community and those will be reviewed and integrated as soon as everything is back up and running.

So hopefully, things will start moving faster in a bit!

Replicant at FOSDEM 2015

This year’s edition of FOSDEM, one of the major free software conferences in Europe, is just around the corner! Among the various talks that mention the state of free software on embedded devices, I (Paul Kocialkowski) will be presenting a talk entitled “Reached milestones and ongoing development on Replicant” on Sunday afternoon, that will first highlight the various achievements that were accomplished within the Replicant project to handle the numerous devices it supports today, only to explain how the majority of those devices are fatally flawed when it comes to freedom and privacy/security. Thus, the second part of the talk will put the emphasis on the new focus of the development effort, on devices that can take freedom to the next level. In particular, the current status of the Goldelico GTA04, LG Optimus Black (P970) and Allwinner (Sunxi) devices ports will be mentioned in detail, along with a description of the various plans for the work that is left to be done.

FOSDEM is also a great opportunity to meet members of the community, so do not hesitate to say hi if you bump into me in the embedded devroom or around the place! Remember that face-to-face meetings also allow for verifying the Replicant project’s release key‘s fingerprint and creating a chain of trust for verifying the software released by the Replicant project.

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 homepage and roadmap for the future

For a long time, the entry point for Replicant on the web was our blog, which holds status reports and news about the project. However, it did not fit well for providing easy access to relevant material about the project, nor did it give our (growing) community the attention it deserves. This is why we decided to launch a new homepage for the project, highlighting what really matters, in style.
We believe it is a good thing to have, in order to clearly spread the word about Replicant and ease the understanding of our message. The new homepage provides a clear explanation of what Replicant is about, provides answers to some common questions about the project and most importantly, holds a detailed overview of the core freedom and privacy/security issues that we face on mobile devices today, as well as recommendations regarding these topics.

Regarding progress in development, a few things happened recently and a lot more is on the way: time to take a step back, look at what’s in the works and what is next on our roadmap.
After attending RMLL/LSM in Montpellier, France, most of the development time was spent on completing a full rewrite of Samsung-RIL, the software in charge of the various aspects of telephony and mobile data on the Samsung devices we support. This rewrite brings many advantages in terms of stability, features support and also provides a sane and clear base to make external contributions easier. While this is an important contribution to achieve software freedom on mobile devices, these Samsung devices are severely flawed as they don’t allow running free bootloaders.

For some time already, we have decided to focus our development effort on better devices, that can run free bootloaders, in addition to a free system such as Replicant. First, we decided to bring Replicant 4.2 support to the Goldelico GTA04 and have already made good progress since the start. It is not currently usable as a daily phone, but we are confident about the future. The next step in the process is to work on supporting Allwinner devices, starting with cheap Chinese tablets. We are proud to be collaborating with the free software community built around the Allwinner Sunxi platforms: linux-sunxi. Our goal is to provide generic Replicant support for these platforms, so that as many devices as possible can be supported, with little effort required to support a new device. Thanks to the work of the linux-sunxi community, many of these devices can already run a free bootloader and have a community-maintained kernel available, providing a solid base for Replicant on Sunxi devices. In addition, we have spotted a few widely-spread devices that would also be good candidates for running a free bootloader and a free system: stay tuned as we will start documenting these devices soon!

In the meantime, we are more than ever willing to make Replicant as privacy/security-oriented as we can, especially by targeting devices that either don’t have a modem at all (Wi-Fi-only tablets, such as the many Sunxi ones) or are not proven to have bad modem isolation.

As of today, Replicant is still a one-man effort and while all these new directions are very exciting, it takes a lot of time to actually turn them into reality. Since we prefer to focus on these new directions, Replicant will stay based on version 4.2 of Android, even though newer versions are available upstream. Porting Replicant to a newer version requires a lot of effort and doesn’t bring any significant advantage when it comes to freedom.

Regarding the devices we already support that do not match the free bootloaders criteria, we are not going to drop development for them, but the majority of what was possible to achieve on them is already there and while we could keep adding support for more and more of these devices, we believe that development time is better spent on these new exciting directions!

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 on the Goldelico GTA04

We started the work on the Goldelico GTA04 about 2 years ago, back in the Replicant 2.3 days. While we were able to release images at this point, they were far from being functional as key components were missing from the kernel, especially regarding power management. About 2 years later, the situation was finally unlocked thanks to the efforts of Golden Delicious and various members of the OpenPhoenux community, bringing GTA04 support to a newer kernel version that holds all the necessary pieces for proper Android support. More details on some technical aspects related to this are available at Paul Kocialkowski’s coding blog.

Work on the device resumed months ago and we’ve been working hard ever since to improve the status of the Replicant port. While it is not yet usable as a daily phone, we have reached numerous milestones over the past months and many key parts of the device are already handled correctly, already allowing many use cases, such as digital audio player or GPS navigation system. A dedicated wiki page holds the details of the Replicant status on GTA04.

As we’re very enthusiastic about the future, we’ve decided to shoot a video highlighting various aspects of Replicant on the GTA04! Installable images for the GTA04 will be released along with the next batch of Replicant 4.2 images, including all the features shown in the video:

The video is also available for download:

To this day, the GTA04 remains the best phone out there regarding software freedom: bootloaders are free software and Replicant will eventually be able to run with most of the device’s features supported, the only exceptions being graphics acceleration, hardware media encoding/decoding and Wi-Fi (due to a proprietary firmware). Regarding security and privacy, the Goldelico GTA04 is also very good as it can run without proprietary software, but also because its modem is clearly separated from the rest of the device.

You are very much encouraged to get your own device out of the next batch of GTA04 production by placing a preorder on the next revision! As it is often the case, devices that are particularly designed to be a good fit with free software don’t get much mainstream attention, which makes it especially hard for Golden Delicious to run production batches. Unlike in software development, having hardware produced costs a lot of money, especially in small batches. It is up to you to change that by showing your interest toward the Goldelico GTA04. Donations to Golden Delicious or Replicant are also welcome to help push the project forward!