diff options
Diffstat (limited to 'Fosdem2020/Replicant_sustainability/Replicant_sustainability.tex')
-rw-r--r-- | Fosdem2020/Replicant_sustainability/Replicant_sustainability.tex | 1532 |
1 files changed, 1532 insertions, 0 deletions
diff --git a/Fosdem2020/Replicant_sustainability/Replicant_sustainability.tex b/Fosdem2020/Replicant_sustainability/Replicant_sustainability.tex new file mode 100644 index 0000000..be62825 --- /dev/null +++ b/Fosdem2020/Replicant_sustainability/Replicant_sustainability.tex @@ -0,0 +1,1532 @@ +\documentclass{beamer} +\usepackage[english]{babel} +\usepackage{color} +\usepackage{graphicx} +\usepackage{ifthen} +\usepackage[utf8]{inputenc} +\usepackage{ulem} +\usepackage{listings} +\usepackage{pdfpages} +\usepackage{tikz} +\usepackage{xtab} + +\newcommand{\outputpicture}[2] { + {\includegraphics[scale=#1]{output/#2}} +} +\newcommand{\devicepicture}[1] { + {\includegraphics[scale=0.5]{../../external_resources/replicant_website/images/supported-devices/#1.png}} +} + +%% \usetheme{Singapore} + +\title{Extending the lifetime of smartphones with Replicant, a fully free Android distribution} +\author{Denis 'GNUtoo' Carikli and David 'dllud' Ludovino} +\date{\today} + +\begin{document} + +\maketitle + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Introduction} + +\begin{frame} + \center{Introduction} +\end{frame} + +\begin{frame} + \center{Replicant:} + \begin{itemize} + \item Fully free Android distribution approved by the FSF + \item But the hardware it runs on is not... + \item More details on hardware related freedom issues later %% TODO + \end{itemize} +\end{frame} + +\begin{frame} + \center{Quick Facts} + \begin{itemize} + \item Website: replicant.us + \item Exists since September 2009 + \item Currently based on LineageOS + \item Android versions: + \begin{itemize} + \item Replicant 6: Android 6, last security update: October 2017\cite{last-android-6-update} + \item Replicant 9: Android 9, work in progress\cite{porting-to-android-9} + \end{itemize} + \item Supports $\sim$ 10 devices (smartphones and tablets) + \item $\sim$ 2 full time equivalent contributors and a big community + \end{itemize} +\end{frame} + +\begin{frame} + \center{Minimum feature set required to support a device:} + \begin{itemize} + \item Display working and graphics fast enough + \item Sound working + \item Be able to make calls + \item etc + \item GPS, Camera, and other non crucial hardware may not work, or work in later releases + \end{itemize} +\end{frame} + +{ + \begin{frame} + \center{A very short introduction on hardware:} + \outputpicture{0.8}{i9300_hardware.png} +%% \float + %% \setbeamercolor{block body}{fg=red} + %% \begin{block} + \begin{itemize} + \item System on a chip + \item Smartphones and the modem + \end{itemize} + %% \end{block} + \end{frame} +} + +\begin{frame} + \center{Why Android?} + \begin{itemize} + \item Advantages: + \begin{itemize} + \item GUI and applications adapted to big fingers + \item $\rightarrow$ run on devices that: + \begin{itemize} + \item Lack keyboard + \item Have capacitve touchscreen and no stylus + \item Have very small displays with very high number of pixel + \end{itemize} + \end{itemize} + \item Issues + \begin{itemize} + \item Part of the GNU/Linux software architecture is light years away: package management and build system, graphics, audio, etc + \item Huge unknown code from Google + \item Meant to run proprietary software, not to empower users + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \center{Android: From time to market driven architecture to substainability} + \begin{itemize} + \item SOCs, WiFi chips, smartphones and tablets + \begin{itemize} + \item Write the code that work as fast as possible + \item Support as many hardware features as possible + \item $\rightarrow$ Varying code quality + \item $\rightarrow$ Example: One driver rewritten 3 times %% TODO: reference + \end{itemize} + \item Breaking Kernel API and ABI + \begin{itemize} + \item It can take time (years) to bring in a new framework in Linux + \item Example of API breakage: HTC dream audio driver + \item Solution: Apps $\leftrightarrow$ Android framework $\leftrightarrow$ HAL $\leftrightarrow$ Kernel + \item Getting better in Android: Trebble and Generic Kernel images + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \center{Ugly code is good (for freedom):} + %% TODO: replace with [blobby from OpenBSD] VS [dirty tux] -> [freedo] + \begin{itemize} + \item Having the source code under free software licenses, even if the code quality is bad is crucial for freedom: + \begin{itemize} + \item Hardware bringup is often made that way anyway + \item Things can be improved later: + always be cleaned up later or if the code quality is too bad, rewritten from scratch + \item Having the source code under a free software license is very important + \item Worst case: use the source code as documentation or reverse engineer it (add prints) + \end{itemize} + \item $\rightarrow$ We depend on that source code + \end{itemize} +\end{frame} + +%% \begin{frame} +%% \center{What affect a device lifetime in Replicant?} +%% \begin{itemize} +%% \item Upstream support $\leftarrow$ We're working on it +%% \item Android RAM consumption VS device RAM size $\leftarrow$ Very little leverage from Replicant +%% \item Removable batteries and developers being able to get the device $\leftarrow$ We don't support devices without removable batteries +%% \item Freedom issues (Chinese whispers) $\leftarrow$ Conflicting interests +%% \end{itemize} +%% \end{frame} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +{ +\setbeamercolor{background canvas}{bg=black} +\setbeamercolor{normal text}{fg=white} +\usebeamercolor*{normal text} +\begin{frame} + \center { + [ + \setbeamercolor{normal text}{fg=green} + \usebeamercolor*{normal text} + OK + \setbeamercolor{normal text}{fg=white} + \usebeamercolor*{normal text} + ] Listened to the background introduction. + } +\end{frame} +} + +{ +\setbeamercolor{background canvas}{bg=black} +\setbeamercolor{normal text}{fg=white} +\usebeamercolor*{normal text} +\begin{frame} + + \center { + [ + \setbeamercolor{normal text}{fg=green} + \usebeamercolor*{normal text} + OK + \setbeamercolor{normal text}{fg=white} + \usebeamercolor*{normal text} + ] Listened to the background introduction. \\ + \setbeamercolor{normal text}{fg=white} + \usebeamercolor*{normal text} + \hspace{4.5em} + Starting second part about sustainability. + } +\end{frame} +} + +\section{Smartphones lifetime} + +\begin{frame} + \center{Part II: Smartphones lifetime} +\end{frame} + + +\setbeamercolor{background canvas}{bg=black} +\setbeamercolor{normal text}{fg=green} +\usebeamercolor*{normal text} + +{ + \setbeamercolor{normal text}{fg=white} + \usebeamercolor*{normal text} + \begin{frame} + \center { + What I'm about to tell you is subversive... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=green} + \usebeamercolor*{normal text} + \begin{frame} + \center { + $<$subversive$>$ + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=green} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Once upon a time... + } + \end{frame} +} + +\begin{frame} + \center { + \large{Dave didn't want to buy a smartphone...} \\ + \bigskip + \small{ + "Nearly all Present-day cell phones are Stalin's dream” \\ + Richard Stallman\cite{stalin-dream} + } + } +\end{frame} + +\begin{frame} + \center { + \large{But...} \\ + \bigskip + \small{ + $\rightarrow$ [[Peer pressure]] and advertizing \\ + $\rightarrow$ Employment (exploitation?) + } + } +\end{frame} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + You need to be reeeeachable at all timesssss. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: okay okay, I finally bought a smartphone. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=green} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave bought an Android smartphone off the shelf. \\ + The smartphone has a removable battery. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + This smartphone will self-destruct in 5 years + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: Why didn't I know that at the time of buying? + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=green} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Two years later... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Hmmm + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: What? + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + I'm sorry Dave, your battery ran out. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Game Over: Buy a new phone. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: Play again! Insert a new battery to continue! + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=green} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave buys a new battery. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Uhhh consumers like Dave are tiring me... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: I'm a humain beeing! + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Uh oh. + } + \end{frame} +} +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Hmmm + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: What now? + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + I'm sorry Dave, your smartphone ran out of software support. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: Shiiit + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=green} + \usebeamercolor*{normal text} + \begin{frame} + \center { + %% TODO: Charlie chaplin like interlude + Dave doesn't want to destroy the planet + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: \\ + \sout{No passaran} \\ + \sout{You shall not pass} \\ + I shall not buy a new smartphone. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: I can still run Android apps. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Securityyyy.... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: my smartphone is full of backdoors anyway. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: You're part of my threat model. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Shit they become more and more clever. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Hmmm? + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + I'm sorry Dave, the Android apps don't support your old Android version. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: Shiiit + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: Fuck you, I'll install LineageOS. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + I'm sorry Dave, you will loose your data in the process. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: \\ + I'll migrate the data myself. \\ + DIY is great ! \\ + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave Dave please remain with us... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: + I don't trust you. + Fuck off! \\ + Leave me alone! \\ + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=green} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Two years later... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=green} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave was living happily \sout{ever after} and forgot about his smartphone \\ + (and all the backdoors...). + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + I'm sorry Dave, LineageOS dropped support for your smartphone. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=green} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave faints... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: How is that possible? + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Knock Knock Dave... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Do you want the red pill [y/N]? + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Do you want the red pill [y/N]? + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + Y + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: Fuck yes I want the red pill! + } + \end{frame} +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{Replicant} + +{ + \setbeamercolor{background canvas}{bg=white} + \setbeamercolor{normal text}{fg=black} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Part III: The Phantom Menace + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave, you've been living in a dream... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Until recently the Linux kernel in your phone was very heavily modified... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Our informations are scarse and sometimes outdated... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + But we deduced that in 2008 the device and chip manufacturers did that to improve the time to market... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + But who care about time to market when most of the humans will die with 2 degrees? + } + \end{frame} +} + +%%TODO: fix /!\ +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + HAL: %% /!\ + Warning: Anarcho-ecolo-communist terrorist detected + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: Good idea! + } + \end{frame} +} + +%% TODO: improve error +{ + \setbeamercolor{normal text}{fg=red} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Kernel panic: error -1: Operation not permitted \\ + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + So they abstract the kernel in libraries that are often nonfree. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Like the libril which implements the modem protocol, and in some cases a backdoor too... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: Shiit... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave: So they own us? + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + In some way yes, but we have the devices, so we can still fight back. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + For instance we have greater assurance of not being recorded, but if you left your phone on, they know where you are. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Shit. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=white} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Dave panicks and removes the battery. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + You trapped me! \\ + Because we're at the same location, they know I'm in the resistance now! + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + I don't use a smartphone so they don't know where I am. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + By the way: Welcome to the Resistance. + } + \end{frame} +} + +{ + \setbeamercolor{background canvas}{bg=white} + \setbeamercolor{normal text}{fg=black} + \usebeamercolor*{normal text} + \begin{frame} + \center { + %% TODO: attack of the clones with Replicant instead + Part IV: The counter attack of the \sout{clones} Replicants + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + How to fight back? Do I need a \sout{light saber} soldering iron? + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + I've no definite answer on that, many things were tried in the past. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Revolutions, assasinations, armed conflicts, theft, strikes, teaching, living in remote communities, regicides, and even making a bank. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + But besides remote communities and self-management spaces within the system, we didn't get rid of abuse of power yet. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + I meant for smartphones. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + I'm sorry Dave, as of today smartphones can't respect your freedom. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + They track you with a deadly precision. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Our sources indicated us 10 or 20 meters for GSM and 3G. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + But replacing more and more nonfree software by free software limits the damage. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + We have several fully free software GNU/Linux distributions and even Replicant, a fully free Android distribution. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Replicant is almost as old as \sout{the Matrix} Android. + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + So if I've a supported device that has a removable battery, will it last longer with Replicant? + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Not yet. + } + \end{frame} +} + +\section{Breaking the chains} + +{ + \setbeamercolor{background canvas}{bg=white} + \setbeamercolor{normal text}{fg=black} + \usebeamercolor*{normal text} + \begin{frame} + \center { + %% TODO: attack of the clones with Replicant instead + Part IV: Breaking the chains + } + \end{frame} +} + +%% { +%% \setbeamercolor{normal text}{fg=violet} +%% \usebeamercolor*{normal text} +%% \begin{frame} +%% \center { +%% And in some places where the resistance is strong. +%% } +%% \end{frame} +%% } + +%% { +%% \setbeamercolor{normal text}{fg=violet} +%% \usebeamercolor*{normal text} +%% \begin{frame} +%% \center { +%% There are communities operating various types of wireless networks. +%% } +%% \end{frame} +%% } + +%% { +%% \setbeamercolor{normal text}{fg=violet} +%% \usebeamercolor*{normal text} +%% \begin{frame} +%% \center { +%% We could take advantage of that, but then would we still really need smartphones? +%% } +%% \end{frame} +%% } + +%% { +%% \setbeamercolor{normal text}{fg=violet} +%% \usebeamercolor*{normal text} +%% \begin{frame} +%% \center { +%% Replicant is still heavily based on LineageOS. +%% } +%% \end{frame} +%% } + +%% { +%% \setbeamercolor{normal text}{fg=violet} +%% \usebeamercolor*{normal text} +%% \begin{frame} +%% \center { +%% So if LineageOS didn't port a device to new Android versions... +%% } +%% \end{frame} +%% } + +%% { +%% \setbeamercolor{normal text}{fg=violet} +%% \usebeamercolor*{normal text} +%% \begin{frame} +%% \center { +%% Replicant would also need to drop that device for new Android versions. +%% } +%% \end{frame} +%% } + +%% { +%% \setbeamercolor{normal text}{fg=violet} +%% \usebeamercolor*{normal text} +%% \begin{frame} +%% \center { +%% But many projects are working to get rid of hardware vendor kernels. +%% } +%% \end{frame} +%% } + +%% { +%% \setbeamercolor{normal text}{fg=violet} +%% \usebeamercolor*{normal text} +%% \begin{frame} +%% \center { +%% Including Replicant, postmarketOS, LineageOS and even Android are involved. +%% } +%% \end{frame} +%% } + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Some smartphones have longer software support... \\ + But they have batteries that cannot be easily removed... \\ + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Others are meant to be repaired... \\ + But the software support is bad... \\ + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + So we lost? \\ + There are many many smartphones being produced each years... \\ + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + What you must learn is that these rules are no different than rules of a computer system. \\ + Some of them can be bent, others can be broken. \\ + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Most modern smartphones have non removable batteries! \\ + It's hopeless! \\ + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Free your mind... + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Do you think that the number of smartphones has anything to do with their strength? + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=blue} + \usebeamercolor*{normal text} + \begin{frame} + \center { + Right, but how? + } + \end{frame} +} + +{ + \setbeamercolor{normal text}{fg=violet} + \usebeamercolor*{normal text} + \begin{frame} + \center { + We're going to hangup on this political system, + and then show these people what thoses in power don’t want them to see. + We're going to show them a world without power. + A world without forced rules or controls, borders or boundaries. + A world where anything is possible. + Where we go from there, is a choice I leave to the people. + } + \end{frame} +} + +\section{Real world} + +\setbeamercolor{background canvas}{bg=white} +\setbeamercolor{normal text}{fg=black} +\usebeamercolor*{normal text} +\begin{frame} + \center{Part V: Back to the real world} +\end{frame} + +\begin{frame} + \center{Replicant 6 $\rightarrow$ More recent Android.} +\end{frame} + +\begin{frame} + \center{Requirements += Replacable battery:} + \begin{itemize} + \item No need to rush to support the device + \item The device lasts longer + \item $\rightarrow$ In line with upstreaming longer term work. + \end{itemize} +\end{frame} + +\begin{frame} + \center{Devices supported by Lineage 16 with a removable battery:} + \begin{itemize} + \item Qualcomm MSM8*: + \begin{itemize} + \item Fairphone: FP2 + \item LG: G3 (many versions) + \item OPPO: Find 7a/s + \item Samsung: Galaxy Note 3 LTE (Many versions) + \item Samsung: Galaxy S III Neo (2 versions) + \item Samsung: Galaxy S5 Active + \item Samsung: Galaxy S5 LTE (Many versions) + \item Samsung: Galaxy S5 LTE Duos (Many versions) + \item Wileyfox: Swift + \end{itemize} + \item Qualcomm APQ8* + \begin{itemize} + \item Samsung: Galaxy S4 (Many versions) + \item Samsung: Galaxy S4 Value Edition (GT-I9515/L) + \item Samsung: Galaxy S4 Active + \item Samsung: Galaxy S5 LTE-A + \item Samsung: Galaxy S5 Plus + \end{itemize} + \item Samsung Exynos 7580: + \begin{itemize} + \item Samsung: Galaxy S5 Neo + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \center{Limiting freedom, privacy and security attacks:} + \begin{itemize} + \item Isolated modem: + \begin{itemize} + \item Modem not in the SOC. + \item No shared memory (RAM) between the modem and the SOC. + \begin{itemize} + \item HSIC: USB-like, the host control re-enumeration. + \item MIPI: Should be OK, not extensively reviewed. + \end{itemize} + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \center{Devices supported by Lineage 16 with a removable battery:} + \begin{itemize} + \item \sout{Qualcomm MSM8*:} Modem in the SOC + \begin{itemize} + \item \sout{Fairphone: FP2} + \item \sout{LG: G3 (many versions)} + \item \sout{OPPO: Find 7a/s} + \item \sout{Samsung: Galaxy Note 3 LTE (Many versions)} + \item \sout{Samsung: Galaxy S III Neo (2 versions)} + \item \sout{Samsung: Galaxy S5 Active} + \item \sout{Samsung: Galaxy S5 LTE (Many versions)} + \item \sout{Samsung: Galaxy S5 LTE Duos (Many versions)} + \item \sout{Wileyfox: Swift} + \end{itemize} + \item Qualcomm APQ8* + \begin{itemize} + \item Samsung: Galaxy S4 (Many versions) + \item Samsung: Galaxy S4 Value Edition (GT-I9515/L) + \item Samsung: Galaxy S4 Active + \item Samsung: Galaxy S5 LTE-A + \item Samsung: Galaxy S5 Plus + \end{itemize} + \item Samsung Exynos 7580: + \begin{itemize} + \item \sout{Samsung: Galaxy S5 Neo} Modem $\leftrightarrow$ SOC: shared memory + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \center{Hmmm} + \begin{itemize} + \item $\rightarrow$ No Exynos with removable battery and isolated modem. + \item $\rightarrow$ All the devices supported by Replicant 6.0 have been dropped. + \item $\rightarrow$ We'd like to support the devices longer... + \item The APQ* also look interesting, we would need to do more research on it: + \begin{itemize} + \item Isolated modem? + \item Upstream support for the SOC? + \item Nonfree bootloader ($\sim$ BIOS+GRUB) (signed?) + \item Probably way more work needed (different modem, more upstreaming work). + \end{itemize} + \item We also took the decision when LineageOS didn't support these. + \end{itemize} +\end{frame} + +\section{Part III} +\begin{frame} + \center{Part III} +\end{frame} + +\begin{frame} + \center{Already supported by Replicant 6.0:} + \begin{itemize} + \item Galaxy SIII (I9300): Good upstream status, modem support lacking, and other small fixes to do. + \item Galaxy Note II (I9300): Good upstream status, modem and display support lacking. + \item Galaxy SIII 4G (I9305) and Galaxy Note II 4G (N7105): Different modem. + \end{itemize} +\end{frame} + +\begin{frame} + \center{Making devices more sustainable:} + \begin{itemize} + \item $\rightarrow$ Upstream Linux $\rightarrow$ We can support them longer. + \item $\rightarrow$ Most Replicant users and developers already have one. + \item $\rightarrow$ Known hardware that works and can still be bought second hand. + \item Remaining issues: + \begin{itemize} + %% $\rightarrow$ Repurpose the device and run GNU/Linux when not supported anymore. + \item RAM size and new Android versions. + \item Nonfree bootloader. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \center{Main blocker: Nonfree bootloader} + \begin{itemize} + \item Nonfree $\rightarrow$ Incentive to drop the device. + \item Partially free u-boot port $\rightarrow$ can't redistribute the nonfree part. + \item Research to understand if we can make it fully free (XBOOT). + \item Stock bootloader incompatible with Linux... + \end{itemize} +\end{frame} + +\begin{frame} + \center{Upstream Linux bootloader requirements} + Documentation/arm/Booting (since 2003): + \begin{verse} + The MMU must be off. + + Instruction cache may be on or off. + + Data cache must be off. + \end{verse} +\end{frame} + +\begin{frame} + \center{Some funding later...} +\end{frame} + +\begin{frame} + \center{Replicant 9.0:} + \begin{itemize} + \item Galaxy SIII booting, modem initialized. + \item Still work to do(testing, audio, networking, etc.). + \item Slowed down by conferences and other Replicant work (XBOOT, Replicant 6, etc). + \end{itemize} +\end{frame} + +\begin{frame} + \center{Future directions:} + \begin{itemize} + \item Finish the research on XBOOT. + \begin{itemize} + \item https://github.com/xboot/xboot + \end{itemize} + \item Look into devices like the PinePhone and the Librem5. + \item Share more work with GNU/Linux upstream (OFono, other hardware support libraries). + \end{itemize} +\end{frame} + +%% { +%% \setbeamercolor{background canvas}{bg=black} +%% \setbeamercolor{normal text}{fg=green} +%% \usebeamercolor*{normal text} +%% \begin{frame} +%% \center { +%% \less $\slash$ subversive \gtr +%% } +%% \end{frame} +%% } + +%% { +%% \setbeamercolor{background canvas}{bg=black} +%% \setbeamercolor{normal text}{fg=green} +%% \usebeamercolor*{normal text} +%% \begin{frame} +%% \center { +%% <real mode> +%% } +%% \end{frame} +%% } + + + +%% %% TODO: also add picture of the 8086 + internals +%% { +%% \setbeamercolor{normal text}{fg=green} +%% \usebeamercolor*{normal text} +%% \begin{frame} +%% \center { +%% %% From cpu/x86/16bit/entry16.inc in Coreboot +%% \begin{verbatim} +%% movw %cs, %ax +%% shlw $4, %ax +%% movw $nullidt_offset, %bx +%% subw %ax, %bx +%% lidt %cs:(%bx) +%% movw $gdtptr16_offset, %bx +%% subw %ax, %bx +%% lgdtl %cs:(%bx) +%% \end{verbatim} +%% } +%% \end{frame} +%% } + +%% { +%% \setbeamercolor{background canvas}{bg=white} +%% \setbeamercolor{normal text}{fg=black} +%% \usebeamercolor*{normal text} +%% \begin{frame} +%% \center { +%% How all that works in practice? +%% } +%% \end{frame} +%% } + +%% { +%% \setbeamercolor{background canvas}{bg=white} +%% \setbeamercolor{normal text}{fg=black} +%% \usebeamercolor*{normal text} +%% \begin{frame} +%% \center { +%% How all that works in practice? +%% } +%% \end{frame} +%% } + +%% \begin{frame} +%% Licenses: +%% \begin{itemize} +%% \item The SIM card and BTS pictures comes from \url{https://en.wikipedia.org/wiki/File:Gsm_network.png} and are under the GFDL 1.2 or the Creative commons Attributions-Share ALike 3.0 Unported. +%% \begin{itemize} +%% \item GSM: \url{http://wiki.openmoko.org/wiki/QtMoko} +%% \item SHR pictures: \url{http://wiki.openmoko.org/wiki/SHR_User_Manual} +%% \end{itemize} +%% \item HTC Dream: \url{https://commons.wikimedia.org/wiki/File:HTC_Dream_opened.jpg} +%% Creative Commons Attribution 3.0 Unported +%% \item \url{https://creativecommons.org/licenses/by-sa/4.0/} for the rest. +%% \end{itemize} +%% \end{frame} + +\begin{frame} + Licenses: + \begin{itemize} + \item The SIM card and BTS pictures comes from \url{https://en.wikipedia.org/wiki/File:Gsm_network.png} and are under the GFDL 1.2 or the Creative commons Attributions-Share ALike 3.0 Unported. + \item This presentation: CC-BY-SA 4.0 International. + \item The Galaxy SIII picture: CC-BY-SA 4.0 International. + \end{itemize} +\end{frame} + +\begin{thebibliography}{99} +\bibitem{stalin-dream} + \url{https://stallman.org/archives/2011-nov-feb.html} +\end{thebibliography} +\end{document} |