aboutsummaryrefslogtreecommitdiffstats
path: root/markdown/2019_01_replicant-will-receive-a-device-from-necuno-solutions.md
blob: 404b270e2b5aedc35420cca826dbcf6db52d2e40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
date: 2019-01-20T21:40:19+00:00
title: The Replicant project will receive a mobile device from Necuno Solutions
authors: GNUtoo
tags: Replicant news, GNUtoo
licenses: CC-BY-3.0 OR CC-BY-4.0
---
The Replicant project has been looking forward to support devices with free
software bootloaders. While Replicant is a fully free software Android
distribution, many freedom, privacy and security issues are orthogonal to the
operating system. The hardware design of each computer (smartphone, tablet,
laptop, etc.) people use, and the architecture of the cellular network also
have their set of issues. For more information on these issues, the Replicant
project has [some documentation on the topic][1].

So far all the devices that are (or have been) supported by Replicant use a
nonfree [boot software][2] ([the bootloader][3]). These devices also use
hardware restrictions to deny users the freedom to replace them completely
with free software, effectively forcing them to run nonfree software. This is
a very serious freedom issue that prevents users from being in control of
their devices.

There were several attempts to add support for devices with free software
bootloaders in Replicant:

* The LG Optimus black: this smartphone doesn't prevent users from replacing
  the bootloader. Paul Kocialkowsky [did a lot of work][4] to add support
  for this device in upstream u-boot (a free software bootloader) and added
  minimal support for it in the upstream Linux kernel. However support for
  some of its most important hardware components like the display are still
  missing in the Linux kernel. This device can probably still be found
  second hand

* The [GTA04][5] smartphone from Golden Delicious: this smartphone has a
  free software bootloader which is based on u-boot. The smartphone was
  designed to run GNU/Linux and has [almost complete support in upstream
  Linux][6]. There were attempts to add support for it in Replicant 6.0,
  however a lot of time was spent to try to make suspend to RAM work with
  Android. However older Replicant 4.2 images are available. Several
  hardware revisions of the GTA04 have been made and shipped to customers
  and developers over the years. However this has stopped due to
  [manufacturing issues.][7] Another issue is that the revisions before A5
  only have 512M of RAM and a high DPI display: This combination makes
  running Android 9 [potentially challenging.][8] Fortunately the A5
  revision has 1G of RAM, [but not a lot of working units were produced][9].

There is also some [ongoing work][10] to specifically add support for
smartphones that are currently supported by Replicant like the Galaxy SIII
(i9300), the Galaxy Note 2 (n7100) and their 4G versions (i9305 and n7105).
The 4G versions could also be supported by Replicant if the work to support
their modem (through [QMI-RIL][11]) is resumed.

The Replicant project will receive a mobile device, the [NC_1][12] (formerly
called Necuno Mobile) from its manufacturer (Necuno Solutions), which will
have a free software bootloader

This device has the size of a smartphone, but doesn't have a [broadband
modem][13]: while users will not be able to use a built-in modem for phone
calls, SMS or to access the Internet, it is still the best way to be
completely sure of avoiding any freedom privacy and security issues related to
broadband modems and the cellular network. It will also require less work to
add support for this device in Replicant.

Even if it's possible to disable the modem on some of the mobile devices
currently supported by Replicant [by not loading the modem's code][14], some
nonfree software still run on these mobile devices. This includes the
bootloader and potentially any other nonfree software that it may load.
Because of that we cannot be 100% sure that the modem is completely disabled.

The Necuno Mobile will use an I.MX6 Quad [system on a chip ][15](which is a
chip that contains the main CPU, the microSD card controller, the GPU, etc.).
Its free software support is better than for many other system on a chip: the
only functionality of the I.MX6 Quad that requires nonfree software is the
video decoding acceleration. The [article on single board computers][16] has
more details on freedom issues affecting various system on a chip and by
extension the single board computers that use such components.

A Replicant developer (Joonas Kylmälä) will receive a Necuno Mobile to work on
it.  

The Necuno Mobile should have a Linux kernel that is very close to upstream:
this is a good opportunity for a new attempt to enable Replicant to use
upstream kernels. [This has many advantages][17]. One of them is that in the
long run, it should decrease the amount of work required to maintain the
devices and potentially increase their lifetime.

This should also enable the Replicant project to more easily add support for
other devices that can use an upstream kernel, like the GTA04, or devices like
the Galaxy SIII (i9300) and the Galaxy Note 2 (n7100) that are starting to
have good support in upstream Linux.

It is also very interesting in the long run as we could share some of the work
with other smartphones projects like **[postmarketOS][18]** who are also
trying to support mobile devices with upstream kernels. It could also enable
the Replicant project to more easily support future mobile devices that will
have free software bootloaders, as some of them will also use kernels that are
meant to run GNU/Linux.

 [1]: <https://replicant.us/freedom-privacy-security-issues.php>

 [2]: <https://en.wikipedia.org/wiki/Booting>

 [3]: <https://en.wikipedia.org/wiki/Booting#Other_kinds_of_boot_sequences>

 [4]: <https://code.paulk.fr/article20/a-hacker-s-journey-freeing-a-phone-from-the-ground-up-first-part>

 [5]: <https://www.gta04.org/>

 [6]: <http://projects.goldelico.com/p/gta04-kernel/page/UpstreamStatus/>

 [7]: <http://laforge.gnumonks.org/blog/20170306-gta04-omap3_pop_soldering/>

 [8]:
<https://redmine.replicant.us/projects/replicant/wiki/HardwareRequirements>

 [9]:
<http://lists.goldelico.com/pipermail/gta04-owner/2019-January/007922.html>

 [10]: <https://blog.forkwhiletrue.me/pages/midas-mainline/>

 [11]: <https://redmine.replicant.us/projects/replicant/wiki/QMI-RIL>

 [12]: <https://necunos.com/mobile/>

 [13]: <https://en.wikipedia.org/wiki/Mobile_broadband_modem>

 [14]: <https://redmine.replicant.us/projects/replicant/wiki/ModemDisable>

 [15]: <https://en.wikipedia.org/wiki/System_on_a_chip>

 [16]: <https://www.fsf.org/resources/hw/single-board-computers>

 [17]: <https://redmine.replicant.us/projects/replicant/wiki/Upstream>

 [18]: <https://en.wikipedia.org/wiki/PostmarketOS>